diff --git a/locales/en/apgames.json b/locales/en/apgames.json index ef43e45f..f9a20559 100644 --- a/locales/en/apgames.json +++ b/locales/en/apgames.json @@ -3685,7 +3685,8 @@ "PARTIAL_PIECE_MOVE": "Provide the destination for your piece.", "REPEAT_RECEIVER": "You can't move the ball to the same piece twice in a row.", "REPEATED_POSITION": "This move would repeat an earlier position and is therefore invalid.", - "START_BALL_MOVE": "Provide a destination for the ball." + "START_BALL_MOVE": "Provide a destination for the ball.", + "NO_AVAILABLE_RECEIVERS": "You can not move the ball as there are no eligible receivers." }, "realm": { "ALIGNED_BASE": "You may not place a base that shares a row or column with another friendly base unless (a) you have no other options or (b) you are playing with the 'Relaxed Placement' variant.", diff --git a/src/games/razzle.ts b/src/games/razzle.ts index 16cae45a..49b66a10 100644 --- a/src/games/razzle.ts +++ b/src/games/razzle.ts @@ -477,11 +477,18 @@ export class RazzleGame extends GameBase { ); return result; } else { - result.valid = true; - result.complete = 1; - result.message = i18next.t( - "apgames:validation._general.VALID_MOVE" - ); + if (cells.length === 1) { + result.valid = false; + result.message = i18next.t( + "apgames:validation.razzle.NO_AVAILABLE_RECEIVERS" + ); + } else { + result.valid = true; + result.complete = 1; + result.message = i18next.t( + "apgames:validation._general.VALID_MOVE" + ); + } return result; } }