Fixed networking (LocalHand::getPreflop etc. now return the correct objects). Removed even more code which is no longer needed.
This commit is contained in:
@@ -41,10 +41,10 @@ public:
|
|||||||
|
|
||||||
PlayerInterface** getPlayerArray() const { return playerArray; }
|
PlayerInterface** getPlayerArray() const { return playerArray; }
|
||||||
BoardInterface* getBoard() const { return myBoard; }
|
BoardInterface* getBoard() const { return myBoard; }
|
||||||
boost::shared_ptr<BeRoInterface> getPreflop() const { return myBeRo[actualRound]; }
|
boost::shared_ptr<BeRoInterface> getPreflop() const { return myBeRo[GAME_STATE_PREFLOP]; }
|
||||||
boost::shared_ptr<BeRoInterface> getFlop() const { return myBeRo[actualRound]; }
|
boost::shared_ptr<BeRoInterface> getFlop() const { return myBeRo[GAME_STATE_FLOP]; }
|
||||||
boost::shared_ptr<BeRoInterface> getTurn() const { return myBeRo[actualRound]; }
|
boost::shared_ptr<BeRoInterface> getTurn() const { return myBeRo[GAME_STATE_TURN]; }
|
||||||
boost::shared_ptr<BeRoInterface> getRiver() const { return myBeRo[actualRound]; }
|
boost::shared_ptr<BeRoInterface> getRiver() const { return myBeRo[GAME_STATE_RIVER]; }
|
||||||
GuiInterface* getGuiInterface() const { return myGui; }
|
GuiInterface* getGuiInterface() const { return myGui; }
|
||||||
boost::shared_ptr<BeRoInterface> getCurrentBeRo() const { return myBeRo[actualRound]; }
|
boost::shared_ptr<BeRoInterface> getCurrentBeRo() const { return myBeRo[actualRound]; }
|
||||||
|
|
||||||
|
|||||||
@@ -47,25 +47,7 @@ using namespace std;
|
|||||||
|
|
||||||
static PlayerInterface *GetCurrentPlayer(Game &curGame)
|
static PlayerInterface *GetCurrentPlayer(Game &curGame)
|
||||||
{
|
{
|
||||||
int curPlayerNum = 0;
|
int curPlayerNum = curGame.getCurrentHand()->getCurrentBeRo()->getPlayersTurn();
|
||||||
// TODO: no switch needed here if game states are polymorphic
|
|
||||||
switch(curGame.getCurrentHand()->getActualRound()) {
|
|
||||||
case GAME_STATE_PREFLOP: {
|
|
||||||
curPlayerNum = curGame.getCurrentHand()->getPreflop()->getPlayersTurn();
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_FLOP: {
|
|
||||||
curPlayerNum = curGame.getCurrentHand()->getFlop()->getPlayersTurn();
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_TURN: {
|
|
||||||
curPlayerNum = curGame.getCurrentHand()->getTurn()->getPlayersTurn();
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_RIVER: {
|
|
||||||
curPlayerNum = curGame.getCurrentHand()->getRiver()->getPlayersTurn();
|
|
||||||
} break;
|
|
||||||
default: {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
}
|
|
||||||
assert(curPlayerNum < curGame.getStartQuantityPlayers()); // TODO: throw exception
|
assert(curPlayerNum < curGame.getStartQuantityPlayers()); // TODO: throw exception
|
||||||
return curGame.getPlayerArray()[curPlayerNum];
|
return curGame.getPlayerArray()[curPlayerNum];
|
||||||
}
|
}
|
||||||
@@ -771,7 +753,7 @@ ServerRecvStateWaitPlayerAction::Process(ServerRecvThread &server)
|
|||||||
else if (GetTimer().elapsed().total_seconds() >= server.GetGameData().playerActionTimeoutSec + SERVER_PLAYER_TIMEOUT_ADD_DELAY_SEC)
|
else if (GetTimer().elapsed().total_seconds() >= server.GetGameData().playerActionTimeoutSec + SERVER_PLAYER_TIMEOUT_ADD_DELAY_SEC)
|
||||||
{
|
{
|
||||||
// Player did not act fast enough. Act for him.
|
// Player did not act fast enough. Act for him.
|
||||||
if (GetHighestSet(server.GetGame()) == tmpPlayer->getMySet())
|
if (server.GetGame().getCurrentHand()->getCurrentBeRo()->getHighestSet() == tmpPlayer->getMySet())
|
||||||
PerformPlayerAction(server, tmpPlayer, PLAYER_ACTION_CHECK, 0);
|
PerformPlayerAction(server, tmpPlayer, PLAYER_ACTION_CHECK, 0);
|
||||||
else
|
else
|
||||||
PerformPlayerAction(server, tmpPlayer, PLAYER_ACTION_FOLD, 0);
|
PerformPlayerAction(server, tmpPlayer, PLAYER_ACTION_FOLD, 0);
|
||||||
@@ -821,8 +803,8 @@ ServerRecvStateWaitPlayerAction::PerformPlayerAction(ServerRecvThread &server, P
|
|||||||
{
|
{
|
||||||
player->setMySet(bet);
|
player->setMySet(bet);
|
||||||
|
|
||||||
if (player->getMySet() > GetHighestSet(curGame))
|
if (player->getMySet() > curGame.getCurrentHand()->getCurrentBeRo()->getHighestSet())
|
||||||
SetHighestSet(curGame, player->getMySet());
|
curGame.getCurrentHand()->getCurrentBeRo()->setHighestSet(player->getMySet());
|
||||||
// Update total sets.
|
// Update total sets.
|
||||||
curGame.getCurrentHand()->getBoard()->collectSets();
|
curGame.getCurrentHand()->getBoard()->collectSets();
|
||||||
}
|
}
|
||||||
@@ -847,56 +829,6 @@ ServerRecvStateWaitPlayerAction::SendPlayerAction(ServerRecvThread &server, Play
|
|||||||
server.SendToAllPlayers(notifyActionDone);
|
server.SendToAllPlayers(notifyActionDone);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
ServerRecvStateWaitPlayerAction::GetHighestSet(Game &curGame)
|
|
||||||
{
|
|
||||||
int highestSet = 0;
|
|
||||||
// TODO: no switch needed here if game states are polymorphic
|
|
||||||
switch(curGame.getCurrentHand()->getActualRound())
|
|
||||||
{
|
|
||||||
case GAME_STATE_PREFLOP: {
|
|
||||||
highestSet = curGame.getCurrentHand()->getPreflop()->getHighestSet();
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_FLOP: {
|
|
||||||
highestSet = curGame.getCurrentHand()->getFlop()->getHighestSet();
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_TURN: {
|
|
||||||
highestSet = curGame.getCurrentHand()->getTurn()->getHighestSet();
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_RIVER: {
|
|
||||||
highestSet = curGame.getCurrentHand()->getRiver()->getHighestSet();
|
|
||||||
} break;
|
|
||||||
default: {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return highestSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
ServerRecvStateWaitPlayerAction::SetHighestSet(Game &curGame, int highestSet)
|
|
||||||
{
|
|
||||||
// TODO: no switch needed here if game states are polymorphic
|
|
||||||
switch(curGame.getCurrentHand()->getActualRound())
|
|
||||||
{
|
|
||||||
case GAME_STATE_PREFLOP: {
|
|
||||||
curGame.getCurrentHand()->getPreflop()->setHighestSet(highestSet);
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_FLOP: {
|
|
||||||
curGame.getCurrentHand()->getFlop()->setHighestSet(highestSet);
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_TURN: {
|
|
||||||
curGame.getCurrentHand()->getTurn()->setHighestSet(highestSet);
|
|
||||||
} break;
|
|
||||||
case GAME_STATE_RIVER: {
|
|
||||||
curGame.getCurrentHand()->getRiver()->setHighestSet(highestSet);
|
|
||||||
} break;
|
|
||||||
default: {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
ServerRecvStateDealCardsDelay &
|
ServerRecvStateDealCardsDelay &
|
||||||
|
|||||||
@@ -208,8 +208,6 @@ protected:
|
|||||||
|
|
||||||
static void PerformPlayerAction(ServerRecvThread &server, PlayerInterface *player, PlayerAction action, int bet);
|
static void PerformPlayerAction(ServerRecvThread &server, PlayerInterface *player, PlayerAction action, int bet);
|
||||||
static void SendPlayerAction(ServerRecvThread &server, PlayerInterface *player);
|
static void SendPlayerAction(ServerRecvThread &server, PlayerInterface *player);
|
||||||
static int GetHighestSet(Game &curGame);
|
|
||||||
static void SetHighestSet(Game &curGame, int highestSet);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// State: Delay after dealing cards
|
// State: Delay after dealing cards
|
||||||
|
|||||||
Reference in New Issue
Block a user