Skip to content

Commit

Permalink
Version 1.4.3
Browse files Browse the repository at this point in the history
  • Loading branch information
alexobviously committed May 30, 2024
1 parent 2091e40 commit 6040d59
Show file tree
Hide file tree
Showing 56 changed files with 322 additions and 61 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
### 1.4.3
- Separated the ideas of 'castling piece' and 'royal piece'. `PieceType` now has a `castling` field which determines whether a piece can castle. By default this is equal to `royal`, so most users don't need to worry about it - this is backwards compatible.
- The non-royal king in Kinglet chess can now castle.
- Variant: Extinction (`MiscVariants.extinction()`): game ends when a player doesn't have at least one of each piece type.

### 1.4.2
- Fixed an error with castling rights changes when a rook takes a rook.
- Fixed incorrect PGN formatting when the first move was black (thanks @govind-maheshwari2).
Expand Down
2 changes: 1 addition & 1 deletion example/example_variant.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Example",
"description": "An example variant for JSON serialisation",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.1",
"boardSize": "3x5",
"pieceTypes": {
"K": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/andernach.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Andernach Chess",
"description": "Capturing pieces, except for kings, change colour.",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/antichess.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Antichess",
"description": "Lose all your pieces to win.",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/atomic.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Atomic Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/berolina.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Berolina Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/breakthrough.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Breakthrough",
"description": "",
"bishopVersion": "1.4.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/capablanca.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Capablanca Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "10x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/chess.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/chess960.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Chess960",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
4 changes: 2 additions & 2 deletions example/json/clobber.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "Clobber",
"description": "",
"bishopVersion": "1.3.2",
"bishopVersion": "1.4.3",
"boardSize": "5x6",
"pieceTypes": {"P": {"betza": "cW"}},
"castlingOptions": {"enabled": false},
"promotionOptions": "bishop.promo.standard",
"promotionOptions": "bishop.promo.none",
"materialConditions": {"enabled": false},
"gameEndConditions": {
"stalemate": "lose",
Expand Down
4 changes: 2 additions & 2 deletions example/json/clobber10.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "Clobber10",
"description": "",
"bishopVersion": "1.3.2",
"bishopVersion": "1.4.3",
"boardSize": "10x10",
"pieceTypes": {"P": {"betza": "cW"}},
"castlingOptions": {"enabled": false},
"promotionOptions": "bishop.promo.standard",
"promotionOptions": "bishop.promo.none",
"materialConditions": {"enabled": false},
"gameEndConditions": {
"stalemate": "lose",
Expand Down
2 changes: 1 addition & 1 deletion example/json/crazyhouse.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Crazyhouse",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
6 changes: 5 additions & 1 deletion example/json/dart.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Dart",
"description": "",
"bishopVersion": "1.3.2",
"bishopVersion": "1.4.3",
"boardSize": "6x6",
"pieceTypes": {
"P": {
Expand All @@ -26,6 +26,10 @@
},
"X": {
"betza": "",
"promoOptions": {
"canPromote": false,
"canPromoteTo": false
},
"value": 0,
"actions": ["bishop.action.immortality"]
}
Expand Down
2 changes: 1 addition & 1 deletion example/json/dobutsu.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Dobutsu Shogi",
"description": "A simple Shogi variant aimed at children.",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "3x4",
"pieceTypes": {
"L": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/domination.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Domination",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
71 changes: 71 additions & 0 deletions example/json/extinction.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"name": "Extinction Chess",
"description": "The first player that does not have pieces of all types loses the game.",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
"betza": "fmWfceFifmnD",
"promoOptions": {
"canPromote": true,
"canPromoteTo": false
},
"enPassantable": true,
"noSanSymbol": true,
"value": 100
},
"N": {"betza": "N", "value": 300},
"B": {"betza": "B", "value": 300},
"R": {"betza": "R", "value": 500},
"Q": {"betza": "Q", "value": 900},
"K": {"betza": "K", "castling": true}
},
"castlingOptions": {
"enabled": true,
"kTarget": 6,
"qTarget": 2,
"fixedRooks": true,
"kRook": 7,
"qRook": 0,
"rookPiece": "R",
"useRookAsTarget": false
},
"promotionOptions": "bishop.promo.standard",
"materialConditions": {
"enabled": true,
"soloMaters": ["P", "Q", "R", "A", "C"],
"pairMaters": ["N"],
"combinedPairMaters": ["B"],
"specialCases": [["B", "N"]]
},
"startPosition": "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",
"enPassant": true,
"halfMoveDraw": 100,
"repetitionDraw": 3,
"actions": [
{
"id": "bishop.action.checkPieceCount",
"pieceType": "P"
},
{
"id": "bishop.action.checkPieceCount",
"pieceType": "N"
},
{
"id": "bishop.action.checkPieceCount",
"pieceType": "B"
},
{
"id": "bishop.action.checkPieceCount",
"pieceType": "R"
},
{
"id": "bishop.action.checkPieceCount",
"pieceType": "Q"
},
{
"id": "bishop.action.checkPieceCount",
"pieceType": "K"
}
]
}
2 changes: 1 addition & 1 deletion example/json/grand.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Grand Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "10x10",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/grasshopper.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Grasshopper Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
10 changes: 2 additions & 8 deletions example/json/hoppelPoppel.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Hoppel-Poppel",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down Expand Up @@ -38,13 +38,7 @@
"useRookAsTarget": false
},
"promotionOptions": "bishop.promo.standard",
"materialConditions": {
"enabled": true,
"soloMaters": ["P", "Q", "R", "A", "C"],
"pairMaters": ["N"],
"combinedPairMaters": ["B"],
"specialCases": [["B", "N"]]
},
"materialConditions": {"enabled": false},
"startPosition": "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",
"enPassant": true,
"halfMoveDraw": 100,
Expand Down
2 changes: 1 addition & 1 deletion example/json/horde.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Horde Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/jesonMor.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Jeson Mor",
"description": "Knights only. Move a knight onto the central square and off it again to win.",
"bishopVersion": "1.3.2",
"bishopVersion": "1.4.3",
"boardSize": "9x9",
"pieceTypes": {"N": {"betza": "N", "value": 300}},
"castlingOptions": {"enabled": false},
Expand Down
2 changes: 1 addition & 1 deletion example/json/joust.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Joust",
"description": "The square a piece moves from is removed from the boardafter each move.",
"bishopVersion": "1.4.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"N": {"betza": "mN"},
Expand Down
4 changes: 2 additions & 2 deletions example/json/kinglet.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Kinglet Chess",
"description": "The first player to capture all the opponent's pawns wins.",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down Expand Up @@ -46,7 +46,7 @@
},
"value": 900
},
"K": {"betza": "K"}
"K": {"betza": "K", "castling": true}
},
"castlingOptions": {
"enabled": true,
Expand Down
3 changes: 2 additions & 1 deletion example/json/knightmate.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Knightmate",
"description": "",
"bishopVersion": "1.4.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand All @@ -17,6 +17,7 @@
"N": {
"betza": "N",
"royal": true,
"castling": false,
"promoOptions": {
"canPromote": false,
"canPromoteTo": false
Expand Down
2 changes: 1 addition & 1 deletion example/json/kono.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Five Field Kono",
"description": "",
"bishopVersion": "1.4.0",
"bishopVersion": "1.4.3",
"boardSize": "5x5",
"pieceTypes": {"P": {"betza": "mF"}},
"castlingOptions": {"enabled": false},
Expand Down
2 changes: 1 addition & 1 deletion example/json/koth.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "King of the Hill",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/legan.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Legan Chess",
"description": "",
"bishopVersion": "1.3.2",
"bishopVersion": "1.4.3",
"boardSize": "8x8",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/manchu.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Manchu",
"description": "An asymmetric variant of Xiangqi, where red exchanges most oftheir pieces for one very powerful piece.",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "9x10",
"pieceTypes": {
"K": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/micro.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Micro Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "5x5",
"pieceTypes": {
"P": {
Expand Down
2 changes: 1 addition & 1 deletion example/json/mini.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Mini Chess",
"description": "",
"bishopVersion": "1.3.0",
"bishopVersion": "1.4.3",
"boardSize": "6x6",
"pieceTypes": {
"P": {
Expand Down
Loading

0 comments on commit 6040d59

Please sign in to comment.