fix(14-1): correct re-rack scoring and table reset
- Player score incremented by (balls on table before re-rack + balls added - 15) - Balls on table always set to 15 after re-rack - Log entry includes all relevant details for traceability Refs #26
This commit is contained in:
@@ -133,11 +133,23 @@ const GameDetail141 = ({ game, onUpdate, onUndo, onForfeit, onBack }) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleReRack = (ballsToAdd) => {
|
const handleReRack = (ballsToAdd) => {
|
||||||
const newBallsOnTable = game.ballsOnTable + ballsToAdd;
|
const scoreIncrement = game.ballsOnTable + ballsToAdd - 15;
|
||||||
|
const updatedPlayers = game.players.map((p, idx) =>
|
||||||
|
idx === game.currentPlayer ? { ...p, score: p.score + scoreIncrement } : p
|
||||||
|
);
|
||||||
onUpdate({
|
onUpdate({
|
||||||
...game,
|
...game,
|
||||||
ballsOnTable: newBallsOnTable,
|
players: updatedPlayers,
|
||||||
log: [...(game.log || []), { type: 'rerack', player: currentPlayer.name, ballsAdded: ballsToAdd, ballsOnTable: newBallsOnTable }],
|
ballsOnTable: 15,
|
||||||
|
log: [...(game.log || []), {
|
||||||
|
type: 'rerack',
|
||||||
|
player: currentPlayer.name,
|
||||||
|
ballsAdded: ballsToAdd,
|
||||||
|
ballsOnTableBefore: game.ballsOnTable,
|
||||||
|
ballsOnTable: 15,
|
||||||
|
scoreIncrement,
|
||||||
|
newScore: updatedPlayers[game.currentPlayer].score
|
||||||
|
}],
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user