Skip to content

Commit

Permalink
Apocalypse added
Browse files Browse the repository at this point in the history
  • Loading branch information
ericp committed Feb 10, 2025
1 parent ca928fc commit c84aaf5
Show file tree
Hide file tree
Showing 3 changed files with 383 additions and 0 deletions.
85 changes: 85 additions & 0 deletions Common/res/lud/board/war/replacement/eliminate/all/Apocalypse.lud
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
(define "Reach"
(then
(if (is In (last To) (if (= (mover) P1) (sites Top) (sites Bottom)))
(if
(> 2
(count Sites
in:(sites Occupied by:Mover component:(id "King" Mover))
)
)
(and
(remove (last To))
(add (piece (id "King" Mover)) (to (last To)))
)
(and
(remove (last To))
(moveAgain)
)
)
)
)
)

//-------------------------------------------------------------------------

(game "Apocalypse"
("TwoPlayersNorthSouth")
(equipment {
(board (square 5))
(regions P1 (sites Top))
(regions P2 (sites Bottom))
(piece "King" Each
("LeapCapture" "KnightWalk")
)
(piece "Pawn" Each
(or {
(move Step Forward (to if:(is Empty (to)))
("Reach")
)
(move Step
(directions {FR FL})
(to
if:("IsEnemyAt" (to))
(apply (remove (to)))
)
("Reach")
)
})
)
})
(rules
(start {
(place "Pawn1" (sites {"A2" "B1" "C1" "D1" "E2"}))
(place "King1" (sites {"A1" "E1"}))
(place "Pawn2" (sites {"A4" "B5" "C5" "D5" "E4"}))
(place "King2" (sites {"A5" "E5"}))
})
(play
(if ("SameTurn")
(move Add (piece (id "Pawn" Mover)) (to (sites Empty)))
(forEach Piece)
)
)
(end {
(if
(and
(= 0
(count Sites
in:(sites Occupied by:Next component:(id "Pawn" Next))
)
)
(not (is Mover Next))
)
(result Mover Win)
)
})
)
)

//-------------------------------------------------------------------------

(metadata
(info {

})
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
game=../Common/res/lud/board/war/replacement/eliminate/all/Apocalypse.lud
START GAME OPTIONS
END GAME OPTIONS
RNG internal state=97,-10,-113,-108,-23,-36,-120,-25
Move=[Move:mover=0,from=1,to=1,actions=[Add:type=Cell,to=1,what=3]]
Move=[Move:mover=0,from=2,to=2,actions=[Add:type=Cell,to=2,what=3]]
Move=[Move:mover=0,from=3,to=3,actions=[Add:type=Cell,to=3,what=3]]
Move=[Move:mover=0,from=5,to=5,actions=[Add:type=Cell,to=5,what=3]]
Move=[Move:mover=0,from=9,to=9,actions=[Add:type=Cell,to=9,what=3]]
Move=[Move:mover=0,from=0,to=0,actions=[Add:type=Cell,to=0,what=1]]
Move=[Move:mover=0,from=4,to=4,actions=[Add:type=Cell,to=4,what=1]]
Move=[Move:mover=0,from=15,to=15,actions=[Add:type=Cell,to=15,what=4]]
Move=[Move:mover=0,from=19,to=19,actions=[Add:type=Cell,to=19,what=4]]
Move=[Move:mover=0,from=21,to=21,actions=[Add:type=Cell,to=21,what=4]]
Move=[Move:mover=0,from=22,to=22,actions=[Add:type=Cell,to=22,what=4]]
Move=[Move:mover=0,from=23,to=23,actions=[Add:type=Cell,to=23,what=4]]
Move=[Move:mover=0,from=20,to=20,actions=[Add:type=Cell,to=20,what=2]]
Move=[Move:mover=0,from=24,to=24,actions=[Add:type=Cell,to=24,what=2]]
Move=[Move:mover=1,from=4,to=7,actions=[Move:typeFrom=Cell,from=4,typeTo=Cell,to=7,decision=true]]
Move=[Move:mover=2,from=20,to=11,actions=[Move:typeFrom=Cell,from=20,typeTo=Cell,to=11,decision=true]]
Move=[Move:mover=1,from=5,to=10,actions=[Move:typeFrom=Cell,from=5,typeTo=Cell,to=10,decision=true]]
Move=[Move:mover=2,from=11,to=2,actions=[Remove:type=Cell,to=2],[Move:typeFrom=Cell,from=11,typeTo=Cell,to=2,decision=true]]
Move=[Move:mover=1,from=7,to=4,actions=[Move:typeFrom=Cell,from=7,typeTo=Cell,to=4,decision=true]]
Move=[Move:mover=2,from=24,to=17,actions=[Move:typeFrom=Cell,from=24,typeTo=Cell,to=17,decision=true]]
Move=[Move:mover=1,from=1,to=6,actions=[Move:typeFrom=Cell,from=1,typeTo=Cell,to=6,decision=true]]
Move=[Move:mover=2,from=2,to=11,actions=[Move:typeFrom=Cell,from=2,typeTo=Cell,to=11,decision=true]]
Move=[Move:mover=1,from=4,to=13,actions=[Move:typeFrom=Cell,from=4,typeTo=Cell,to=13,decision=true]]
Move=[Move:mover=2,from=11,to=8,actions=[Move:typeFrom=Cell,from=11,typeTo=Cell,to=8,decision=true]]
Move=[Move:mover=1,from=13,to=16,actions=[Move:typeFrom=Cell,from=13,typeTo=Cell,to=16,decision=true]]
Move=[Move:mover=2,from=17,to=14,actions=[Move:typeFrom=Cell,from=17,typeTo=Cell,to=14,decision=true]]
Move=[Move:mover=1,from=16,to=7,actions=[Move:typeFrom=Cell,from=16,typeTo=Cell,to=7,decision=true]]
Move=[Move:mover=2,from=22,to=17,actions=[Move:typeFrom=Cell,from=22,typeTo=Cell,to=17,decision=true]]
Move=[Move:mover=1,from=7,to=18,actions=[Move:typeFrom=Cell,from=7,typeTo=Cell,to=18,decision=true]]
Move=[Move:mover=2,from=8,to=11,actions=[Move:typeFrom=Cell,from=8,typeTo=Cell,to=11,decision=true]]
Move=[Move:mover=1,from=18,to=21,actions=[Remove:type=Cell,to=21],[Move:typeFrom=Cell,from=18,typeTo=Cell,to=21,decision=true]]
Move=[Move:mover=2,from=11,to=2,actions=[Move:typeFrom=Cell,from=11,typeTo=Cell,to=2,decision=true]]
Move=[Move:mover=1,from=6,to=11,actions=[Move:typeFrom=Cell,from=6,typeTo=Cell,to=11,decision=true]]
Move=[Move:mover=2,from=14,to=7,actions=[Move:typeFrom=Cell,from=14,typeTo=Cell,to=7,decision=true]]
Move=[Move:mover=1,from=3,to=8,actions=[Move:typeFrom=Cell,from=3,typeTo=Cell,to=8,decision=true]]
Move=[Move:mover=2,from=2,to=5,actions=[Move:typeFrom=Cell,from=2,typeTo=Cell,to=5,decision=true]]
Move=[Move:mover=1,from=8,to=13,actions=[Move:typeFrom=Cell,from=8,typeTo=Cell,to=13,decision=true]]
Move=[Move:mover=2,from=7,to=10,actions=[Remove:type=Cell,to=10],[Move:typeFrom=Cell,from=7,typeTo=Cell,to=10,decision=true]]
Move=[Move:mover=1,from=0,to=7,actions=[Move:typeFrom=Cell,from=0,typeTo=Cell,to=7,decision=true]]
Move=[Move:mover=2,from=10,to=21,actions=[Remove:type=Cell,to=21],[Move:typeFrom=Cell,from=10,typeTo=Cell,to=21,decision=true]]
Move=[Move:mover=1,from=7,to=14,actions=[Move:typeFrom=Cell,from=7,typeTo=Cell,to=14,decision=true]]
Move=[Move:mover=2,from=21,to=10,actions=[Move:typeFrom=Cell,from=21,typeTo=Cell,to=10,decision=true]]
Move=[Move:mover=1,from=11,to=16,actions=[Move:typeFrom=Cell,from=11,typeTo=Cell,to=16,decision=true]]
Move=[Move:mover=2,from=5,to=2,actions=[Move:typeFrom=Cell,from=5,typeTo=Cell,to=2,decision=true]]
Move=[Move:mover=1,from=14,to=3,actions=[Move:typeFrom=Cell,from=14,typeTo=Cell,to=3,decision=true]]
Move=[Move:mover=2,from=17,to=12,actions=[Move:typeFrom=Cell,from=17,typeTo=Cell,to=12,decision=true]]
Move=[Move:mover=1,from=3,to=12,actions=[Remove:type=Cell,to=12],[Move:typeFrom=Cell,from=3,typeTo=Cell,to=12,decision=true]]
Move=[Move:mover=2,from=10,to=21,actions=[Move:typeFrom=Cell,from=10,typeTo=Cell,to=21,decision=true]]
Move=[Move:mover=1,from=12,to=5,actions=[Move:typeFrom=Cell,from=12,typeTo=Cell,to=5,decision=true]]
Move=[Move:mover=2,from=21,to=18,actions=[Move:typeFrom=Cell,from=21,typeTo=Cell,to=18,decision=true]]
Move=[Move:mover=1,from=5,to=2,actions=[Remove:type=Cell,to=2],[Move:typeFrom=Cell,from=5,typeTo=Cell,to=2,decision=true]]
Move=[Move:mover=2,from=19,to=13,actions=[Remove:type=Cell,to=13],[Move:typeFrom=Cell,from=19,typeTo=Cell,to=13,decision=true]]
Move=[Move:mover=1,from=9,to=13,actions=[Remove:type=Cell,to=13],[Move:typeFrom=Cell,from=9,typeTo=Cell,to=13,decision=true]]
Move=[Move:mover=2,from=18,to=7,actions=[Move:typeFrom=Cell,from=18,typeTo=Cell,to=7,decision=true]]
Move=[Move:mover=1,from=16,to=21,actions=[Move:typeFrom=Cell,from=16,typeTo=Cell,to=21,decision=true],[Remove:type=Cell,to=21],[Add:type=Cell,to=21,what=1]]
Move=[Move:mover=2,from=15,to=10,actions=[Move:typeFrom=Cell,from=15,typeTo=Cell,to=10,decision=true]]
Move=[Move:mover=1,from=21,to=10,actions=[Remove:type=Cell,to=10],[Move:typeFrom=Cell,from=21,typeTo=Cell,to=10,decision=true]]
Move=[Move:mover=2,from=7,to=0,actions=[Move:typeFrom=Cell,from=7,typeTo=Cell,to=0,decision=true]]
Move=[Move:mover=1,from=10,to=7,actions=[Move:typeFrom=Cell,from=10,typeTo=Cell,to=7,decision=true]]
Move=[Move:mover=2,from=0,to=11,actions=[Move:typeFrom=Cell,from=0,typeTo=Cell,to=11,decision=true]]
Move=[Move:mover=1,from=13,to=18,actions=[Move:typeFrom=Cell,from=13,typeTo=Cell,to=18,decision=true]]
Move=[Move:mover=2,from=11,to=2,actions=[Remove:type=Cell,to=2],[Move:typeFrom=Cell,from=11,typeTo=Cell,to=2,decision=true]]
Move=[Move:mover=1,from=7,to=14,actions=[Move:typeFrom=Cell,from=7,typeTo=Cell,to=14,decision=true]]
Move=[Move:mover=2,from=2,to=11,actions=[Move:typeFrom=Cell,from=2,typeTo=Cell,to=11,decision=true]]
Move=[Move:mover=1,from=14,to=7,actions=[Move:typeFrom=Cell,from=14,typeTo=Cell,to=7,decision=true]]
Move=[Move:mover=2,from=11,to=20,actions=[Move:typeFrom=Cell,from=11,typeTo=Cell,to=20,decision=true]]
Move=[Move:mover=1,from=7,to=14,actions=[Move:typeFrom=Cell,from=7,typeTo=Cell,to=14,decision=true]]
Move=[Move:mover=2,from=20,to=17,actions=[Move:typeFrom=Cell,from=20,typeTo=Cell,to=17,decision=true]]
Move=[Move:mover=1,from=14,to=23,actions=[Remove:type=Cell,to=23],[Move:typeFrom=Cell,from=14,typeTo=Cell,to=23,decision=true]]
LEGAL MOVES LIST SIZE = 9
LEGAL MOVES LIST SIZE = 9
LEGAL MOVES LIST SIZE = 11
LEGAL MOVES LIST SIZE = 11
LEGAL MOVES LIST SIZE = 8
LEGAL MOVES LIST SIZE = 10
LEGAL MOVES LIST SIZE = 7
LEGAL MOVES LIST SIZE = 13
LEGAL MOVES LIST SIZE = 6
LEGAL MOVES LIST SIZE = 15
LEGAL MOVES LIST SIZE = 9
LEGAL MOVES LIST SIZE = 10
LEGAL MOVES LIST SIZE = 7
LEGAL MOVES LIST SIZE = 9
LEGAL MOVES LIST SIZE = 6
LEGAL MOVES LIST SIZE = 6
LEGAL MOVES LIST SIZE = 6
LEGAL MOVES LIST SIZE = 10
LEGAL MOVES LIST SIZE = 6
LEGAL MOVES LIST SIZE = 10
LEGAL MOVES LIST SIZE = 9
LEGAL MOVES LIST SIZE = 15
LEGAL MOVES LIST SIZE = 8
LEGAL MOVES LIST SIZE = 16
LEGAL MOVES LIST SIZE = 11
LEGAL MOVES LIST SIZE = 13
LEGAL MOVES LIST SIZE = 13
LEGAL MOVES LIST SIZE = 13
LEGAL MOVES LIST SIZE = 10
LEGAL MOVES LIST SIZE = 10
LEGAL MOVES LIST SIZE = 8
LEGAL MOVES LIST SIZE = 12
LEGAL MOVES LIST SIZE = 7
LEGAL MOVES LIST SIZE = 11
LEGAL MOVES LIST SIZE = 10
LEGAL MOVES LIST SIZE = 11
LEGAL MOVES LIST SIZE = 5
LEGAL MOVES LIST SIZE = 7
LEGAL MOVES LIST SIZE = 6
LEGAL MOVES LIST SIZE = 5
LEGAL MOVES LIST SIZE = 5
LEGAL MOVES LIST SIZE = 8
LEGAL MOVES LIST SIZE = 7
LEGAL MOVES LIST SIZE = 7
LEGAL MOVES LIST SIZE = 8
LEGAL MOVES LIST SIZE = 3
LEGAL MOVES LIST SIZE = 10
LEGAL MOVES LIST SIZE = 6
LEGAL MOVES LIST SIZE = 5
LEGAL MOVES LIST SIZE = 4
LEGAL MOVES LIST SIZE = 4
LEGAL MOVES LIST SIZE = 6
LEGAL MOVES LIST SIZE = 5
LEGAL MOVES LIST SIZE = 2
LEGAL MOVES LIST SIZE = 4
numInitialPlacementMoves=14
winner=1
endtype=NaturalEnd
rankings=0.0,1.0,2.0
SANDBOX=false
LUDII_VERSION=1.3.13
Loading

0 comments on commit c84aaf5

Please sign in to comment.