-
177 | The winner is the player with the most rupees.
178 |
├── .gitignore ├── README.md ├── config ├── config.ini ├── level1 │ └── statement_en.html ├── level2 │ ├── recipe_example.png │ ├── statement_en.html │ ├── welcome_en.html │ └── welcome_fr.html ├── level3 │ ├── statement_en.html │ ├── tomeLearn.png │ ├── welcome_en.html │ └── welcome_fr.html ├── level4 │ └── statement_en.html ├── statement_en.html.tpl ├── statement_fr.html.tpl └── stub.txt ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── codingame │ │ ├── game │ │ ├── CommandManager.java │ │ ├── Deck.java │ │ ├── DeliveryCompletion.java │ │ ├── Game.java │ │ ├── GameException.java │ │ ├── GameSummaryManager.java │ │ ├── InvalidInputException.java │ │ ├── Player.java │ │ ├── Recipe.java │ │ ├── Referee.java │ │ ├── action │ │ │ ├── Action.java │ │ │ ├── ResetAction.java │ │ │ ├── SpellAction.java │ │ │ └── WaitAction.java │ │ └── spell │ │ │ ├── DeliverySpell.java │ │ │ ├── PlayerSpell.java │ │ │ ├── Spell.java │ │ │ ├── SpellType.java │ │ │ └── TomeSpell.java │ │ └── view │ │ ├── AnimationData.java │ │ ├── BonusData.java │ │ ├── EventData.java │ │ ├── FrameViewData.java │ │ ├── GlobalViewData.java │ │ ├── Serializer.java │ │ ├── SpellData.java │ │ └── ViewModule.java └── resources │ └── view │ ├── assets │ ├── Background.jpg │ ├── cauldrons_front.png │ ├── dial0.png │ ├── goop.json │ ├── goop.png │ ├── potioff.json │ ├── potioff.png │ ├── potion.json │ ├── potion.png │ ├── read_blink_0.json │ ├── read_blink_0.png │ ├── read_blink_1.json │ ├── read_blink_1.png │ ├── rest_0.json │ ├── rest_0.png │ ├── rest_1.json │ ├── rest_1.png │ ├── rupee.json │ ├── rupee.png │ ├── sprites.json │ ├── spritesheet.png │ ├── stir_0.json │ ├── stir_0.png │ ├── stir_1.json │ └── stir_1.png │ ├── config.js │ ├── demo.js │ ├── graphics │ ├── Deserializer.js │ ├── ViewModule.js │ ├── assetConstants.js │ ├── gameConstants.js │ ├── inventoryUpdate.js │ ├── layers.js │ ├── miscUpdate.js │ ├── spellUpdate.js │ ├── utils.js │ └── witchUpdate.js │ └── tooltip │ └── TooltipModule.js └── test ├── java ├── BasicAgent.java └── Fall2020Main.java └── resources └── log4j2.properties /.gitignore: -------------------------------------------------------------------------------- 1 | .factorypath 2 | .pydevproject 3 | /.classpath 4 | /.project 5 | /.settings/ 6 | /bin/ 7 | /target/ 8 | src/main/resources/view/.eslintrc.js 9 | src/main/resources/view/node_modules/ 10 | src/main/resources/view/package-lock.json 11 | src/main/resources/view/package.json 12 | src/main/resources/view/tsconfig.json 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FallChallenge2020 2 | Source code for CodinGame's Fall Challenge 2020 event. 3 | -------------------------------------------------------------------------------- /config/config.ini: -------------------------------------------------------------------------------- 1 | min_players=2 2 | max_players=2 3 | type=multi -------------------------------------------------------------------------------- /config/level1/statement_en.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |17 | This is a league based challenge. 18 |
19 | 20 | For this challenge, multiple leagues for the same game are available. Once you have proven your skills against the 21 | first Boss, you will access a higher league and extra rules will be available. 22 | 23 |
40 | The game takes place in a potion shop, in which two twin-sister witches are trying to prove they
41 | are the better potion brewer.
42 | They have set up a contest: make more money selling potions than your sister.
43 | However, their witch's hut is quite small, so they must share the same space, and deal with
44 | the same client orders.
45 |
58 | Each player controls a witch, each witch has access to their own inventory of potion ingredients.
59 |Each client order is a list of ingredients required to brew a potion and 60 | earn some rupees.
61 | 62 |63 | The game is played over several rounds. Each player performs one action each turn, simultaneously. 64 |
65 | 66 |
74 | There are 4 tiers of ingredient, labelled
89 | Each witch starts with a full inventory of
The inventory is represented by inv: 4 numbers each representing the amount of each ingredient tier.
93 | 94 | 95 | 96 |For this league, you must
Client orders are represented by delta: 4 numbers, each representing the amount of each ingredient tier needed to brew a potion. The numbers are all negative because they represent a loss of ingredients from your inventory.
122 |For instance, a client order with
The price of the client order is the amount of rupees will you earn by completing it.
124 | 125 | 126 | 127 |The client orders are queued up from left to right. Only five clients can fit
136 | inside the hut so a maximum of
137 |
At the start of each new turn, new orders are queued up to fill the missing 143 | spaces.
144 | 145 | 146 |
147 | Each order has a unique id and can be undertaken with the
You may also opt to skip a turn with the
161 | The game ends once at least one witch has brewed
163 |
164 | The game stops automatically after
165 |
166 |
What is in store for me in the higher leagues ? 301 |
302 | The extra rules available in higher leagues are:17 | Summary of new rules 18 |
19 | 20 | You can now cast spells to acquire new ingredients!
39 | The game takes place in a potion shop, in which two twin-sister witches are trying to prove they
40 | are the better potion brewer.
41 | They have set up a contest: make more money selling potions than your sister.
42 | However, their witch's hut is quite small, so they must share the same space, and deal with
43 | the same client orders.
44 |
59 | Each player controls a witch, each witch has access to their own inventory of potion ingredients
60 | and a list of spells they have learnt. These spells can be used to turn a certain set of ingredients
61 | into another.
62 | Each client order is a list of ingredients required to brew a potion and earn some rupees.
63 |
66 | The game is played over several rounds. Each player performs one action each turn, simultaneously. 67 |
68 | 69 |
77 | There are 4 tiers of ingredient, labelled
93 | A witch's inventory can contain up to
96 | Each witch starts with
The inventory is represented by inv: 4 numbers each representing the amount of each ingredient tier.
101 | 102 | 103 | 104 |Each round, you can perform one of the following actions:
115 |You may also opt to skip a turn with the
Spells are represented by delta: 4 numbers, each representing
141 | the input (negative
142 | number) or output (positive
143 | number) for each ingredient tier. For instance, a spell marked
Some spells have no input, they simply produce new ingredients.
158 | 159 |
160 | Each player spell has a unique id and can be cast with the
Resting lets you channel your magic, rendering all exhausted spells 176 | available again.
177 | 178 |
179 | You can order your witch to rest with the
Client orders are represented by delta: 4 numbers, each representing the amount of each ingredient tier needed to brew a potion. The numbers are all negative because they represent a loss of ingredients from your inventory.
193 |For instance, a client order with
The price of the client order is the amount of rupees will you earn by completing it.
195 | 196 | 197 | 198 |The client orders are queued up from left to right. Only five clients can fit
207 | inside the hut so a maximum of
208 |
At the start of each new turn, new orders are queued up to fill the missing 214 | spaces.
215 | 216 | 217 |
218 | Each order has a unique id and can be undertaken with the
231 |
Players gain
What is in store for me in the higher leagues ? 394 |
395 | The extra rules available in higher leagues are: