Action Choice Logic Update

master
j 2024-04-14 21:22:17 -04:00
parent 398465db02
commit 04f3f8a0a7
1 changed files with 15 additions and 8 deletions

View File

@ -18,7 +18,7 @@ class GameFlow {
await this.handleSetupPhase(userInput);
break;
case PHASE_ENUM.START_TURN:
this.startTurn();
await this.startTurn();
break;
case PHASE_ENUM.ACTION_CHOICE:
await this.actionChoice(userInput)
@ -261,6 +261,7 @@ class GameFlow {
//Advance Phase
this.gameState.subPhase = 0;
this.gameState.phase = PHASE_ENUM.START_TURN
await this.gameState.save()
this.executeCurrentPhase()
break;
default:
@ -372,7 +373,7 @@ class GameFlow {
this.gameState.cashLeftAfterInitialPurchases = Math.floor(this.gameState.cashLeftAfterInitialPurchases * 100) / 100;
}
private startTurn(): void {
private async startTurn(): Promise<void> {
// Update total mileage up through the previous turn
this.gameState.totalMileageUpThroughPreviousTurn = this.gameState.totalMileageWholeTrip;
@ -380,6 +381,7 @@ class GameFlow {
this.gameState.fortOptionFlag = !this.gameState.fortOptionFlag;
this.gameState.phase = PHASE_ENUM.ACTION_CHOICE;
await this.gameState.save()
this.executeCurrentPhase()
}
@ -390,17 +392,23 @@ class GameFlow {
console.log("userInput", userInput);
switch (userInput) {
case "1": // Hunt
responseMessage += "You have decided to hunt.\n\n";
this.gameState.phase = PHASE_ENUM.HUNT;
await this.gameState.save()
this.executeCurrentPhase()
return;
break;
case "2": // Continue
responseMessage += "You have decided to continue on your journey.\n\n";
this.gameState.phase = PHASE_ENUM.TRAVEL;
await this.gameState.save()
this.executeCurrentPhase()
return;
break;
case "3": // Stop at the Next Fort (if applicable)
if (this.gameState.fortOptionFlag) {
responseMessage += "You have decided to stop at the next fort.\n\n";
this.gameState.phase = PHASE_ENUM.FORT;
await this.gameState.save()
this.executeCurrentPhase()
return;
} else {
responseMessage += "⚠️ There is no fort option available at this time.\n\n"
responseMessage += `Do you want to:\n1. Hunt\n2. Continue\n\n`
@ -424,7 +432,7 @@ class GameFlow {
// Warn the player if food is low
if (this.gameState.amountSpentOnFood < 13) {
responseMessage += `YOU'D BETTER DO SOME HUNTING OR BUY FOOD AND SOON!!!!\n\n`;
responseMessage += `You only have ${this.gameState.amountSpentOnFood} pounds of food.\n\n YOU'D BETTER DO SOME HUNTING OR BUY FOOD AND SOON!!!!\n\n`;
}
if (this.gameState.fortOptionFlag) {
@ -432,11 +440,10 @@ class GameFlow {
} else {
responseMessage += `Do you want to:\n1. Hunt\n2. Continue\n\n`
}
await this.statusUpdate(responseMessage)
break;
}
await this.statusUpdate(responseMessage)
this.executeCurrentPhase()
return;
}