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 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({
|
||||
...game,
|
||||
ballsOnTable: newBallsOnTable,
|
||||
log: [...(game.log || []), { type: 'rerack', player: currentPlayer.name, ballsAdded: ballsToAdd, ballsOnTable: newBallsOnTable }],
|
||||
players: updatedPlayers,
|
||||
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