@@ -8,20 +8,6 @@ import sc.shared.IMoveMistake
8
8
@XStreamAlias(value = " card" )
9
9
enum class Card (val label : String , val moves : Boolean , val check : (GameState ) -> HuIMoveMistake ? , val play : (GameState ) -> Unit ):
10
10
HuIAction {
11
- /* * Falle hinter den Gegenspieler. */
12
- FALL_BACK (" Zurückfallen" , true ,
13
- { state ->
14
- HuIMoveMistake .CANNOT_PLAY_FALL_BACK .takeUnless { state.isAhead() }
15
- ? : state.validateTargetField(state.otherPlayer.position - 1 )
16
- },
17
- { it.moveToField(it.otherPlayer.position - 1 ) }),
18
- /* * Rücke vor den Gegenspieler. */
19
- HURRY_AHEAD (" Vorrücken" , true ,
20
- { state ->
21
- HuIMoveMistake .CANNOT_PLAY_HURRY_AHEAD .takeIf { state.isAhead() }
22
- ? : state.validateTargetField(state.otherPlayer.position + 1 )
23
- },
24
- { it.moveToField(it.otherPlayer.position + 1 ) }),
25
11
/* * Friss sofort einen Salat. */
26
12
EAT_SALAD (" Salat fressen" , false ,
27
13
{ state -> HuIMoveMistake .NO_SALAD .takeUnless { state.currentPlayer.salads > 0 } },
@@ -41,7 +27,22 @@ enum class Card(val label: String, val moves: Boolean, val check: (GameState) ->
41
27
val car = state.currentPlayer.carrots
42
28
state.currentPlayer.carrots = state.otherPlayer.carrots
43
29
state.otherPlayer.carrots = car
44
- });
30
+ }),
31
+ /* * Falle hinter den Gegenspieler. */
32
+ FALL_BACK (" Zurückfallen" , true ,
33
+ { state ->
34
+ HuIMoveMistake .CANNOT_PLAY_FALL_BACK .takeUnless { state.isAhead() }
35
+ ? : state.validateTargetField(state.otherPlayer.position - 1 )
36
+ },
37
+ { it.moveToField(it.otherPlayer.position - 1 ) }),
38
+ /* * Rücke vor den Gegenspieler. */
39
+ HURRY_AHEAD (" Vorrücken" , true ,
40
+ { state ->
41
+ HuIMoveMistake .CANNOT_PLAY_HURRY_AHEAD .takeIf { state.isAhead() }
42
+ ? : state.validateTargetField(state.otherPlayer.position + 1 )
43
+ },
44
+ { it.moveToField(it.otherPlayer.position + 1 ) }),
45
+ ;
45
46
46
47
override fun perform (state : GameState ): IMoveMistake ? {
47
48
if (state.currentField != Field .HARE )
0 commit comments