Fixed some bugs with AI
This commit is contained in:
@ -11,18 +11,16 @@
|
||||
#include "visualnovel/VisualNovelManager.hpp"
|
||||
#include "visualnovel/events/VisualNovelTextboxEvent.hpp"
|
||||
#include "poker/PokerGame.hpp"
|
||||
#include "poker/visualnovel/PokerNewGameEvent.hpp"
|
||||
#include "poker/visualnovel/PokerNewRoundEvent.hpp"
|
||||
#include "poker/visualnovel/PokerTakeBlindsEvent.hpp"
|
||||
#include "poker/visualnovel/PokerDealEvent.hpp"
|
||||
#include "poker/visualnovel/PokerTurnEvent.hpp"
|
||||
#include "poker/visualnovel/PokerDetermineBetterEvent.hpp"
|
||||
#include "visualnovel/events/PokerBetLoopEvent.hpp"
|
||||
#include "visualnovel/events/SimpleLoopEvent.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class TestScene {
|
||||
public:
|
||||
static Scene * create(DawnGame *game) {
|
||||
Scene *scene = new Scene(game);
|
||||
Scene *scene;
|
||||
|
||||
scene = new Scene(game);
|
||||
|
||||
// Camera
|
||||
auto camera = Camera::create(scene);
|
||||
@ -55,22 +53,7 @@ namespace Dawn {
|
||||
->then(new VisualNovelTextboxEvent(vnManager, "Blinds Taken"))
|
||||
->then(new PokerDealEvent(vnManager))
|
||||
->then(new VisualNovelTextboxEvent(vnManager, "Cards Dealt"))
|
||||
->then(new PokerDetermineBetterEvent(vnManager))
|
||||
;
|
||||
betting
|
||||
->whenEveryoneFolded(new VisualNovelTextboxEvent(vnManager, "Everyone Folded"))
|
||||
;
|
||||
betting
|
||||
->whenBettingFinished(new VisualNovelTextboxEvent(vnManager, "Betting Finished"))
|
||||
;
|
||||
betting
|
||||
->whenTurn(new VisualNovelTextboxEvent(vnManager, "Turn Time"))
|
||||
;
|
||||
betting
|
||||
->whenAiBet(new VisualNovelTextboxEvent(vnManager, "AI Bet"))
|
||||
;
|
||||
betting
|
||||
->whenHumanBet(new VisualNovelTextboxEvent(vnManager, "Human Bet"))
|
||||
->then(new PokerBetLoopEvent(vnManager))
|
||||
;
|
||||
|
||||
return scene;
|
||||
|
59
src/dawnpokergame/visualnovel/events/PokerBetLoopEvent.hpp
Normal file
59
src/dawnpokergame/visualnovel/events/PokerBetLoopEvent.hpp
Normal file
@ -0,0 +1,59 @@
|
||||
// Copyright (c) 2022 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "poker/visualnovel/PokerNewGameEvent.hpp"
|
||||
#include "poker/visualnovel/PokerNewRoundEvent.hpp"
|
||||
#include "poker/visualnovel/PokerTakeBlindsEvent.hpp"
|
||||
#include "poker/visualnovel/PokerDealEvent.hpp"
|
||||
#include "poker/visualnovel/PokerTurnEvent.hpp"
|
||||
#include "poker/visualnovel/PokerDetermineBetterEvent.hpp"
|
||||
#include "poker/visualnovel/PokerAIBetEvent.hpp"
|
||||
|
||||
#define POKER_DEAL_EVENT_CARD_COUNT 2
|
||||
|
||||
namespace Dawn {
|
||||
class PokerBetLoopEvent : public PokerGameEvent {
|
||||
protected:
|
||||
void onStart(IVisualNovelEvent *previous) override {
|
||||
PokerGameEvent::onStart(previous);
|
||||
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"))
|
||||
;
|
||||
betting
|
||||
->whenBettingFinished(new VisualNovelTextboxEvent(this->manager, "Betting Finished"))
|
||||
;
|
||||
betting
|
||||
->whenTurn(new VisualNovelTextboxEvent(this->manager, "Turn Time"))
|
||||
;
|
||||
betting
|
||||
->whenAiBet(new PokerAIBetEvent(this->manager))
|
||||
->then(new VisualNovelTextboxEvent(this->manager, "AI Bet"))
|
||||
->then(new PokerBetLoopEvent(this->manager))
|
||||
;
|
||||
betting
|
||||
->whenHumanBet(new VisualNovelTextboxEvent(this->manager, "Human Bet"))
|
||||
->then(new PokerBetLoopEvent(this->manager))
|
||||
;
|
||||
}
|
||||
|
||||
bool_t onUpdate() override {
|
||||
return false;
|
||||
}
|
||||
|
||||
void onEnd() override {
|
||||
std::cout << "Bet lop fin" << std::endl;
|
||||
}
|
||||
|
||||
public:
|
||||
PokerBetLoopEvent(VisualNovelManager *manager) : PokerGameEvent(manager) {
|
||||
}
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user