64 lines
2.1 KiB
C++
64 lines
2.1 KiB
C++
// Copyright (c) 2022 Dominic Masters
|
|
//
|
|
// This software is released under the MIT License.
|
|
// https://opensource.org/licenses/MIT
|
|
|
|
#include "PokerBetLoopEvent.hpp"
|
|
#include "PokerInitialEvent.hpp"
|
|
|
|
using namespace Dawn;
|
|
|
|
void PokerBetLoopEvent::onStart(IVisualNovelEvent *prev) {
|
|
PokerGameEvent::onStart(prev);
|
|
std::cout << "Bet Loop, bet" << std::endl;
|
|
|
|
auto evt2 = new PokerDetermineBetterEvent(this->manager);
|
|
|
|
auto betting = this->then(evt2);
|
|
betting
|
|
// ->whenEveryoneFolded(new VisualNovelTextboxEvent(this->manager, "Everyone Folded"))
|
|
->then(new PokerWinnerEvent(this->manager))
|
|
->then(new PokerInitialEvent(this->manager))
|
|
;
|
|
betting
|
|
// ->whenBettingFinished(new VisualNovelTextboxEvent(this->manager, "Betting Finished"))
|
|
->then(new PokerWinnerEvent(this->manager))
|
|
->then(new PokerInitialEvent(this->manager))
|
|
;
|
|
betting
|
|
->whenTurn(new PokerTurnEvent(this->manager))
|
|
// ->then(new VisualNovelTextboxEvent(this->manager, "Turn Time"))
|
|
->then(new PokerNewBettingRoundEvent(this->manager))
|
|
->then(new PokerBetLoopEvent(this->manager))
|
|
;
|
|
betting
|
|
// ->whenHumanBet(new VisualNovelTextboxEvent(this->manager, "Human Bet"))
|
|
->then(new PokerBetLoopEvent(this->manager))
|
|
;
|
|
|
|
// AI Betting
|
|
auto aiBet = betting
|
|
// ->whenAiBet(new VisualNovelTextboxEvent(this->manager, "AI Bet"))
|
|
->then(new PokerAIBetEvent(this->manager))
|
|
;
|
|
aiBet
|
|
// ->whenFolded(new VisualNovelTextboxEvent(this->manager, "Folded"))
|
|
->then(new PokerBetLoopEvent(this->manager))
|
|
;
|
|
aiBet
|
|
// ->whenAllIn(new VisualNovelTextboxEvent(this->manager, "All In"))
|
|
->then(new PokerBetLoopEvent(this->manager))
|
|
;
|
|
aiBet
|
|
// ->whenBetting(new VisualNovelTextboxEvent(this->manager, "Betting"))
|
|
->then(new PokerBetLoopEvent(this->manager))
|
|
;
|
|
aiBet
|
|
// ->whenCalling(new VisualNovelTextboxEvent(this->manager, "Calling"))
|
|
->then(new PokerBetLoopEvent(this->manager))
|
|
;
|
|
aiBet
|
|
// ->whenChecking(new VisualNovelTextboxEvent(this->manager, "Checking"))
|
|
->then(new PokerBetLoopEvent(this->manager))
|
|
;
|
|
} |