From 0e194e3fdf803dca638aff1d0c40b2d70cfe4b4e Mon Sep 17 00:00:00 2001 From: Stefano Rivera Date: Sat, 17 May 2014 21:05:12 +0200 Subject: [PATCH] Introduction level --- data/location_decks/introduction.yaml | 251 ++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) create mode 100644 data/location_decks/introduction.yaml diff --git a/data/location_decks/introduction.yaml b/data/location_decks/introduction.yaml new file mode 100644 index 0000000..4f7979b --- /dev/null +++ b/data/location_decks/introduction.yaml @@ -0,0 +1,251 @@ +description: "Introduction" +puzzle: true + +# This field is ignored, but it's a useful place to put some action definitions +# we can reference later. +_action_definitions: + - &NULL-ACTION + action_class: 'DoNothing' + required_bits: [] + data: + message: "Nothing to see here." + + - &NULL-CARD + card_name: 'null' + actions: + - *NULL-ACTION + + - &STEP1-ACTION + action_class: 'DoNothing' + required_bits: [] + data: + message: "Welcome to the game. You can only move to chequered squares, therefore you can stay here or move right." + + - &STEP1-CARD + card_name: 'step1' + actions: + - *STEP1-ACTION + + - &STEP2-ACTION + action_class: 'SetBits' + required_bits: [] + data: + message: "Moving to a tile requires picking an action. Some tiles' actions set bits on your robot. Such as the {SOUTH} bit." + + - &STEP2-CARD + card_name: 'step2' + bits: [SOUTH] + actions: + - *STEP2-ACTION + + - &STEP3-ACTION + action_class: 'ClearBits' + required_bits: [] + data: + message: "Other tiles' actions clear bits. {SOUTH} or {EAST}. For the next part of the tutorial, we are going to strictly control your movement bits." + + - &STEP3-CARD-1 + card_name: 'step3-1' + bits: [SOUTH, WEST] + actions: + - *STEP3-ACTION + + - &STEP3-CARD-2 + card_name: 'step3-2' + bits: [EAST] + actions: + - *STEP3-ACTION + + - &STEP4-ACTION + action_class: 'SetBits' + required_bits: [] + data: + message: "There are key bits that can be set, such as {RED}. They may be required by actions." + + - &STEP4-CARD + card_name: 'step4' + bits: [RED, SOUTH, EAST] + actions: + - *STEP4-ACTION + + - &STEP5-ACTION-BLUE + action_class: 'GenericBits' + required_bits: [BLUE] + data: + message: "You need to have the {BLUE} bit, to use this action and continue. Some actions have more complex requirements." + set: [EAST] + clear: [NORTH, SOUTH, WEST] + + - &STEP5-ACTION-DEFAULT + action_class: 'GenericBits' + required_bits: [] + data: + message: "Go back." + set: [WEST] + clear: [EAST, SOUTH, NORTH] + + - &STEP5-CARD + card_name: 'step5' + bits: [] + actions: + - *STEP5-ACTION-BLUE + - *STEP5-ACTION-DEFAULT + + - &STEP6-ACTION-RED + action_class: 'GenericBits' + required_bits: [RED] + data: + message: "You need to have the {RED} bit, to use this action to set the {BLUE} bit." + set: [NORTH, BLUE] + clear: [SOUTH, EAST, WEST] + + - &STEP6-ACTION-DEFAULT + action_class: 'GenericBits' + required_bits: [] + data: + message: "This action doesn't require anything. Go back." + set: [NORTH] + clear: [SOUTH, EAST, WEST] + + - &STEP6-CARD + card_name: 'step6' + bits: [BLUE] + actions: + - *STEP6-ACTION-RED + - *STEP6-ACTION-DEFAULT + + - &STEP7-ACTION + action_class: 'SetBits' + required_bits: [] + data: + message: "Almost there. You have free reign on this column. Collect yourself a win bit {WINTOKEN} to finish the level. Good luck!" + + - &STEP7-CARD + card_name: 'step7' + bits: [NORTH, SOUTH] + actions: + - *STEP7-ACTION + + - &STEP8-ACTION-DEFAULT + action_class: 'LoseHealthOrMSB' + required_bits: [] + data: + message: "Losing health {HEALTH} is a bad idea..." + + - &STEP8-ACTION-GREEN + action_class: 'SetBits' + required_bits: [BLUE, RED] + + - &STEP8-CARD + card_name: 'step8' + bits: [GREEN] + actions: + - *STEP8-ACTION-DEFAULT + - *STEP8-ACTION-GREEN + + - &STEP9-ACTION + action_class: 'ToggleBits' + required_bits: [] + data: + message: "I wonder what the most significant bit {MSB} does..." + + - &STEP9-CARD + card_name: 'step9' + bits: [MSB] + actions: + - *STEP9-ACTION + + - &STEP10-ACTION + action_class: 'ShiftLocations' + required_bits: [GREEN] + data: + direction: EAST + message: "Some actions change the game board." + + - &STEP10-CARD + card_name: 'step10' + actions: + - *STEP10-ACTION + + - &STEP11-ACTION + action_class: 'GenericBits' + required_bits: [] + data: + message: "We may have lied to you." + set: [WEST] + clear: [NORTH, SOUTH, EAST] + + - &STEP11-CARD + card_name: 'step11' + actions: + - *STEP11-ACTION + + - &STEP12-ACTION + action_class: 'GenericBits' + required_bits: [] + data: + set: [NORTH] + clear: [SOUTH, EAST, WEST] + + - &STEP12-CARD + card_name: 'step12' + actions: + - *STEP12-ACTION + + - &STEP13-ACTION + action_class: 'GenericBits' + required_bits: [] + data: + set: [EAST, NORTH, SOUTH] + clear: [WEST] + + - &STEP13-CARD + card_name: 'step13' + actions: + - *STEP13-ACTION + + - &WIN-ACTION + action_class: 'AcquireWinToken' + required_bits: [RED, GREEN, BLUE] + + - &WIN-CARD + card_name: 'win' + actions: + - *WIN-ACTION + +cards: + - *STEP1-CARD + - *STEP2-CARD + - *STEP3-CARD-2 + - *NULL-CARD + - *STEP8-CARD + + - *NULL-CARD + - *STEP3-CARD-1 + - *STEP4-CARD + - *STEP5-CARD + - *STEP7-CARD + + - *NULL-CARD + - *NULL-CARD + - *STEP6-CARD + - *NULL-CARD + - *STEP9-CARD + + - *WIN-CARD + - *STEP13-CARD + - *STEP13-CARD + - *STEP13-CARD + - *STEP10-CARD + + - *NULL-CARD + - *NULL-CARD + - *NULL-CARD + - *STEP12-CARD + - *STEP11-CARD + +defaults: + initial_bits: 0x4 + initial_pos: [0, 0] + max_health: 7 + wins_required: 1 -- 2.34.1