diff --git a/data/scenarios/Challenges/00-ORDER.txt b/data/scenarios/Challenges/00-ORDER.txt index a1ae378e16..77247f60cc 100644 --- a/data/scenarios/Challenges/00-ORDER.txt +++ b/data/scenarios/Challenges/00-ORDER.txt @@ -1,29 +1,5 @@ -arbitrage.yaml -chess_horse.yaml -bridge-building.yaml -maypole.yaml -teleport.yaml -2048.yaml -word-search.yaml -gopher.yaml -ice-cream.yaml -combo-lock.yaml -hanoi.yaml -hackman.yaml -lights-out.yaml -bucket-brigade.yaml -wave.yaml -gallery.yaml -wolf-goat-cabbage.yaml -blender.yaml -dna.yaml -friend.yaml -pack-tetrominoes.yaml -dimsum.yaml -photocopier.yaml -telephone.yaml -flower-count.yaml +Story +Algorithmic +Logic Mazes -Ranching -Sokoban -Sliding Puzzles +Mechanics diff --git a/data/scenarios/Challenges/Algorithmic/00-ORDER.txt b/data/scenarios/Challenges/Algorithmic/00-ORDER.txt new file mode 100644 index 0000000000..33bd4e9f36 --- /dev/null +++ b/data/scenarios/Challenges/Algorithmic/00-ORDER.txt @@ -0,0 +1,5 @@ +2048.yaml +combo-lock.yaml +dimsum.yaml +gallery.yaml +word-search.yaml diff --git a/data/scenarios/Challenges/2048.yaml b/data/scenarios/Challenges/Algorithmic/2048.yaml similarity index 100% rename from data/scenarios/Challenges/2048.yaml rename to data/scenarios/Challenges/Algorithmic/2048.yaml diff --git a/data/scenarios/Challenges/_combo-lock/setup.sw b/data/scenarios/Challenges/Algorithmic/_combo-lock/setup.sw similarity index 100% rename from data/scenarios/Challenges/_combo-lock/setup.sw rename to data/scenarios/Challenges/Algorithmic/_combo-lock/setup.sw diff --git a/data/scenarios/Challenges/_combo-lock/solution.sw b/data/scenarios/Challenges/Algorithmic/_combo-lock/solution.sw similarity index 100% rename from data/scenarios/Challenges/_combo-lock/solution.sw rename to data/scenarios/Challenges/Algorithmic/_combo-lock/solution.sw diff --git a/data/scenarios/Challenges/_dimsum/cook.sw b/data/scenarios/Challenges/Algorithmic/_dimsum/cook.sw similarity index 100% rename from data/scenarios/Challenges/_dimsum/cook.sw rename to data/scenarios/Challenges/Algorithmic/_dimsum/cook.sw diff --git a/data/scenarios/Challenges/_dimsum/patron.sw b/data/scenarios/Challenges/Algorithmic/_dimsum/patron.sw similarity index 100% rename from data/scenarios/Challenges/_dimsum/patron.sw rename to data/scenarios/Challenges/Algorithmic/_dimsum/patron.sw diff --git a/data/scenarios/Challenges/_dimsum/solution.sw b/data/scenarios/Challenges/Algorithmic/_dimsum/solution.sw similarity index 100% rename from data/scenarios/Challenges/_dimsum/solution.sw rename to data/scenarios/Challenges/Algorithmic/_dimsum/solution.sw diff --git a/data/scenarios/Challenges/_gallery/setup.sw b/data/scenarios/Challenges/Algorithmic/_gallery/setup.sw similarity index 100% rename from data/scenarios/Challenges/_gallery/setup.sw rename to data/scenarios/Challenges/Algorithmic/_gallery/setup.sw diff --git a/data/scenarios/Challenges/_gallery/solution.sw b/data/scenarios/Challenges/Algorithmic/_gallery/solution.sw similarity index 100% rename from data/scenarios/Challenges/_gallery/solution.sw rename to data/scenarios/Challenges/Algorithmic/_gallery/solution.sw diff --git a/data/scenarios/Challenges/_word-search/create-puzzle.sw b/data/scenarios/Challenges/Algorithmic/_word-search/create-puzzle.sw similarity index 100% rename from data/scenarios/Challenges/_word-search/create-puzzle.sw rename to data/scenarios/Challenges/Algorithmic/_word-search/create-puzzle.sw diff --git a/data/scenarios/Challenges/_word-search/solution.sw b/data/scenarios/Challenges/Algorithmic/_word-search/solution.sw similarity index 100% rename from data/scenarios/Challenges/_word-search/solution.sw rename to data/scenarios/Challenges/Algorithmic/_word-search/solution.sw diff --git a/data/scenarios/Challenges/combo-lock.yaml b/data/scenarios/Challenges/Algorithmic/combo-lock.yaml similarity index 95% rename from data/scenarios/Challenges/combo-lock.yaml rename to data/scenarios/Challenges/Algorithmic/combo-lock.yaml index 53866b4570..8e51bde39a 100644 --- a/data/scenarios/Challenges/combo-lock.yaml +++ b/data/scenarios/Challenges/Algorithmic/combo-lock.yaml @@ -48,9 +48,9 @@ robots: display: invisible: true program: | - run "scenarios/Challenges/_combo-lock/setup.sw" + run "scenarios/Challenges/Algorithmic/_combo-lock/setup.sw" solution: | - run "scenarios/Challenges/_combo-lock/solution.sw" + run "scenarios/Challenges/Algorithmic/_combo-lock/solution.sw" entities: - name: gate display: diff --git a/data/scenarios/Challenges/dimsum.yaml b/data/scenarios/Challenges/Algorithmic/dimsum.yaml similarity index 94% rename from data/scenarios/Challenges/dimsum.yaml rename to data/scenarios/Challenges/Algorithmic/dimsum.yaml index d2d3edfb07..776ff5f653 100644 --- a/data/scenarios/Challenges/dimsum.yaml +++ b/data/scenarios/Challenges/Algorithmic/dimsum.yaml @@ -15,7 +15,7 @@ objectives: pure $ foodCount >= 2; } solution: | - run "scenarios/Challenges/_dimsum/solution.sw" + run "scenarios/Challenges/Algorithmic/_dimsum/solution.sw" attrs: - name: barrier fg: "#222222" @@ -54,7 +54,7 @@ robots: - scanner - spatula program: | - run "scenarios/Challenges/_dimsum/cook.sw" + run "scenarios/Challenges/Algorithmic/_dimsum/cook.sw" - name: patron dir: [0, 1] system: false @@ -75,7 +75,7 @@ robots: inventory: - [2, bitcoin] program: | - run "scenarios/Challenges/_dimsum/patron.sw" + run "scenarios/Challenges/Algorithmic/_dimsum/patron.sw" entities: - name: wall display: diff --git a/data/scenarios/Challenges/gallery.yaml b/data/scenarios/Challenges/Algorithmic/gallery.yaml similarity index 97% rename from data/scenarios/Challenges/gallery.yaml rename to data/scenarios/Challenges/Algorithmic/gallery.yaml index ca983feaed..d83bdee10b 100644 --- a/data/scenarios/Challenges/gallery.yaml +++ b/data/scenarios/Challenges/Algorithmic/gallery.yaml @@ -106,9 +106,9 @@ robots: display: invisible: true program: | - run "scenarios/Challenges/_gallery/setup.sw" + run "scenarios/Challenges/Algorithmic/_gallery/setup.sw" solution: | - run "scenarios/Challenges/_gallery/solution.sw" + run "scenarios/Challenges/Algorithmic/_gallery/solution.sw" entities: - name: wall display: diff --git a/data/scenarios/Challenges/word-search.yaml b/data/scenarios/Challenges/Algorithmic/word-search.yaml similarity index 96% rename from data/scenarios/Challenges/word-search.yaml rename to data/scenarios/Challenges/Algorithmic/word-search.yaml index ff6119374e..fa4efcd8ac 100644 --- a/data/scenarios/Challenges/word-search.yaml +++ b/data/scenarios/Challenges/Algorithmic/word-search.yaml @@ -50,7 +50,7 @@ robots: - [376, capital O] - [376, capital W] program: | - run "scenarios/Challenges/_word-search/create-puzzle.sw" + run "scenarios/Challenges/Algorithmic/_word-search/create-puzzle.sw" solution: | // Hard-coded for seed=2: def doN = \n. \f. if (n > 0) {f; doN (n - 1) f} {}; end; @@ -70,7 +70,7 @@ solution: | drill down; move; drill down; - // run "scenarios/Challenges/_word-search/solution.sw" + // run "scenarios/Challenges/Algorithmic/_word-search/solution.sw" entities: - name: capital C display: diff --git a/data/scenarios/Challenges/Logic/00-ORDER.txt b/data/scenarios/Challenges/Logic/00-ORDER.txt new file mode 100644 index 0000000000..727e2ad49d --- /dev/null +++ b/data/scenarios/Challenges/Logic/00-ORDER.txt @@ -0,0 +1,5 @@ +wolf-goat-cabbage.yaml +hanoi.yaml +lights-out.yaml +Sokoban +Sliding Puzzles diff --git a/data/scenarios/Challenges/Sliding Puzzles/00-ORDER.txt b/data/scenarios/Challenges/Logic/Sliding Puzzles/00-ORDER.txt similarity index 100% rename from data/scenarios/Challenges/Sliding Puzzles/00-ORDER.txt rename to data/scenarios/Challenges/Logic/Sliding Puzzles/00-ORDER.txt diff --git a/data/scenarios/Challenges/Sliding Puzzles/3x3.yaml b/data/scenarios/Challenges/Logic/Sliding Puzzles/3x3.yaml similarity index 97% rename from data/scenarios/Challenges/Sliding Puzzles/3x3.yaml rename to data/scenarios/Challenges/Logic/Sliding Puzzles/3x3.yaml index d7a78d1916..d762cb5448 100644 --- a/data/scenarios/Challenges/Sliding Puzzles/3x3.yaml +++ b/data/scenarios/Challenges/Logic/Sliding Puzzles/3x3.yaml @@ -28,7 +28,7 @@ objectives: succession. condition: | j <- robotnamed "setup"; - as j {run "scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/validate-board.sw"}; + as j {run "scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/validate-board.sw"}; robots: - name: base dir: east @@ -115,7 +115,7 @@ robots: - [24, x-tile-ordinal] - [25, y-tile-ordinal] program: | - run "scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/maintainer.sw"; + run "scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/maintainer.sw"; - name: setup system: true dir: east @@ -149,9 +149,9 @@ robots: - [24, x-tile-ordinal] - [25, y-tile-ordinal] program: | - run "scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/setup.sw"; + run "scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/setup.sw"; solution: | - run "scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/solution.sw" + run "scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/solution.sw" entities: - name: gradiator display: diff --git a/data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/design-commentary.md b/data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/design-commentary.md similarity index 100% rename from data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/design-commentary.md rename to data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/design-commentary.md diff --git a/data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/maintainer.sw b/data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/maintainer.sw similarity index 100% rename from data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/maintainer.sw rename to data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/maintainer.sw diff --git a/data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/setup.sw b/data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/setup.sw similarity index 100% rename from data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/setup.sw rename to data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/setup.sw diff --git a/data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/solution.sw b/data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/solution.sw similarity index 100% rename from data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/solution.sw rename to data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/solution.sw diff --git a/data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/validate-board.sw b/data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/validate-board.sw similarity index 100% rename from data/scenarios/Challenges/Sliding Puzzles/_sliding-puzzle/validate-board.sw rename to data/scenarios/Challenges/Logic/Sliding Puzzles/_sliding-puzzle/validate-board.sw diff --git a/data/scenarios/Challenges/Sokoban/00-ORDER.txt b/data/scenarios/Challenges/Logic/Sokoban/00-ORDER.txt similarity index 100% rename from data/scenarios/Challenges/Sokoban/00-ORDER.txt rename to data/scenarios/Challenges/Logic/Sokoban/00-ORDER.txt diff --git a/data/scenarios/Challenges/Sokoban/Gadgets/00-ORDER.txt b/data/scenarios/Challenges/Logic/Sokoban/Gadgets/00-ORDER.txt similarity index 100% rename from data/scenarios/Challenges/Sokoban/Gadgets/00-ORDER.txt rename to data/scenarios/Challenges/Logic/Sokoban/Gadgets/00-ORDER.txt diff --git a/data/scenarios/Challenges/Sokoban/Gadgets/README.md b/data/scenarios/Challenges/Logic/Sokoban/Gadgets/README.md similarity index 100% rename from data/scenarios/Challenges/Sokoban/Gadgets/README.md rename to data/scenarios/Challenges/Logic/Sokoban/Gadgets/README.md diff --git a/data/scenarios/Challenges/Sokoban/Gadgets/no-reverse.yaml b/data/scenarios/Challenges/Logic/Sokoban/Gadgets/no-reverse.yaml similarity index 100% rename from data/scenarios/Challenges/Sokoban/Gadgets/no-reverse.yaml rename to data/scenarios/Challenges/Logic/Sokoban/Gadgets/no-reverse.yaml diff --git a/data/scenarios/Challenges/Sokoban/Gadgets/one-way.yaml b/data/scenarios/Challenges/Logic/Sokoban/Gadgets/one-way.yaml similarity index 100% rename from data/scenarios/Challenges/Sokoban/Gadgets/one-way.yaml rename to data/scenarios/Challenges/Logic/Sokoban/Gadgets/one-way.yaml diff --git a/data/scenarios/Challenges/Sokoban/Simple/00-ORDER.txt b/data/scenarios/Challenges/Logic/Sokoban/Simple/00-ORDER.txt similarity index 100% rename from data/scenarios/Challenges/Sokoban/Simple/00-ORDER.txt rename to data/scenarios/Challenges/Logic/Sokoban/Simple/00-ORDER.txt diff --git a/data/scenarios/Challenges/Sokoban/Simple/trapdoor.yaml b/data/scenarios/Challenges/Logic/Sokoban/Simple/trapdoor.yaml similarity index 100% rename from data/scenarios/Challenges/Sokoban/Simple/trapdoor.yaml rename to data/scenarios/Challenges/Logic/Sokoban/Simple/trapdoor.yaml diff --git a/data/scenarios/Challenges/Sokoban/_foresight/solution.sw b/data/scenarios/Challenges/Logic/Sokoban/_foresight/solution.sw similarity index 100% rename from data/scenarios/Challenges/Sokoban/_foresight/solution.sw rename to data/scenarios/Challenges/Logic/Sokoban/_foresight/solution.sw diff --git a/data/scenarios/Challenges/Sokoban/foresight.yaml b/data/scenarios/Challenges/Logic/Sokoban/foresight.yaml similarity index 97% rename from data/scenarios/Challenges/Sokoban/foresight.yaml rename to data/scenarios/Challenges/Logic/Sokoban/foresight.yaml index 64c0d41911..e8a2bc9bcb 100644 --- a/data/scenarios/Challenges/Sokoban/foresight.yaml +++ b/data/scenarios/Challenges/Logic/Sokoban/foresight.yaml @@ -70,7 +70,7 @@ robots: - [5, strange loop] - [5, treads] solution: | - run "scenarios/Challenges/Sokoban/_foresight/solution.sw" + run "scenarios/Challenges/Logic/Sokoban/_foresight/solution.sw" entities: - name: monolith display: diff --git a/data/scenarios/Challenges/_hanoi/hanoi-count.sw b/data/scenarios/Challenges/Logic/_hanoi/hanoi-count.sw similarity index 100% rename from data/scenarios/Challenges/_hanoi/hanoi-count.sw rename to data/scenarios/Challenges/Logic/_hanoi/hanoi-count.sw diff --git a/data/scenarios/Challenges/_hanoi/hanoi-increasing.sw b/data/scenarios/Challenges/Logic/_hanoi/hanoi-increasing.sw similarity index 100% rename from data/scenarios/Challenges/_hanoi/hanoi-increasing.sw rename to data/scenarios/Challenges/Logic/_hanoi/hanoi-increasing.sw diff --git a/data/scenarios/Challenges/_hanoi/hanoi-invariant.sw b/data/scenarios/Challenges/Logic/_hanoi/hanoi-invariant.sw similarity index 100% rename from data/scenarios/Challenges/_hanoi/hanoi-invariant.sw rename to data/scenarios/Challenges/Logic/_hanoi/hanoi-invariant.sw diff --git a/data/scenarios/Challenges/_hanoi/hanoi-solution.sw b/data/scenarios/Challenges/Logic/_hanoi/hanoi-solution.sw similarity index 100% rename from data/scenarios/Challenges/_hanoi/hanoi-solution.sw rename to data/scenarios/Challenges/Logic/_hanoi/hanoi-solution.sw diff --git a/data/scenarios/Challenges/_lights-out/assistant.sw b/data/scenarios/Challenges/Logic/_lights-out/assistant.sw similarity index 100% rename from data/scenarios/Challenges/_lights-out/assistant.sw rename to data/scenarios/Challenges/Logic/_lights-out/assistant.sw diff --git a/data/scenarios/Challenges/_lights-out/design-commentary.md b/data/scenarios/Challenges/Logic/_lights-out/design-commentary.md similarity index 100% rename from data/scenarios/Challenges/_lights-out/design-commentary.md rename to data/scenarios/Challenges/Logic/_lights-out/design-commentary.md diff --git a/data/scenarios/Challenges/_lights-out/solution.sw b/data/scenarios/Challenges/Logic/_lights-out/solution.sw similarity index 100% rename from data/scenarios/Challenges/_lights-out/solution.sw rename to data/scenarios/Challenges/Logic/_lights-out/solution.sw diff --git a/data/scenarios/Challenges/_wolf-goat-cabbage/cross.sw b/data/scenarios/Challenges/Logic/_wolf-goat-cabbage/cross.sw similarity index 100% rename from data/scenarios/Challenges/_wolf-goat-cabbage/cross.sw rename to data/scenarios/Challenges/Logic/_wolf-goat-cabbage/cross.sw diff --git a/data/scenarios/Challenges/_wolf-goat-cabbage/multi-item-possession.sw b/data/scenarios/Challenges/Logic/_wolf-goat-cabbage/multi-item-possession.sw similarity index 100% rename from data/scenarios/Challenges/_wolf-goat-cabbage/multi-item-possession.sw rename to data/scenarios/Challenges/Logic/_wolf-goat-cabbage/multi-item-possession.sw diff --git a/data/scenarios/Challenges/_wolf-goat-cabbage/together-on-east-bank.sw b/data/scenarios/Challenges/Logic/_wolf-goat-cabbage/together-on-east-bank.sw similarity index 100% rename from data/scenarios/Challenges/_wolf-goat-cabbage/together-on-east-bank.sw rename to data/scenarios/Challenges/Logic/_wolf-goat-cabbage/together-on-east-bank.sw diff --git a/data/scenarios/Challenges/_wolf-goat-cabbage/unattended-together.sw b/data/scenarios/Challenges/Logic/_wolf-goat-cabbage/unattended-together.sw similarity index 100% rename from data/scenarios/Challenges/_wolf-goat-cabbage/unattended-together.sw rename to data/scenarios/Challenges/Logic/_wolf-goat-cabbage/unattended-together.sw diff --git a/data/scenarios/Challenges/hanoi.yaml b/data/scenarios/Challenges/Logic/hanoi.yaml similarity index 93% rename from data/scenarios/Challenges/hanoi.yaml rename to data/scenarios/Challenges/Logic/hanoi.yaml index cb68b29455..6f291d2e8a 100644 --- a/data/scenarios/Challenges/hanoi.yaml +++ b/data/scenarios/Challenges/Logic/hanoi.yaml @@ -15,7 +15,7 @@ objectives: z <- ishere "blocked three"; pure (x && y && z) solution: | - run "scenarios/Challenges/_hanoi/hanoi-solution.sw" + run "scenarios/Challenges/Logic/_hanoi/hanoi-solution.sw" robots: - name: base dir: south @@ -58,7 +58,7 @@ robots: // 1. place north of me is NOT empty // then // - lock X - run "scenarios/Challenges/_hanoi/hanoi-invariant.sw" + run "scenarios/Challenges/Logic/_hanoi/hanoi-invariant.sw" - name: increasing dir: [0, 0] system: true @@ -73,7 +73,7 @@ robots: // - place "OK" // else // - try to grab "OK" - run "scenarios/Challenges/_hanoi/hanoi-increasing.sw" + run "scenarios/Challenges/Logic/_hanoi/hanoi-increasing.sw" - name: count dir: [0, 0] system: true @@ -86,7 +86,7 @@ robots: // count all entities placed in columns // the final count should be either 2 or 3 // place "two" or "three" at x=0 y=-6 - run "scenarios/Challenges/_hanoi/hanoi-count.sw" + run "scenarios/Challenges/Logic/_hanoi/hanoi-count.sw" entities: - name: bottom tee display: diff --git a/data/scenarios/Challenges/lights-out.yaml b/data/scenarios/Challenges/Logic/lights-out.yaml similarity index 96% rename from data/scenarios/Challenges/lights-out.yaml rename to data/scenarios/Challenges/Logic/lights-out.yaml index 67c9ee7aa4..9cecfbd53a 100644 --- a/data/scenarios/Challenges/lights-out.yaml +++ b/data/scenarios/Challenges/Logic/lights-out.yaml @@ -95,9 +95,9 @@ robots: display: invisible: true program: | - run "scenarios/Challenges/_lights-out/assistant.sw"; + run "scenarios/Challenges/Logic/_lights-out/assistant.sw"; solution: | - run "scenarios/Challenges/_lights-out/solution.sw" + run "scenarios/Challenges/Logic/_lights-out/solution.sw" entities: - name: pending-off display: diff --git a/data/scenarios/Challenges/wolf-goat-cabbage.yaml b/data/scenarios/Challenges/Logic/wolf-goat-cabbage.yaml similarity index 100% rename from data/scenarios/Challenges/wolf-goat-cabbage.yaml rename to data/scenarios/Challenges/Logic/wolf-goat-cabbage.yaml diff --git a/data/scenarios/Challenges/Mechanics/00-ORDER.txt b/data/scenarios/Challenges/Mechanics/00-ORDER.txt new file mode 100644 index 0000000000..47bb3cde00 --- /dev/null +++ b/data/scenarios/Challenges/Mechanics/00-ORDER.txt @@ -0,0 +1,9 @@ +chess_horse.yaml +teleport.yaml +wave.yaml +maypole.yaml +pack-tetrominoes.yaml +bucket-brigade.yaml +friend.yaml +photocopier.yaml +telephone.yaml diff --git a/data/scenarios/Challenges/_bucket-brigade/brigade.sw b/data/scenarios/Challenges/Mechanics/_bucket-brigade/brigade.sw similarity index 100% rename from data/scenarios/Challenges/_bucket-brigade/brigade.sw rename to data/scenarios/Challenges/Mechanics/_bucket-brigade/brigade.sw diff --git a/data/scenarios/Challenges/_bucket-brigade/hauler.sw b/data/scenarios/Challenges/Mechanics/_bucket-brigade/hauler.sw similarity index 100% rename from data/scenarios/Challenges/_bucket-brigade/hauler.sw rename to data/scenarios/Challenges/Mechanics/_bucket-brigade/hauler.sw diff --git a/data/scenarios/Challenges/_bucket-brigade/powerplant.sw b/data/scenarios/Challenges/Mechanics/_bucket-brigade/powerplant.sw similarity index 100% rename from data/scenarios/Challenges/_bucket-brigade/powerplant.sw rename to data/scenarios/Challenges/Mechanics/_bucket-brigade/powerplant.sw diff --git a/data/scenarios/Challenges/_friend/cat.sw b/data/scenarios/Challenges/Mechanics/_friend/cat.sw similarity index 100% rename from data/scenarios/Challenges/_friend/cat.sw rename to data/scenarios/Challenges/Mechanics/_friend/cat.sw diff --git a/data/scenarios/Challenges/_friend/friend-solution.sw b/data/scenarios/Challenges/Mechanics/_friend/friend-solution.sw similarity index 100% rename from data/scenarios/Challenges/_friend/friend-solution.sw rename to data/scenarios/Challenges/Mechanics/_friend/friend-solution.sw diff --git a/data/scenarios/Challenges/_maypole/monitor.sw b/data/scenarios/Challenges/Mechanics/_maypole/monitor.sw similarity index 100% rename from data/scenarios/Challenges/_maypole/monitor.sw rename to data/scenarios/Challenges/Mechanics/_maypole/monitor.sw diff --git a/data/scenarios/Challenges/_maypole/solution.sw b/data/scenarios/Challenges/Mechanics/_maypole/solution.sw similarity index 100% rename from data/scenarios/Challenges/_maypole/solution.sw rename to data/scenarios/Challenges/Mechanics/_maypole/solution.sw diff --git a/data/scenarios/Challenges/_pack-tetrominoes/solution.sw b/data/scenarios/Challenges/Mechanics/_pack-tetrominoes/solution.sw similarity index 100% rename from data/scenarios/Challenges/_pack-tetrominoes/solution.sw rename to data/scenarios/Challenges/Mechanics/_pack-tetrominoes/solution.sw diff --git a/data/scenarios/Challenges/_photocopier/judge.sw b/data/scenarios/Challenges/Mechanics/_photocopier/judge.sw similarity index 100% rename from data/scenarios/Challenges/_photocopier/judge.sw rename to data/scenarios/Challenges/Mechanics/_photocopier/judge.sw diff --git a/data/scenarios/Challenges/_photocopier/solution.sw b/data/scenarios/Challenges/Mechanics/_photocopier/solution.sw similarity index 100% rename from data/scenarios/Challenges/_photocopier/solution.sw rename to data/scenarios/Challenges/Mechanics/_photocopier/solution.sw diff --git a/data/scenarios/Challenges/_telephone/judge.sw b/data/scenarios/Challenges/Mechanics/_telephone/judge.sw similarity index 100% rename from data/scenarios/Challenges/_telephone/judge.sw rename to data/scenarios/Challenges/Mechanics/_telephone/judge.sw diff --git a/data/scenarios/Challenges/_telephone/photocopier.sw b/data/scenarios/Challenges/Mechanics/_telephone/photocopier.sw similarity index 100% rename from data/scenarios/Challenges/_telephone/photocopier.sw rename to data/scenarios/Challenges/Mechanics/_telephone/photocopier.sw diff --git a/data/scenarios/Challenges/_telephone/shuttle.sw b/data/scenarios/Challenges/Mechanics/_telephone/shuttle.sw similarity index 100% rename from data/scenarios/Challenges/_telephone/shuttle.sw rename to data/scenarios/Challenges/Mechanics/_telephone/shuttle.sw diff --git a/data/scenarios/Challenges/_telephone/solution.sw b/data/scenarios/Challenges/Mechanics/_telephone/solution.sw similarity index 100% rename from data/scenarios/Challenges/_telephone/solution.sw rename to data/scenarios/Challenges/Mechanics/_telephone/solution.sw diff --git a/data/scenarios/Challenges/_wave/solution.sw b/data/scenarios/Challenges/Mechanics/_wave/solution.sw similarity index 100% rename from data/scenarios/Challenges/_wave/solution.sw rename to data/scenarios/Challenges/Mechanics/_wave/solution.sw diff --git a/data/scenarios/Challenges/bucket-brigade.yaml b/data/scenarios/Challenges/Mechanics/bucket-brigade.yaml similarity index 96% rename from data/scenarios/Challenges/bucket-brigade.yaml rename to data/scenarios/Challenges/Mechanics/bucket-brigade.yaml index 333198566e..e57c0f200c 100644 --- a/data/scenarios/Challenges/bucket-brigade.yaml +++ b/data/scenarios/Challenges/Mechanics/bucket-brigade.yaml @@ -43,7 +43,7 @@ robots: char: '=' attr: robot program: | - run "scenarios/Challenges/_bucket-brigade/hauler.sw" + run "scenarios/Challenges/Mechanics/_bucket-brigade/hauler.sw" - name: powerplant system: true dir: east @@ -52,7 +52,7 @@ robots: char: '▒' attr: gold program: | - run "scenarios/Challenges/_bucket-brigade/powerplant.sw" + run "scenarios/Challenges/Mechanics/_bucket-brigade/powerplant.sw" objectives: - id: deliver_coal_lump teaser: Get coal to base @@ -77,7 +77,7 @@ objectives: as hauler {has "coal briquette"} prerequisite: deliver_coal_lump solution: | - run "scenarios/Challenges/_bucket-brigade/brigade.sw" + run "scenarios/Challenges/Mechanics/_bucket-brigade/brigade.sw" entities: - name: upper left corner display: diff --git a/data/scenarios/Challenges/chess_horse.yaml b/data/scenarios/Challenges/Mechanics/chess_horse.yaml similarity index 100% rename from data/scenarios/Challenges/chess_horse.yaml rename to data/scenarios/Challenges/Mechanics/chess_horse.yaml diff --git a/data/scenarios/Challenges/friend.yaml b/data/scenarios/Challenges/Mechanics/friend.yaml similarity index 93% rename from data/scenarios/Challenges/friend.yaml rename to data/scenarios/Challenges/Mechanics/friend.yaml index 5cf22a5db7..b9ff8b1c8c 100644 --- a/data/scenarios/Challenges/friend.yaml +++ b/data/scenarios/Challenges/Mechanics/friend.yaml @@ -55,7 +55,7 @@ robots: devices: - logger program: | - run "scenarios/Challenges/_friend/cat.sw" + run "scenarios/Challenges/Mechanics/_friend/cat.sw" objectives: - goal: - There's a cat wandering around in the field. Bring it back to your base. If you give it something it likes, perhaps you can get it to follow you. @@ -65,7 +65,7 @@ objectives: baseLoc <- as base {whereami}; pure (catLoc == baseLoc) solution: | - run "scenarios/Challenges/_friend/friend-solution.sw" + run "scenarios/Challenges/Mechanics/_friend/friend-solution.sw" entities: - name: fish display: diff --git a/data/scenarios/Challenges/maypole.yaml b/data/scenarios/Challenges/Mechanics/maypole.yaml similarity index 94% rename from data/scenarios/Challenges/maypole.yaml rename to data/scenarios/Challenges/Mechanics/maypole.yaml index 2851bf4630..3f301f121e 100644 --- a/data/scenarios/Challenges/maypole.yaml +++ b/data/scenarios/Challenges/Mechanics/maypole.yaml @@ -54,9 +54,9 @@ robots: - [1, maypole 2] - [1, maypole 3] program: | - run "scenarios/Challenges/_maypole/monitor.sw" + run "scenarios/Challenges/Mechanics/_maypole/monitor.sw" solution: | - run "scenarios/Challenges/_maypole/solution.sw" + run "scenarios/Challenges/Mechanics/_maypole/solution.sw" entities: - name: dizzy display: diff --git a/data/scenarios/Challenges/pack-tetrominoes.yaml b/data/scenarios/Challenges/Mechanics/pack-tetrominoes.yaml similarity index 97% rename from data/scenarios/Challenges/pack-tetrominoes.yaml rename to data/scenarios/Challenges/Mechanics/pack-tetrominoes.yaml index 973205f0bc..f84392a6e3 100644 --- a/data/scenarios/Challenges/pack-tetrominoes.yaml +++ b/data/scenarios/Challenges/Mechanics/pack-tetrominoes.yaml @@ -80,7 +80,7 @@ entities: - z-tile properties: [known, pickable] solution: | - run "scenarios/Challenges/_pack-tetrominoes/solution.sw" + run "scenarios/Challenges/Mechanics/_pack-tetrominoes/solution.sw" structures: - name: tee recognize: [north, south, east, west] diff --git a/data/scenarios/Challenges/photocopier.yaml b/data/scenarios/Challenges/Mechanics/photocopier.yaml similarity index 94% rename from data/scenarios/Challenges/photocopier.yaml rename to data/scenarios/Challenges/Mechanics/photocopier.yaml index 896047a0ed..b98bea6572 100644 --- a/data/scenarios/Challenges/photocopier.yaml +++ b/data/scenarios/Challenges/Mechanics/photocopier.yaml @@ -18,7 +18,7 @@ objectives: judge <- robotNamed "judge"; as judge { has "gold" } solution: | - run "scenarios/Challenges/_photocopier/solution.sw" + run "scenarios/Challenges/Mechanics/_photocopier/solution.sw" robots: - name: base dir: north @@ -47,7 +47,7 @@ robots: devices: - logger program: | - run "scenarios/Challenges/_photocopier/judge.sw" + run "scenarios/Challenges/Mechanics/_photocopier/judge.sw" entities: - name: pixel (W) display: diff --git a/data/scenarios/Challenges/telephone.yaml b/data/scenarios/Challenges/Mechanics/telephone.yaml similarity index 96% rename from data/scenarios/Challenges/telephone.yaml rename to data/scenarios/Challenges/Mechanics/telephone.yaml index d24347881d..bd085546e6 100644 --- a/data/scenarios/Challenges/telephone.yaml +++ b/data/scenarios/Challenges/Mechanics/telephone.yaml @@ -57,7 +57,7 @@ objectives: judge <- robotNamed "judge"; as judge { has "X" } solution: | - run "scenarios/Challenges/_telephone/solution.sw" + run "scenarios/Challenges/Mechanics/_telephone/solution.sw" robots: - name: base dir: north @@ -90,7 +90,7 @@ robots: char: 'Ξ' priority: 8 program: | - run "scenarios/Challenges/_telephone/shuttle.sw" + run "scenarios/Challenges/Mechanics/_telephone/shuttle.sw" - name: photocopier system: true dir: east @@ -101,14 +101,14 @@ robots: - [100, 'O'] - [100, 'X'] program: | - run "scenarios/Challenges/_telephone/photocopier.sw" + run "scenarios/Challenges/Mechanics/_telephone/photocopier.sw" - name: judge system: true dir: east devices: - logger program: | - run "scenarios/Challenges/_telephone/judge.sw" + run "scenarios/Challenges/Mechanics/_telephone/judge.sw" attrs: - name: greyborder fg: '#cccccc' diff --git a/data/scenarios/Challenges/teleport.yaml b/data/scenarios/Challenges/Mechanics/teleport.yaml similarity index 100% rename from data/scenarios/Challenges/teleport.yaml rename to data/scenarios/Challenges/Mechanics/teleport.yaml diff --git a/data/scenarios/Challenges/wave.yaml b/data/scenarios/Challenges/Mechanics/wave.yaml similarity index 98% rename from data/scenarios/Challenges/wave.yaml rename to data/scenarios/Challenges/Mechanics/wave.yaml index c88ef3860c..499ed91993 100644 --- a/data/scenarios/Challenges/wave.yaml +++ b/data/scenarios/Challenges/Mechanics/wave.yaml @@ -62,7 +62,7 @@ robots: end; start; solution: | - run "scenarios/Challenges/_wave/solution.sw" + run "scenarios/Challenges/Mechanics/_wave/solution.sw" entities: [] known: [wavy water, water, bitcoin] world: diff --git a/data/scenarios/Challenges/Story/00-ORDER.txt b/data/scenarios/Challenges/Story/00-ORDER.txt new file mode 100644 index 0000000000..1138d0442c --- /dev/null +++ b/data/scenarios/Challenges/Story/00-ORDER.txt @@ -0,0 +1,9 @@ +arbitrage.yaml +flower-count.yaml +ice-cream.yaml +hackman.yaml +gopher.yaml +dna.yaml +blender.yaml +bridge-building.yaml +Ranching diff --git a/data/scenarios/Challenges/Ranching/00-ORDER.txt b/data/scenarios/Challenges/Story/Ranching/00-ORDER.txt similarity index 100% rename from data/scenarios/Challenges/Ranching/00-ORDER.txt rename to data/scenarios/Challenges/Story/Ranching/00-ORDER.txt diff --git a/data/scenarios/Challenges/Ranching/_beekeeping/queenbee.sw b/data/scenarios/Challenges/Story/Ranching/_beekeeping/queenbee.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_beekeeping/queenbee.sw rename to data/scenarios/Challenges/Story/Ranching/_beekeeping/queenbee.sw diff --git a/data/scenarios/Challenges/Ranching/_beekeeping/solution.sw b/data/scenarios/Challenges/Story/Ranching/_beekeeping/solution.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_beekeeping/solution.sw rename to data/scenarios/Challenges/Story/Ranching/_beekeeping/solution.sw diff --git a/data/scenarios/Challenges/Ranching/_capture/design-commentary.md b/data/scenarios/Challenges/Story/Ranching/_capture/design-commentary.md similarity index 100% rename from data/scenarios/Challenges/Ranching/_capture/design-commentary.md rename to data/scenarios/Challenges/Story/Ranching/_capture/design-commentary.md diff --git a/data/scenarios/Challenges/Ranching/_capture/opponent.sw b/data/scenarios/Challenges/Story/Ranching/_capture/opponent.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_capture/opponent.sw rename to data/scenarios/Challenges/Story/Ranching/_capture/opponent.sw diff --git a/data/scenarios/Challenges/Ranching/_capture/solution.sw b/data/scenarios/Challenges/Story/Ranching/_capture/solution.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_capture/solution.sw rename to data/scenarios/Challenges/Story/Ranching/_capture/solution.sw diff --git a/data/scenarios/Challenges/Ranching/_fishing/hauler.sw b/data/scenarios/Challenges/Story/Ranching/_fishing/hauler.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_fishing/hauler.sw rename to data/scenarios/Challenges/Story/Ranching/_fishing/hauler.sw diff --git a/data/scenarios/Challenges/Ranching/_fishing/shark.sw b/data/scenarios/Challenges/Story/Ranching/_fishing/shark.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_fishing/shark.sw rename to data/scenarios/Challenges/Story/Ranching/_fishing/shark.sw diff --git a/data/scenarios/Challenges/Ranching/_fishing/solution.sw b/data/scenarios/Challenges/Story/Ranching/_fishing/solution.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_fishing/solution.sw rename to data/scenarios/Challenges/Story/Ranching/_fishing/solution.sw diff --git a/data/scenarios/Challenges/Ranching/_gated-paddock/enclosure-checking.sw b/data/scenarios/Challenges/Story/Ranching/_gated-paddock/enclosure-checking.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_gated-paddock/enclosure-checking.sw rename to data/scenarios/Challenges/Story/Ranching/_gated-paddock/enclosure-checking.sw diff --git a/data/scenarios/Challenges/Ranching/_gated-paddock/fence-construction.sw b/data/scenarios/Challenges/Story/Ranching/_gated-paddock/fence-construction.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_gated-paddock/fence-construction.sw rename to data/scenarios/Challenges/Story/Ranching/_gated-paddock/fence-construction.sw diff --git a/data/scenarios/Challenges/Ranching/_gated-paddock/meandering-sheep.sw b/data/scenarios/Challenges/Story/Ranching/_gated-paddock/meandering-sheep.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_gated-paddock/meandering-sheep.sw rename to data/scenarios/Challenges/Story/Ranching/_gated-paddock/meandering-sheep.sw diff --git a/data/scenarios/Challenges/Ranching/_gated-paddock/update-and-test.sh b/data/scenarios/Challenges/Story/Ranching/_gated-paddock/update-and-test.sh similarity index 100% rename from data/scenarios/Challenges/Ranching/_gated-paddock/update-and-test.sh rename to data/scenarios/Challenges/Story/Ranching/_gated-paddock/update-and-test.sh diff --git a/data/scenarios/Challenges/Ranching/_pied-piper/rat.sw b/data/scenarios/Challenges/Story/Ranching/_pied-piper/rat.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_pied-piper/rat.sw rename to data/scenarios/Challenges/Story/Ranching/_pied-piper/rat.sw diff --git a/data/scenarios/Challenges/Ranching/_pied-piper/solution.sw b/data/scenarios/Challenges/Story/Ranching/_pied-piper/solution.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_pied-piper/solution.sw rename to data/scenarios/Challenges/Story/Ranching/_pied-piper/solution.sw diff --git a/data/scenarios/Challenges/Ranching/_powerset/setup.sw b/data/scenarios/Challenges/Story/Ranching/_powerset/setup.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_powerset/setup.sw rename to data/scenarios/Challenges/Story/Ranching/_powerset/setup.sw diff --git a/data/scenarios/Challenges/Ranching/_powerset/solution.sw b/data/scenarios/Challenges/Story/Ranching/_powerset/solution.sw similarity index 100% rename from data/scenarios/Challenges/Ranching/_powerset/solution.sw rename to data/scenarios/Challenges/Story/Ranching/_powerset/solution.sw diff --git a/data/scenarios/Challenges/Ranching/beekeeping.yaml b/data/scenarios/Challenges/Story/Ranching/beekeeping.yaml similarity index 98% rename from data/scenarios/Challenges/Ranching/beekeeping.yaml rename to data/scenarios/Challenges/Story/Ranching/beekeeping.yaml index a1c85d4822..b0fc4749c6 100644 --- a/data/scenarios/Challenges/Ranching/beekeeping.yaml +++ b/data/scenarios/Challenges/Story/Ranching/beekeeping.yaml @@ -120,9 +120,9 @@ robots: char: 'Q' attr: bee program: | - run "scenarios/Challenges/Ranching/_beekeeping/queenbee.sw" + run "scenarios/Challenges/Story/Ranching/_beekeeping/queenbee.sw" solution: | - run "scenarios/Challenges/Ranching/_beekeeping/solution.sw" + run "scenarios/Challenges/Story/Ranching/_beekeeping/solution.sw" structures: - name: beehive recognize: [north] diff --git a/data/scenarios/Challenges/Ranching/capture.yaml b/data/scenarios/Challenges/Story/Ranching/capture.yaml similarity index 96% rename from data/scenarios/Challenges/Ranching/capture.yaml rename to data/scenarios/Challenges/Story/Ranching/capture.yaml index bbe40665d9..22cd9d61e9 100644 --- a/data/scenarios/Challenges/Ranching/capture.yaml +++ b/data/scenarios/Challenges/Story/Ranching/capture.yaml @@ -120,9 +120,9 @@ robots: attr: pig invisible: false program: | - run "scenarios/Challenges/Ranching/_capture/opponent.sw" + run "scenarios/Challenges/Story/Ranching/_capture/opponent.sw" solution: | - run "scenarios/Challenges/Ranching/_capture/solution.sw" + run "scenarios/Challenges/Story/Ranching/_capture/solution.sw" entities: - name: monolith display: diff --git a/data/scenarios/Challenges/Ranching/fishing.yaml b/data/scenarios/Challenges/Story/Ranching/fishing.yaml similarity index 98% rename from data/scenarios/Challenges/Ranching/fishing.yaml rename to data/scenarios/Challenges/Story/Ranching/fishing.yaml index 20588fb5d5..00cf0db5e7 100644 --- a/data/scenarios/Challenges/Ranching/fishing.yaml +++ b/data/scenarios/Challenges/Story/Ranching/fishing.yaml @@ -157,7 +157,7 @@ robots: char: W invisible: false program: | - run "scenarios/Challenges/Ranching/_fishing/hauler.sw" + run "scenarios/Challenges/Story/Ranching/_fishing/hauler.sw" - name: shark dir: [1, 0] system: true @@ -166,9 +166,9 @@ robots: attr: shark invisible: false program: | - run "scenarios/Challenges/Ranching/_fishing/shark.sw" + run "scenarios/Challenges/Story/Ranching/_fishing/shark.sw" solution: | - run "scenarios/Challenges/Ranching/_fishing/solution.sw" + run "scenarios/Challenges/Story/Ranching/_fishing/solution.sw" structures: - name: rubbish enclosure recognize: [north, south] diff --git a/data/scenarios/Challenges/Ranching/gated-paddock.yaml b/data/scenarios/Challenges/Story/Ranching/gated-paddock.yaml similarity index 98% rename from data/scenarios/Challenges/Ranching/gated-paddock.yaml rename to data/scenarios/Challenges/Story/Ranching/gated-paddock.yaml index 1bee1a4f5a..36b2696b73 100644 --- a/data/scenarios/Challenges/Ranching/gated-paddock.yaml +++ b/data/scenarios/Challenges/Story/Ranching/gated-paddock.yaml @@ -228,7 +228,7 @@ robots: never: - gate program: | - run "scenarios/Challenges/Ranching/_gated-paddock/meandering-sheep.sw"; + run "scenarios/Challenges/Story/Ranching/_gated-paddock/meandering-sheep.sw"; entities: - name: fence display: @@ -366,7 +366,7 @@ recipes: known: [mountain, tree, water] seed: 0 solution: | - run "scenarios/Challenges/Ranching/_gated-paddock/fence-construction.sw" + run "scenarios/Challenges/Story/Ranching/_gated-paddock/fence-construction.sw" world: dsl: | {dirt, water} diff --git a/data/scenarios/Challenges/Ranching/pied-piper.yaml b/data/scenarios/Challenges/Story/Ranching/pied-piper.yaml similarity index 98% rename from data/scenarios/Challenges/Ranching/pied-piper.yaml rename to data/scenarios/Challenges/Story/Ranching/pied-piper.yaml index eb8c7914a0..ced14b6312 100644 --- a/data/scenarios/Challenges/Ranching/pied-piper.yaml +++ b/data/scenarios/Challenges/Story/Ranching/pied-piper.yaml @@ -67,7 +67,7 @@ robots: devices: - logger program: | - run "scenarios/Challenges/Ranching/_pied-piper/rat.sw" + run "scenarios/Challenges/Story/Ranching/_pied-piper/rat.sw" walkable: never: - ladder @@ -124,7 +124,7 @@ objectives: pure $ l == "tunnel"; } solution: | - run "scenarios/Challenges/Ranching/_pied-piper/solution.sw" + run "scenarios/Challenges/Story/Ranching/_pied-piper/solution.sw" entities: - name: seed spreader display: diff --git a/data/scenarios/Challenges/Ranching/powerset.yaml b/data/scenarios/Challenges/Story/Ranching/powerset.yaml similarity index 96% rename from data/scenarios/Challenges/Ranching/powerset.yaml rename to data/scenarios/Challenges/Story/Ranching/powerset.yaml index fef778e9fb..544e384bfc 100644 --- a/data/scenarios/Challenges/Ranching/powerset.yaml +++ b/data/scenarios/Challenges/Story/Ranching/powerset.yaml @@ -88,9 +88,9 @@ robots: - [6, watermelon] - [7, orange] program: | - run "scenarios/Challenges/Ranching/_powerset/setup.sw" + run "scenarios/Challenges/Story/Ranching/_powerset/setup.sw" solution: | - run "scenarios/Challenges/Ranching/_powerset/solution.sw" + run "scenarios/Challenges/Story/Ranching/_powerset/solution.sw" entities: - name: rocket skates display: diff --git a/data/scenarios/Challenges/_arbitrage/design-notes.md b/data/scenarios/Challenges/Story/_arbitrage/design-notes.md similarity index 100% rename from data/scenarios/Challenges/_arbitrage/design-notes.md rename to data/scenarios/Challenges/Story/_arbitrage/design-notes.md diff --git a/data/scenarios/Challenges/_arbitrage/solution.sw b/data/scenarios/Challenges/Story/_arbitrage/solution.sw similarity index 100% rename from data/scenarios/Challenges/_arbitrage/solution.sw rename to data/scenarios/Challenges/Story/_arbitrage/solution.sw diff --git a/data/scenarios/Challenges/_blender/apprehension-checker.sw b/data/scenarios/Challenges/Story/_blender/apprehension-checker.sw similarity index 100% rename from data/scenarios/Challenges/_blender/apprehension-checker.sw rename to data/scenarios/Challenges/Story/_blender/apprehension-checker.sw diff --git a/data/scenarios/Challenges/_blender/patrol-clockwise.sw b/data/scenarios/Challenges/Story/_blender/patrol-clockwise.sw similarity index 100% rename from data/scenarios/Challenges/_blender/patrol-clockwise.sw rename to data/scenarios/Challenges/Story/_blender/patrol-clockwise.sw diff --git a/data/scenarios/Challenges/_blender/patrol-counter-clockwise.sw b/data/scenarios/Challenges/Story/_blender/patrol-counter-clockwise.sw similarity index 100% rename from data/scenarios/Challenges/_blender/patrol-counter-clockwise.sw rename to data/scenarios/Challenges/Story/_blender/patrol-counter-clockwise.sw diff --git a/data/scenarios/Challenges/_blender/solution.sw b/data/scenarios/Challenges/Story/_blender/solution.sw similarity index 100% rename from data/scenarios/Challenges/_blender/solution.sw rename to data/scenarios/Challenges/Story/_blender/solution.sw diff --git a/data/scenarios/Challenges/_bridge-building/flower-ring-check.sw b/data/scenarios/Challenges/Story/_bridge-building/flower-ring-check.sw similarity index 100% rename from data/scenarios/Challenges/_bridge-building/flower-ring-check.sw rename to data/scenarios/Challenges/Story/_bridge-building/flower-ring-check.sw diff --git a/data/scenarios/Challenges/_bridge-building/solution.sw b/data/scenarios/Challenges/Story/_bridge-building/solution.sw similarity index 100% rename from data/scenarios/Challenges/_bridge-building/solution.sw rename to data/scenarios/Challenges/Story/_bridge-building/solution.sw diff --git a/data/scenarios/Challenges/_dna/lab.sw b/data/scenarios/Challenges/Story/_dna/lab.sw similarity index 100% rename from data/scenarios/Challenges/_dna/lab.sw rename to data/scenarios/Challenges/Story/_dna/lab.sw diff --git a/data/scenarios/Challenges/_dna/mirrorbot.sw b/data/scenarios/Challenges/Story/_dna/mirrorbot.sw similarity index 100% rename from data/scenarios/Challenges/_dna/mirrorbot.sw rename to data/scenarios/Challenges/Story/_dna/mirrorbot.sw diff --git a/data/scenarios/Challenges/_dna/resetter.sw b/data/scenarios/Challenges/Story/_dna/resetter.sw similarity index 100% rename from data/scenarios/Challenges/_dna/resetter.sw rename to data/scenarios/Challenges/Story/_dna/resetter.sw diff --git a/data/scenarios/Challenges/_dna/solution.sw b/data/scenarios/Challenges/Story/_dna/solution.sw similarity index 100% rename from data/scenarios/Challenges/_dna/solution.sw rename to data/scenarios/Challenges/Story/_dna/solution.sw diff --git a/data/scenarios/Challenges/_dna/topchecker.sw b/data/scenarios/Challenges/Story/_dna/topchecker.sw similarity index 100% rename from data/scenarios/Challenges/_dna/topchecker.sw rename to data/scenarios/Challenges/Story/_dna/topchecker.sw diff --git a/data/scenarios/Challenges/_flower-count/judge.sw b/data/scenarios/Challenges/Story/_flower-count/judge.sw similarity index 100% rename from data/scenarios/Challenges/_flower-count/judge.sw rename to data/scenarios/Challenges/Story/_flower-count/judge.sw diff --git a/data/scenarios/Challenges/_flower-count/solution.sw b/data/scenarios/Challenges/Story/_flower-count/solution.sw similarity index 100% rename from data/scenarios/Challenges/_flower-count/solution.sw rename to data/scenarios/Challenges/Story/_flower-count/solution.sw diff --git a/data/scenarios/Challenges/_gopher/gopher.sw b/data/scenarios/Challenges/Story/_gopher/gopher.sw similarity index 100% rename from data/scenarios/Challenges/_gopher/gopher.sw rename to data/scenarios/Challenges/Story/_gopher/gopher.sw diff --git a/data/scenarios/Challenges/_gopher/solution.sw b/data/scenarios/Challenges/Story/_gopher/solution.sw similarity index 100% rename from data/scenarios/Challenges/_gopher/solution.sw rename to data/scenarios/Challenges/Story/_gopher/solution.sw diff --git a/data/scenarios/Challenges/_hackman/fruit_maker.sw b/data/scenarios/Challenges/Story/_hackman/fruit_maker.sw similarity index 100% rename from data/scenarios/Challenges/_hackman/fruit_maker.sw rename to data/scenarios/Challenges/Story/_hackman/fruit_maker.sw diff --git a/data/scenarios/Challenges/_hackman/ghost.sw b/data/scenarios/Challenges/Story/_hackman/ghost.sw similarity index 100% rename from data/scenarios/Challenges/_hackman/ghost.sw rename to data/scenarios/Challenges/Story/_hackman/ghost.sw diff --git a/data/scenarios/Challenges/_hackman/solution.sw b/data/scenarios/Challenges/Story/_hackman/solution.sw similarity index 100% rename from data/scenarios/Challenges/_hackman/solution.sw rename to data/scenarios/Challenges/Story/_hackman/solution.sw diff --git a/data/scenarios/Challenges/_hackman/teleport_monitor.sw b/data/scenarios/Challenges/Story/_hackman/teleport_monitor.sw similarity index 100% rename from data/scenarios/Challenges/_hackman/teleport_monitor.sw rename to data/scenarios/Challenges/Story/_hackman/teleport_monitor.sw diff --git a/data/scenarios/Challenges/_ice-cream/customer.sw b/data/scenarios/Challenges/Story/_ice-cream/customer.sw similarity index 100% rename from data/scenarios/Challenges/_ice-cream/customer.sw rename to data/scenarios/Challenges/Story/_ice-cream/customer.sw diff --git a/data/scenarios/Challenges/_ice-cream/solution.sw b/data/scenarios/Challenges/Story/_ice-cream/solution.sw similarity index 100% rename from data/scenarios/Challenges/_ice-cream/solution.sw rename to data/scenarios/Challenges/Story/_ice-cream/solution.sw diff --git a/data/scenarios/Challenges/arbitrage.yaml b/data/scenarios/Challenges/Story/arbitrage.yaml similarity index 99% rename from data/scenarios/Challenges/arbitrage.yaml rename to data/scenarios/Challenges/Story/arbitrage.yaml index 25cb3e598d..7299c55785 100644 --- a/data/scenarios/Challenges/arbitrage.yaml +++ b/data/scenarios/Challenges/Story/arbitrage.yaml @@ -78,7 +78,7 @@ robots: inventory: - [5, paperclip] solution: | - run "scenarios/Challenges/_arbitrage/solution.sw" + run "scenarios/Challenges/Story/_arbitrage/solution.sw" entities: - name: paperclip display: diff --git a/data/scenarios/Challenges/blender.yaml b/data/scenarios/Challenges/Story/blender.yaml similarity index 92% rename from data/scenarios/Challenges/blender.yaml rename to data/scenarios/Challenges/Story/blender.yaml index 6833c10969..668a0c255d 100644 --- a/data/scenarios/Challenges/blender.yaml +++ b/data/scenarios/Challenges/Story/blender.yaml @@ -23,7 +23,7 @@ objectives: hidden: true optional: true condition: | - // run "scenarios/Challenges/_blender/apprehension-checker.sw" + // run "scenarios/Challenges/Story/_blender/apprehension-checker.sw" def hasMetBase = \r. let basename = "base" in x <- as r {whoami}; @@ -93,7 +93,7 @@ robots: char: 'X' attr: robot program: | - run "scenarios/Challenges/_blender/patrol-clockwise.sw" + run "scenarios/Challenges/Story/_blender/patrol-clockwise.sw" - name: cw_robot_down system: true dir: south @@ -102,7 +102,7 @@ robots: char: 'X' attr: robot program: | - run "scenarios/Challenges/_blender/patrol-clockwise.sw" + run "scenarios/Challenges/Story/_blender/patrol-clockwise.sw" - name: ccw_robot system: true dir: north @@ -111,7 +111,7 @@ robots: char: 'X' attr: robot program: | - run "scenarios/Challenges/_blender/patrol-counter-clockwise.sw" + run "scenarios/Challenges/Story/_blender/patrol-counter-clockwise.sw" - name: ccw_robot_down system: true dir: south @@ -120,9 +120,9 @@ robots: char: 'X' attr: robot program: | - run "scenarios/Challenges/_blender/patrol-counter-clockwise.sw" + run "scenarios/Challenges/Story/_blender/patrol-counter-clockwise.sw" solution: | - run "scenarios/Challenges/_blender/solution.sw" + run "scenarios/Challenges/Story/_blender/solution.sw" entities: - name: granite boulder display: diff --git a/data/scenarios/Challenges/bridge-building.yaml b/data/scenarios/Challenges/Story/bridge-building.yaml similarity index 99% rename from data/scenarios/Challenges/bridge-building.yaml rename to data/scenarios/Challenges/Story/bridge-building.yaml index 25d6580a85..a938e79e45 100644 --- a/data/scenarios/Challenges/bridge-building.yaml +++ b/data/scenarios/Challenges/Story/bridge-building.yaml @@ -175,14 +175,14 @@ robots: inventory: - [1, painted plate] program: | - run "scenarios/Challenges/_bridge-building/flower-ring-check.sw" + run "scenarios/Challenges/Story/_bridge-building/flower-ring-check.sw" - name: platecheck system: true dir: north display: invisible: true solution: | - run "scenarios/Challenges/_bridge-building/solution.sw" + run "scenarios/Challenges/Story/_bridge-building/solution.sw" entities: - name: map display: diff --git a/data/scenarios/Challenges/dna.yaml b/data/scenarios/Challenges/Story/dna.yaml similarity index 98% rename from data/scenarios/Challenges/dna.yaml rename to data/scenarios/Challenges/Story/dna.yaml index c3a9b03d2e..00a40da3c7 100644 --- a/data/scenarios/Challenges/dna.yaml +++ b/data/scenarios/Challenges/Story/dna.yaml @@ -176,7 +176,7 @@ robots: - [1, strange loop] - [1, solar panel] program: | - run "data/scenarios/Challenges/_dna/lab.sw" + run "data/scenarios/Challenges/Story/_dna/lab.sw" - name: topchecker system: true dir: east @@ -184,7 +184,7 @@ robots: invisible: true attr: 'robot' program: | - run "data/scenarios/Challenges/_dna/topchecker.sw" + run "data/scenarios/Challenges/Story/_dna/topchecker.sw" - name: mirrorbot system: true dir: south @@ -192,7 +192,7 @@ robots: invisible: true attr: 'robot' program: | - run "data/scenarios/Challenges/_dna/mirrorbot.sw" + run "data/scenarios/Challenges/Story/_dna/mirrorbot.sw" - name: resetter description: resets the apparatus after completion by watching the switch system: true @@ -201,7 +201,7 @@ robots: invisible: true attr: 'robot' program: | - run "data/scenarios/Challenges/_dna/resetter.sw" + run "data/scenarios/Challenges/Story/_dna/resetter.sw" - name: keeper description: keeps track of cloned specimens system: true @@ -210,7 +210,7 @@ robots: invisible: true attr: 'robot' solution: | - run "data/scenarios/Challenges/_dna/solution.sw" + run "data/scenarios/Challenges/Story/_dna/solution.sw" structures: - name: pond recognize: diff --git a/data/scenarios/Challenges/flower-count.yaml b/data/scenarios/Challenges/Story/flower-count.yaml similarity index 97% rename from data/scenarios/Challenges/flower-count.yaml rename to data/scenarios/Challenges/Story/flower-count.yaml index 4bd76e91c5..d61db975ad 100644 --- a/data/scenarios/Challenges/flower-count.yaml +++ b/data/scenarios/Challenges/Story/flower-count.yaml @@ -77,7 +77,7 @@ objectives: truelove <- robotNamed "truelove"; as truelove { has "flower" } solution: | - run "scenarios/Challenges/_flower-count/solution.sw" + run "scenarios/Challenges/Story/_flower-count/solution.sw" robots: - name: base dir: north @@ -132,7 +132,7 @@ robots: devices: - logger program: | - run "scenarios/Challenges/_flower-count/judge.sw" + run "scenarios/Challenges/Story/_flower-count/judge.sw" - name: truelove system: true display: diff --git a/data/scenarios/Challenges/gopher.yaml b/data/scenarios/Challenges/Story/gopher.yaml similarity index 96% rename from data/scenarios/Challenges/gopher.yaml rename to data/scenarios/Challenges/Story/gopher.yaml index 2540c0d1ba..1cece1cc12 100644 --- a/data/scenarios/Challenges/gopher.yaml +++ b/data/scenarios/Challenges/Story/gopher.yaml @@ -87,7 +87,7 @@ robots: - [1, toolkit] - [1, serenity] program: | - run "data/scenarios/Challenges/_gopher/gopher.sw" + run "data/scenarios/Challenges/Story/_gopher/gopher.sw" entities: - name: mound display: @@ -126,7 +126,7 @@ recipes: required: - [1, drill] solution: | - run "scenarios/Challenges/_gopher/solution.sw" + run "scenarios/Challenges/Story/_gopher/solution.sw" known: [] world: dsl: | diff --git a/data/scenarios/Challenges/hackman.yaml b/data/scenarios/Challenges/Story/hackman.yaml similarity index 94% rename from data/scenarios/Challenges/hackman.yaml rename to data/scenarios/Challenges/Story/hackman.yaml index a5dcc50b18..bf3b085171 100644 --- a/data/scenarios/Challenges/hackman.yaml +++ b/data/scenarios/Challenges/Story/hackman.yaml @@ -156,7 +156,7 @@ robots: invisible: true char: 'T' program: | - run "scenarios/Challenges/_hackman/teleport_monitor.sw" + run "scenarios/Challenges/Story/_hackman/teleport_monitor.sw" - name: ghost1 dir: north system: true @@ -165,7 +165,7 @@ robots: char: '∩' attr: ghost1 program: | - run "scenarios/Challenges/_hackman/ghost.sw" + run "scenarios/Challenges/Story/_hackman/ghost.sw" - name: ghost2 dir: north system: true @@ -174,7 +174,7 @@ robots: char: '∩' attr: ghost2 program: | - run "scenarios/Challenges/_hackman/ghost.sw" + run "scenarios/Challenges/Story/_hackman/ghost.sw" - name: ghost3 dir: north system: true @@ -183,7 +183,7 @@ robots: char: '∩' attr: ghost3 program: | - run "scenarios/Challenges/_hackman/ghost.sw" + run "scenarios/Challenges/Story/_hackman/ghost.sw" - name: ghost4 dir: north system: true @@ -192,7 +192,7 @@ robots: char: '∩' attr: ghost4 program: | - run "scenarios/Challenges/_hackman/ghost.sw" + run "scenarios/Challenges/Story/_hackman/ghost.sw" - name: fruit_maker dir: north system: true @@ -202,7 +202,7 @@ robots: inventory: - [1, strawberry] program: | - run "scenarios/Challenges/_hackman/fruit_maker.sw" + run "scenarios/Challenges/Story/_hackman/fruit_maker.sw" entities: - name: pellet display: @@ -260,7 +260,7 @@ recipes: required: - [1, drill] solution: | - run "scenarios/Challenges/_hackman/solution.sw" + run "scenarios/Challenges/Story/_hackman/solution.sw" known: [] seed: 0 world: diff --git a/data/scenarios/Challenges/ice-cream.yaml b/data/scenarios/Challenges/Story/ice-cream.yaml similarity index 97% rename from data/scenarios/Challenges/ice-cream.yaml rename to data/scenarios/Challenges/Story/ice-cream.yaml index 0f6c2f81d1..ce44f2ba8a 100644 --- a/data/scenarios/Challenges/ice-cream.yaml +++ b/data/scenarios/Challenges/Story/ice-cream.yaml @@ -68,9 +68,9 @@ robots: inventory: - [1, bitcoin] program: | - run "scenarios/Challenges/_ice-cream/customer.sw" + run "scenarios/Challenges/Story/_ice-cream/customer.sw" solution: | - run "scenarios/Challenges/_ice-cream/solution.sw" + run "scenarios/Challenges/Story/_ice-cream/solution.sw" entities: - name: scoop display: diff --git a/test/integration/Main.hs b/test/integration/Main.hs index 982871b3c8..4da907fcdc 100644 --- a/test/integration/Main.hs +++ b/test/integration/Main.hs @@ -356,7 +356,7 @@ expectFailScenarios :: M.Map FilePath String expectFailScenarios = M.fromList [ "Testing/231-requirements/231-command-transformer-reqs" ==> "Awaiting fix for #231" - , "Challenges/wolf-goat-cabbage" ==> "Awaiting fix for #2602" + , "Challenges/Logic/wolf-goat-cabbage" ==> "Awaiting fix for #2602" ] where f ==> e = (normalizePath f, e) @@ -371,32 +371,32 @@ customTimeoutScenarios = , "Tutorials/farming" ==> 5 , "Fun/snake" ==> 20 , "Fun/horton" ==> 10 - , "Challenges/2048" ==> 10 - , "Challenges/word-search" ==> 6 - , "Challenges/bridge-building" ==> 10 - , "Challenges/ice-cream" ==> 5 - , "Challenges/combo-lock" ==> 10 - , "Challenges/wave" ==> 15 - , "Challenges/arbitrage" ==> 3 - , "Challenges/bucket-brigade" ==> 5 - , "Challenges/gopher" ==> 20 - , "Challenges/hackman" ==> 5 - , "Challenges/blender" ==> 5 - , "Challenges/dna" ==> 20 - , "Challenges/hanoi" ==> 10 - , "Challenges/lights-out" ==> 3 - , "Challenges/Sliding Puzzles/3x3" ==> 40 - , "Challenges/dimsum" ==> 10 - , "Challenges/gallery" ==> 20 - , "Challenges/telephone" ==> 20 - , "Challenges/flower-count" ==> 20 - , "Challenges/photocopier" ==> 30 + , "Challenges/Algorithmic/2048" ==> 10 + , "Challenges/Algorithmic/word-search" ==> 6 + , "Challenges/Story/bridge-building" ==> 10 + , "Challenges/Story/ice-cream" ==> 5 + , "Challenges/Algorithmic/combo-lock" ==> 10 + , "Challenges/Mechanics/wave" ==> 15 + , "Challenges/Story/arbitrage" ==> 3 + , "Challenges/Mechanics/bucket-brigade" ==> 5 + , "Challenges/Story/gopher" ==> 20 + , "Challenges/Story/hackman" ==> 5 + , "Challenges/Story/blender" ==> 5 + , "Challenges/Story/dna" ==> 20 + , "Challenges/Logic/hanoi" ==> 10 + , "Challenges/Logic/lights-out" ==> 3 + , "Challenges/Logic/Sliding Puzzles/3x3" ==> 40 + , "Challenges/Algorithmic/dimsum" ==> 10 + , "Challenges/Algorithmic/gallery" ==> 20 + , "Challenges/Mechanics/telephone" ==> 20 + , "Challenges/Story/flower-count" ==> 20 + , "Challenges/Mechanics/photocopier" ==> 30 , "Challenges/Mazes/invisible_maze" ==> 2 - , "Challenges/Ranching/beekeeping" ==> 60 - , "Challenges/Ranching/powerset" ==> 20 - , "Challenges/Ranching/fishing" ==> 10 - , "Challenges/Ranching/gated-paddock" ==> 30 - , "Challenges/Ranching/pied-piper" ==> 30 + , "Challenges/Story/Ranching/beekeeping" ==> 60 + , "Challenges/Story/Ranching/powerset" ==> 20 + , "Challenges/Story/Ranching/fishing" ==> 10 + , "Challenges/Story/Ranching/gated-paddock" ==> 30 + , "Challenges/Story/Ranching/pied-piper" ==> 30 , "Testing/479-atomic-race" ==> 2 , "Testing/479-atomic" ==> 5 , "Testing/490-harvest" ==> 5 diff --git a/test/tournament-host/Main.hs b/test/tournament-host/Main.hs index 258137ff76..aa07cc41be 100644 --- a/test/tournament-host/Main.hs +++ b/test/tournament-host/Main.hs @@ -25,7 +25,7 @@ import Test.Tasty.HUnit (Assertion, assertEqual, testCase) main :: IO () main = do - scenariosMap <- buildScenariosMap $ pure "data/scenarios/Challenges/arbitrage.yaml" + scenariosMap <- buildScenariosMap $ pure "data/scenarios/Challenges/Story/arbitrage.yaml" let appData = mkAppData scenariosMap defaultMain $ testGroup @@ -92,7 +92,7 @@ testSolutionUpload :: LocalFileLookup -> Tournament.AppData -> Assertion testSolutionUpload fileLookup appData = uploadForm appData "/api/private/upload/solution" form where - solutionFilePath = "data/scenarios/Challenges/_arbitrage/solution.sw" + solutionFilePath = "data/scenarios/Challenges/Story/_arbitrage/solution.sw" Sha1 scenarioSha1 = NE.head $ NEM.keys fileLookup form = [ partBS "scenario" $ fromString scenarioSha1