[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]
Comments by epicurus
Mats, thanks. This solves part of the problem. The whole solution is this one:
(define shift1-check (
(set-flag found false)
START
(while (and (on-board? next) (not-flag? found))
(if (and (piece? King) friend?) (verify attacked?) (set-flag found true))
next
) (verify (flag? found))
back
$1
(verify not-friend?)
(set-flag found? false)
add
))
But, the problem is the huge computational complexity of this implementation. It takes some seconds just to calculate the movable pieces. So this solution is not a practical one.
I have tried to implement a solution with a dummy piece that check whether there is an attacked king, if so move a dummy piece. But it seems I don't know some basic concepts.
At the end of each players' moves, I want the dummy player do that:
- clear the position "king-check"
- scan all the boar
- if the king is attacked, then create a marker in position "king-check"
This is what I have implemented:
(define checking
(
cascade
(capture king-check)
add
(set-flag found false)
START
(while (and (on-board? next) (not-flag? found))
(if (and (piece? King) friend?) (verify attacked?) (set-flag found true))
next
)
(verify (flag? found))
back
(create Marker king-check)
)
)
Unlucky this solution doesn't work. Any ideas? :-)
(define shift1-check (
(set-flag found false)
START
(while (and (on-board? next) (not-flag? found))
(if (and (piece? King) friend?) (verify attacked?) (set-flag found true))
next
) (verify (flag? found))
back
$1
(verify not-friend?)
(set-flag found? false)
add
))
But, the problem is the huge computational complexity of this implementation. It takes some seconds just to calculate the movable pieces. So this solution is not a practical one.
I have tried to implement a solution with a dummy piece that check whether there is an attacked king, if so move a dummy piece. But it seems I don't know some basic concepts.
At the end of each players' moves, I want the dummy player do that:
- clear the position "king-check"
- scan all the boar
- if the king is attacked, then create a marker in position "king-check"
This is what I have implemented:
(define checking
(
cascade
(capture king-check)
add
(set-flag found false)
START
(while (and (on-board? next) (not-flag? found))
(if (and (piece? King) friend?) (verify attacked?) (set-flag found true))
next
)
(verify (flag? found))
back
(create Marker king-check)
)
)
Unlucky this solution doesn't work. Any ideas? :-)
Mats, with "add" the program still doesn't work. Anyway, I'm following your advice and simplify the rules. ;-)
Here the updated version of the game, with a new name too. :-)
PawnTrap
by Matteo Perlini
You can download the zillions file here: PawnTrap.
All rules of Orthodox Chess (FIDE Chess) apply, but with the following modifications:
1. if possible, it is mandatory to capture an enemy Pawn;
2. Bishops, rooks and queens can move just up to 3 squares;
3. stalemate is a loss for the stalemated opponent.
Let me know your feedbacks please. ;-)
You can download the zillions file here: PawnTrap.
All rules of Orthodox Chess (FIDE Chess) apply, but with the following modifications:
1. if possible, it is mandatory to capture an enemy Pawn;
2. Bishops, rooks and queens can move just up to 3 squares;
3. stalemate is a loss for the stalemated opponent.
Let me know your feedbacks please. ;-)
Hi Alfred, thanks for taking the time to test my game. 1) In that situation you can move the King in d2 because d2 is not under attack of the Knight. For each piece, if a piece can capture a Pawn, that piece have to capture that Pawn. So, in your situation the King is not moving into check. 2) This is a problem. If you read the previous messages in this topic you see I have tried to solve this problem, without success. I'm not able to implement the rule "if the King is in check, capturing a Pawn is no more mandatory". If you can solve this problem I would be grateful to you. :-) Anyway, I have found without this rule the game is playable as well.
Hi Kenneth, you are right. It is more important the horizontal of action (the exponent) than the branching factor (the base) for that exponentiation formula. But I believe that the formula num_turns^branch_fact is not a reliable measure for the depth of a game. I have two arguments: 1. We should count the number of important decisions per turn, not the general number of move per turn. Take this stupid game played on a goban: in every turn the player drop a single stone, the winning player is the last dropping player. This game is as deep as Go with that formula, actually it has zero depth. 2. If we have an opaque and/or a highly tactical game (with zero strategy) that has an average of 300 turn, those turns don't add extra depth to the game. About the first point, we usually can ignore it. But I believe the second point is important for designing a game. If we want true deep games, difficult for AI, we have to focus on big branching factor and extremely stratigical games. In my view a strategical game is a game in which is "easy" to look ahead and that this looking ahead is the central skill for winning the game. I’m trying to follow this way designing my cv Kingdrops: http://www.chessvariants.org/index/displaycomment.php?commentid=29503
I have updated the rules of KingDrops.
Unlucky I'm not able to implement the "exchanging rule" in Zillions language. Someone can help me about?
Unlucky I'm not able to implement the "exchanging rule" in Zillions language. Someone can help me about?
All rules of Orthodox Chess (FIDE Chess) apply, but with the following modification.
PIECES
4 spearmen: move one square straight forward
4 archers: move one square diagonally forward
2 rooks: move up to three square orthogonally (no castling)
2 bishops: move up to three square diagonally
2 guards: move to any orthogonally or diagonally adjacent space
1 queen: move up to two square orthogonally or diagonally
1 king: move to any orthogonally or diagonally adjacent space
SETUP
The game begins with an empty board. White player places in his first two rows all the pieces. The order of the pieces is up to the white player.
When White has finished, the same procedure is followed by the black player.
TURN
A player can make up to three moves per turn. He has to do the maximum number of moves available. If he has no move available, he pass.
One move consists in one of the two following actions:
- dropping a new piece in the board from the reserve;
- moving a pieces on the board that it is not moved or dropped in the present turn.
Just one drop per turn is allowed.
EXCHANGE
When a player captures a Spearman, an Archer or the King this piece is permanently removed from the game, but the other pieces go into the opponent's prison.
At the end of the turn, if a player has in his prison a type of piece already present in the opponent's prison (rook and rook; bishop and bishop; guard and guard; or queen and queen), there is the prisoners' exchange: the white piece in the black prison is moved to the white reserve, the black piece in the white prison is moved to the black reserve.
The prisoners' exchange is mandatory and is not a move.
DROPPING
Dropping consists in a player moving a piece from his reserve to the board, placing the piece in a empty square chosen between the eight squares adjacent to the king.
THE KING
- No check or checkmate.
- The king can move into a square under attack.
- The king can be captured like the other pieces.
- If the king is under attack, the player can move it only with the first move.
OBJECTIVE
The winner is the first player who reach one of the two following objectives:
- capturing the opposite king;
- getting the King or a Spearman or an Archer to the last row (the eighth row for the white player and the first one for the black player).
The three times repetition of the same position (considering the pieces on the board and in the reserve) is a loss.
[Rules updated on January 7, 2013]
PIECES
4 spearmen: move one square straight forward
4 archers: move one square diagonally forward
2 rooks: move up to three square orthogonally (no castling)
2 bishops: move up to three square diagonally
2 guards: move to any orthogonally or diagonally adjacent space
1 queen: move up to two square orthogonally or diagonally
1 king: move to any orthogonally or diagonally adjacent space
SETUP
The game begins with an empty board. White player places in his first two rows all the pieces. The order of the pieces is up to the white player.
When White has finished, the same procedure is followed by the black player.
TURN
A player can make up to three moves per turn. He has to do the maximum number of moves available. If he has no move available, he pass.
One move consists in one of the two following actions:
- dropping a new piece in the board from the reserve;
- moving a pieces on the board that it is not moved or dropped in the present turn.
Just one drop per turn is allowed.
EXCHANGE
When a player captures a Spearman, an Archer or the King this piece is permanently removed from the game, but the other pieces go into the opponent's prison.
At the end of the turn, if a player has in his prison a type of piece already present in the opponent's prison (rook and rook; bishop and bishop; guard and guard; or queen and queen), there is the prisoners' exchange: the white piece in the black prison is moved to the white reserve, the black piece in the white prison is moved to the black reserve.
The prisoners' exchange is mandatory and is not a move.
DROPPING
Dropping consists in a player moving a piece from his reserve to the board, placing the piece in a empty square chosen between the eight squares adjacent to the king.
THE KING
- No check or checkmate.
- The king can move into a square under attack.
- The king can be captured like the other pieces.
- If the king is under attack, the player can move it only with the first move.
OBJECTIVE
The winner is the first player who reach one of the two following objectives:
- capturing the opposite king;
- getting the King or a Spearman or an Archer to the last row (the eighth row for the white player and the first one for the black player).
The three times repetition of the same position (considering the pieces on the board and in the reserve) is a loss.
[Rules updated on January 7, 2013]
All rules of Orthodox Chess (FIDE Chess) apply, but with the following modification:
1. A non-royal piece (Queen, Rook, Bishop, Knight and Pawn) instead of capturing a non-royal piece it changes place with its attackable enemy or friend's pieces.
2. A non-royal piece doesn't swop with the (enemy or friend's) King, it just checks/checkmates the enemy's King.
3. King never swops, King can capture the other enemy's pieces.
3. Pawns promote when they move or swop to the last row. Pawns don't promote if they are swopped by a piece to the last row.
4. Repetition is a loss.
You can download the Zillions file here: SwopChess.
Your feedback would be greatly appreciated. :-)
1. A non-royal piece (Queen, Rook, Bishop, Knight and Pawn) instead of capturing a non-royal piece it changes place with its attackable enemy or friend's pieces.
2. A non-royal piece doesn't swop with the (enemy or friend's) King, it just checks/checkmates the enemy's King.
3. King never swops, King can capture the other enemy's pieces.
3. Pawns promote when they move or swop to the last row. Pawns don't promote if they are swopped by a piece to the last row.
4. Repetition is a loss.
You can download the Zillions file here: SwopChess.
Your feedback would be greatly appreciated. :-)
Hello everybody!
Finally I can post the Zillions file of KingsDrop: KingsDrop.
Unlucky I was not able to perfectly implement the "exchanging rule", sometimes it works, sometimes it doesn't. Someone can help me, please?
Finally I can post the Zillions file of KingsDrop: KingsDrop.
Unlucky I was not able to perfectly implement the "exchanging rule", sometimes it works, sometimes it doesn't. Someone can help me, please?
Below it is the last version of the rules. I think now they are more organic and simpler. (Maybe someone have noticed the small change of the name of the game. Eheh.)
I really interested in this my project, so I need your feedbacks. Please let me know your opinions.
All rules of Orthodox Chess (FIDE Chess) apply, but with the following modification.
PIECES
4 Spearmen: move one square straight forward or sidewards
4 Archers: move one square diagonally forward
2 Rooks: like FIDE Rooks but they move up to three square orthogonally (no castling)
2 Bishops: like FIDE Bishops but they move up to three square diagonally
2 Queens: like FIDE Queens but they move up to two square orthogonally or diagonally
2 Kings: move to any orthogonally or diagonally adjacent space
SETUP
The game begins with an empty board. White player places in his first two rows all the pieces. The order of the pieces is up to White.
When White has finished, the same procedure is followed by the Black.
TURN
A player can make up to three moves per turn. He has to do the maximum number of moves available. If he has no move available, he pass.
One move consists in one of the two following actions:
- dropping a new piece in the board from the reserve;
- moving a pieces on the board that it is not moved or dropped in the present turn.
Just one drop per turn is allowed.
EXCHANGE
When a player captures a Spearman, an Archer or a King, this piece is permanently removed from the game; but the other pieces (Bishop, Rook and Queen) go into the opponent's prison.
At the end of the turn, if a player has in his prison a type of piece already present in the opponent's prison (Rook and Rook; Bishop and Bishop; or Queen and Queen), there is the prisoners' exchange: the white piece in the black prison is moved to the white reserve, the black piece in the white prison is moved to the black reserve.
The prisoners' exchange is mandatory and it is not considered a move.
DROPPING
Dropping consists in moving a piece from own reserve to the board, placing the piece in an empty square adjacent to one of the Kings.
THE KINGS
- No check or checkmate.
- The King can move into a square under attack.
- The King can be captured like the other pieces.
OBJECTIVE
The winner is the first player who reach one of the two following objectives:
- capturing one of the two opposite Kings;
- getting a Spearman or an Archer to the last row (the eighth row for the white player and the first one for the black player).
The three times repetition of the same position (considering the pieces on the board and in the reserve) is a loss.
PIECES
4 Spearmen: move one square straight forward or sidewards
4 Archers: move one square diagonally forward
2 Rooks: like FIDE Rooks but they move up to three square orthogonally (no castling)
2 Bishops: like FIDE Bishops but they move up to three square diagonally
2 Queens: like FIDE Queens but they move up to two square orthogonally or diagonally
2 Kings: move to any orthogonally or diagonally adjacent space
SETUP
The game begins with an empty board. White player places in his first two rows all the pieces. The order of the pieces is up to White.
When White has finished, the same procedure is followed by the Black.
TURN
A player can make up to three moves per turn. He has to do the maximum number of moves available. If he has no move available, he pass.
One move consists in one of the two following actions:
- dropping a new piece in the board from the reserve;
- moving a pieces on the board that it is not moved or dropped in the present turn.
Just one drop per turn is allowed.
EXCHANGE
When a player captures a Spearman, an Archer or a King, this piece is permanently removed from the game; but the other pieces (Bishop, Rook and Queen) go into the opponent's prison.
At the end of the turn, if a player has in his prison a type of piece already present in the opponent's prison (Rook and Rook; Bishop and Bishop; or Queen and Queen), there is the prisoners' exchange: the white piece in the black prison is moved to the white reserve, the black piece in the white prison is moved to the black reserve.
The prisoners' exchange is mandatory and it is not considered a move.
DROPPING
Dropping consists in moving a piece from own reserve to the board, placing the piece in an empty square adjacent to one of the Kings.
THE KINGS
- No check or checkmate.
- The King can move into a square under attack.
- The King can be captured like the other pieces.
OBJECTIVE
The winner is the first player who reach one of the two following objectives:
- capturing one of the two opposite Kings;
- getting a Spearman or an Archer to the last row (the eighth row for the white player and the first one for the black player).
The three times repetition of the same position (considering the pieces on the board and in the reserve) is a loss.
9 comments displayed
Permalink to the exact comments currently displayed.
Your proposed solution, I guess, it is very cpu consuming, because for each move we have to scan all the board. In my last post I was talking about a neutral player that check if the king is in check before each player (and move a dummy-piece if it is so). What do you thing about it?
Anyhow, I have tried to implement your solution but I had a parse error. I defined the move in this way:
(define shift1-check (
START
(while (on-board? next) (if (and (piece? King) friend?) (verify attacked?) (set-flag found? true))
next
)
(verify found?)
$1
(verify not-friend?)
(set-flag found? false)
add
))
Where is the error?