@@ -131,7 +131,7 @@ data class GameState @JvmOverloads constructor(
131
131
132
132
override fun performMoveDirectly (move : HuIMove ) {
133
133
val mist =
134
- MoveMistake .MUST_EAT_SALAD .takeIf {
134
+ HuIMoveMistake .MUST_EAT_SALAD .takeIf {
135
135
mustEatSalad() && move != EatSalad
136
136
}.also { currentPlayer.saladEaten = false } ? : move.perform(this )
137
137
if (mist != null )
@@ -160,37 +160,37 @@ data class GameState @JvmOverloads constructor(
160
160
}
161
161
}
162
162
163
- fun moveToField (newPosition : Int , player : Hare = currentPlayer): MoveMistake ? =
163
+ fun moveToField (newPosition : Int , player : Hare = currentPlayer): HuIMoveMistake ? =
164
164
validateTargetField(newPosition, player) ? : run {
165
165
player.position = newPosition
166
166
null
167
167
}
168
168
169
169
/* * Basic validation whether a player may move forward by that distance.
170
170
* Does not validate whether a card can be played on hare field. */
171
- fun checkAdvance (distance : Int , player : Hare = currentPlayer): MoveMistake ? {
171
+ fun checkAdvance (distance : Int , player : Hare = currentPlayer): HuIMoveMistake ? {
172
172
return validateTargetField(
173
173
player.position + distance,
174
174
player,
175
- (player.carrots - calculateCarrots(distance)).takeIf { it >= 0 } ? : return MoveMistake .MISSING_CARROTS
175
+ (player.carrots - calculateCarrots(distance)).takeIf { it >= 0 } ? : return HuIMoveMistake .MISSING_CARROTS
176
176
)
177
177
}
178
178
179
179
/* * Basic validation whether a field may be entered via a jump that is not backward.
180
180
* Does not validate whether a card can be played on hare field. */
181
- fun validateTargetField (newPosition : Int , player : Hare = currentPlayer, carrots : Int = player.carrots): MoveMistake ? {
181
+ fun validateTargetField (newPosition : Int , player : Hare = currentPlayer, carrots : Int = player.carrots): HuIMoveMistake ? {
182
182
if (newPosition == 0 )
183
- return MoveMistake .CANNOT_ENTER_FIELD
183
+ return HuIMoveMistake .CANNOT_ENTER_FIELD
184
184
val field = board.getField(newPosition)
185
185
if (field != Field .GOAL && newPosition == player.opponent.position)
186
- return MoveMistake .FIELD_OCCUPIED
186
+ return HuIMoveMistake .FIELD_OCCUPIED
187
187
when (field) {
188
- Field .SALAD -> player.salads > 0 || return MoveMistake .NO_SALAD
189
- Field .MARKET -> carrots >= 10 || return MoveMistake .MISSING_CARROTS
190
- Field .HARE -> player.getCards().isNotEmpty() || return MoveMistake .CARD_NOT_OWNED
191
- Field .GOAL -> carrots <= 10 && player.salads == 0 || return MoveMistake .GOAL_CONDITIONS
192
- Field .HEDGEHOG -> return MoveMistake .HEDGEHOG_ONLY_BACKWARDS
193
- null -> return MoveMistake .FIELD_NONEXISTENT
188
+ Field .SALAD -> player.salads > 0 || return HuIMoveMistake .NO_SALAD
189
+ Field .MARKET -> carrots >= 10 || return HuIMoveMistake .MISSING_CARROTS
190
+ Field .HARE -> player.getCards().isNotEmpty() || return HuIMoveMistake .CARD_NOT_OWNED
191
+ Field .GOAL -> carrots <= 10 && player.salads == 0 || return HuIMoveMistake .GOAL_CONDITIONS
192
+ Field .HEDGEHOG -> return HuIMoveMistake .HEDGEHOG_ONLY_BACKWARDS
193
+ null -> return HuIMoveMistake .FIELD_NONEXISTENT
194
194
else -> return null
195
195
}
196
196
return null
0 commit comments