--- /dev/null
+description: "Marathon"
+puzzle: true
+
+# This field is ignored, but it's a useful place to put some action definitions
+# we can reference later.
+_action_definitions:
+ - &DO-NOTHING
+ action_class: DoNothing
+ required_bits: []
+ - &WIN-ONCE
+ action_class: GenericBits
+ required_bits: [RED, GREEN, BLUE]
+ data:
+ clear: [RED, GREEN, BLUE]
+ acquire_win: true
+ once: true
+
+# This field is ignored, but it's a useful place to put some card definitions
+# we can reference later.
+_card_definitions:
+ - &WIN-CARD
+ card_name: 'test-win'
+ bits: [RED, GREEN, BLUE]
+ actions:
+ - *DO-NOTHING
+ - *WIN-ONCE
+ - &BORING
+ card_name: 'test-boring'
+ actions:
+ - *DO-NOTHING
+
+cards:
+ - *WIN-CARD
+ - *BORING
+ - *BORING
+ - *BORING
+ - *WIN-CARD
+
+ - *BORING
+ - *BORING
+ - *BORING
+ - *BORING
+ - *BORING
+
+ - *BORING
+ - *BORING
+ - *BORING
+ - *BORING
+ - *BORING
+
+ - *BORING
+ - *BORING
+ - *BORING
+ - *BORING
+ - *BORING
+
+ - *WIN-CARD
+ - *BORING
+ - *BORING
+ - *BORING
+ - *WIN-CARD
+++ /dev/null
-description: "Test Puzzle"
-puzzle: true
-
-# This field is ignored, but it's a useful place to put some action definitions
-# we can reference later.
-_action_definitions:
- # No-colour actions.
- - &SET-BITS-DEFAULT
- action_class: 'LoseHealthOrMSBAndSetBits'
- required_bits: []
- - &GAIN-HEALTH-DEFAULT
- action_class: 'GainHealthAndClearBitsOrMSB'
- required_bits: []
- - &TOGGLE-BITS-DEFAULT
- action_class: 'ToggleBits'
- required_bits: []
- - &BAD-DEFAULT
- action_class: 'LoseHealthOrMSB'
- required_bits: []
-
- # One-colour actions.
- - &SET-BITS-R
- action_class: 'SetBits'
- required_bits: [RED]
- - &SET-BITS-G
- action_class: 'SetBits'
- required_bits: [GREEN]
- - &SET-BITS-B
- action_class: 'SetBits'
- required_bits: [BLUE]
-
- - &SHIFT-N
- action_class: 'ShiftLocations'
- required_bits: [BLUE]
- data: {'direction': NORTH}
- - &SHIFT-S
- action_class: 'ShiftLocations'
- required_bits: [BLUE]
- data: {'direction': SOUTH}
- - &SHIFT-E
- action_class: 'ShiftLocations'
- required_bits: [GREEN]
- data: {'direction': EAST}
- - &SHIFT-W
- action_class: 'ShiftLocations'
- required_bits: [GREEN]
- data: {'direction': WEST}
-
- - &ROT-CW
- action_class: 'RotateLocations'
- required_bits: [RED]
- data: {'rot_direction': CLOCKWISE}
- - &ROT-CCW
- action_class: 'RotateLocations'
- required_bits: [RED]
- data: {'rot_direction': ANTICLOCKWISE}
-
- # Two-colour actions.
- - &KNIGHT-MOVE
- action_class: 'AllowChessMove'
- required_bits: [RED, GREEN]
- data: {'chesspiece': KNIGHT}
- - &CASTLE-MOVE
- action_class: 'AllowChessMove'
- required_bits: [RED, BLUE]
- data: {'chesspiece': CASTLE}
- - &BISHOP-MOVE
- action_class: 'AllowChessMove'
- required_bits: [GREEN, BLUE]
- data: {'chesspiece': BISHOP}
-
- - &HEAL-RG
- action_class: 'GainHealth'
- required_bits: [RED, GREEN]
- - &HEAL-RB
- action_class: 'GainHealth'
- required_bits: [RED, BLUE]
-
- # Three-colour actions.
- - &ACQUIRE-WIN-TOKEN
- action_class: 'AcquireWinToken'
- required_bits: [RED, GREEN, BLUE]
-
- # Test actions
- - &TEST-WIN
- action_class: 'AcquireWinToken'
- required_bits: []
- - &TEST-NULL
- action_class: 'DoNothing'
- required_bits: []
-
-# This field is ignored, but it's a useful place to put some card definitions
-# we can reference later.
-_card_definitions:
- - &TEST-WIN-CARD
- card_name: 'test-win'
- actions:
- - *TEST-WIN
- - &TEST-BORING
- card_name: 'test-boring'
- actions:
- - *TEST-NULL
-
-cards:
- - *TEST-WIN-CARD
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-WIN-CARD
-
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
-
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
-
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
-
- - *TEST-WIN-CARD
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-BORING
- - *TEST-WIN-CARD