Start position of dealer is now set via network. Added files for network client engine. Added factory code.

This commit is contained in:
lotodore
2007-05-18 17:13:27 +00:00
parent a9e2d56b0d
commit b773c30ae0
38 changed files with 1302 additions and 55 deletions
+11
View File
@@ -27,6 +27,7 @@
#include <core/rand.h>
#include <gamedata.h>
#include <game.h>
#include <tools.h>
#include <playerinterface.h>
#include <handinterface.h>
@@ -223,8 +224,18 @@ ServerRecvStateStartGame::HandleNewConnection(ServerRecvThread &server, boost::s
int
ServerRecvStateStartGame::Process(ServerRecvThread &server)
{
GameData &gameData = server.GetGameData();
// Set dealer pos.
Tools myTool;
myTool.getRandNumber(0, gameData.numberOfPlayers-1, 1, &gameData.startDealerPos, 0);
boost::shared_ptr<NetPacket> answer(new NetPacketGameStart);
NetPacketGameStart::Data gameStartData;
gameStartData.startDealerPos = gameData.startDealerPos;
static_cast<NetPacketGameStart *>(answer.get())->SetData(gameStartData);
server.SendToAllPlayers(answer);
server.SetState(ServerRecvStateStartHand::Instance());