mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Refactor for reduced nesting
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi> Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
parent
a966c29a2e
commit
0c7db307d6
@ -11,54 +11,56 @@ const createGame = ({ messageToPlayer, questionToPlayer, castDie }: Dependencies
|
||||
messageToPlayer(`You encounter a monster with ${monsterHitPoints} hit-points`);
|
||||
|
||||
const playerWantsToAttack = await questionToPlayer("Attack the monster?");
|
||||
if (playerWantsToAttack) {
|
||||
while (true) {
|
||||
messageToPlayer("You attack the monster.");
|
||||
if (!playerWantsToAttack) {
|
||||
messageToPlayer(
|
||||
"You chose not to attack the monster, and the monster eats you dead, in disappointment.",
|
||||
);
|
||||
|
||||
const dieResult = await castDie();
|
||||
messageToPlayer("You lose. Game over!");
|
||||
|
||||
const playerLandsHitOnMonster = dieResult > 3;
|
||||
if (playerLandsHitOnMonster) {
|
||||
monsterHitPoints--;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!monsterHitPoints) {
|
||||
messageToPlayer(
|
||||
"You successfully land a final hit on the monster, and it is now properly beat.",
|
||||
);
|
||||
while (true) {
|
||||
messageToPlayer("You attack the monster.");
|
||||
|
||||
messageToPlayer("You win. Congratulations!");
|
||||
const dieResult = await castDie();
|
||||
|
||||
return;
|
||||
}
|
||||
const playerLandsHitOnMonster = dieResult > 3;
|
||||
if (playerLandsHitOnMonster) {
|
||||
monsterHitPoints--;
|
||||
|
||||
if (!monsterHitPoints) {
|
||||
messageToPlayer(
|
||||
`You successfully land a hit on the monster, and it now only has ${monsterHitPoints} hit-points remaining.`,
|
||||
);
|
||||
} else {
|
||||
messageToPlayer(
|
||||
`You fail to land a hit on the monster, and it still has ${monsterHitPoints} hit-points remaining.`,
|
||||
);
|
||||
}
|
||||
|
||||
const playerWantsToAttackAgain = await questionToPlayer("Do you want to attack again?");
|
||||
|
||||
if (!playerWantsToAttackAgain) {
|
||||
messageToPlayer(
|
||||
"You lose your nerve mid-beat-down, and try to run away. You get eaten by a sad, disappointed monster.",
|
||||
"You successfully land a final hit on the monster, and it is now properly beat.",
|
||||
);
|
||||
|
||||
messageToPlayer("You lose. Game over!");
|
||||
messageToPlayer("You win. Congratulations!");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
messageToPlayer(
|
||||
`You successfully land a hit on the monster, and it now only has ${monsterHitPoints} hit-points remaining.`,
|
||||
);
|
||||
} else {
|
||||
messageToPlayer(
|
||||
`You fail to land a hit on the monster, and it still has ${monsterHitPoints} hit-points remaining.`,
|
||||
);
|
||||
}
|
||||
|
||||
const playerWantsToAttackAgain = await questionToPlayer("Do you want to attack again?");
|
||||
|
||||
if (!playerWantsToAttackAgain) {
|
||||
messageToPlayer(
|
||||
"You lose your nerve mid-beat-down, and try to run away. You get eaten by a sad, disappointed monster.",
|
||||
);
|
||||
|
||||
messageToPlayer("You lose. Game over!");
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
messageToPlayer(
|
||||
"You chose not to attack the monster, and the monster eats you dead, in disappointment.",
|
||||
);
|
||||
|
||||
messageToPlayer("You lose. Game over!");
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user