Exemplo n.º 1
0
        protected override Player MakePlayer(GamePeer peer, PlayerInfo info)
        {
            //Get Info from webserver
            BaccaratPlayer newPlayer = new BaccaratPlayer(peer, info);

            return newPlayer;
        }
Exemplo n.º 2
0
        protected override Player MakePlayer(GamePeer peer, PlayerInfo info)
        {
            //Get Info from webserver
            BaccaratPlayer newPlayer = new BaccaratPlayer(peer, info);

            return(newPlayer);
        }
Exemplo n.º 3
0
        protected override void OnJoin(GamePeer peer)
        {
            BaccaratPlayer player = playerManager.GetPlayer(peer) as BaccaratPlayer;

            SitInEmptySeat(player);

            NewPlayerJoinEvent newJoin = new NewPlayerJoinEvent();

            newJoin.Actor = player.key.ID;
            newJoin.Money = player.money;
            newJoin.Name  = player.name;
            newJoin.Seat  = player.seat;

            EventData eventData = new EventData(EventCode.PlayerJoin, newJoin);

            BroadcastMessage(peer, eventData, new SendParameters());

            ConfirmJoinResponse joinRes = new ConfirmJoinResponse();

            joinRes.Actor = player.key.ID;
            joinRes.Seat  = player.seat;
            joinRes.Money = player.money;
            ExistingPlayerInfos infos;

            infos.infos = new List <ExistingPlayerInfo>();

            playerManager.ForEach((roomPlayer) =>
            {
                var bRoomPlayer = roomPlayer as BaccaratPlayer;
                if (bRoomPlayer.key.ID == player.key.ID)
                {
                    return;
                }
                ExistingPlayerInfo pInfo;
                pInfo.ID    = bRoomPlayer.key.ID;
                pInfo.Name  = bRoomPlayer.name;
                pInfo.Seat  = bRoomPlayer.seat;
                pInfo.Money = bRoomPlayer.money;
                pInfo.Bet   = GetBet(bRoomPlayer);

                infos.infos.Add(pInfo);
            });
            joinRes.OtherPlayerInfos = PacketHelper.Serialize <ExistingPlayerInfos>(infos);

            var response = new OperationResponse(CommonOperationCode.ConfirmJoin, joinRes);

            peer.SendOperationResponse(response, new SendParameters());

            if (playerManager.Count == 1)
            {
                ClearGame();
                StartGame();
            }
        }
Exemplo n.º 4
0
        public override void RemovePlayer(GamePeer peer, ExitRequest exitReq, SendParameters sendParameters)
        {
            BaccaratPlayer player = playerManager.GetPlayer(peer) as BaccaratPlayer;

            playersBetDic.Remove(player);
            seatsDic.Remove(player.seat);

            base.RemovePlayer(peer, exitReq, sendParameters);

            CheckAllBet();
        }
Exemplo n.º 5
0
        public void Bet(GamePeer peer, SendBetRequest sendBet)
        {
            BaccaratPlayer player = playerManager.GetPlayer(peer) as BaccaratPlayer;
            var            bet    = new BaccaratBet(sendBet.BankerBet, sendBet.PlayerBet, sendBet.TieBet);

            if (HasBet(player) == false && CanBet(player, bet))
            {
                playersBetDic.Add(player, bet);
            }

            CheckAllBet();
        }
Exemplo n.º 6
0
 private void SitInEmptySeat(BaccaratPlayer player)
 {
     foreach (int seatNum in seatPriority)
     {
         if (seatsDic.ContainsKey(seatNum) == false)
         {
             player.seat = seatNum;
             seatsDic.Add(seatNum, player);
             return;
         }
     }
 }
Exemplo n.º 7
0
 private void SendResultToPlayers()
 {
     playerManager.ForEach((player) =>
     {
         BaccaratPlayer bPlayer = player as BaccaratPlayer;
         if (playersBetDic.ContainsKey(bPlayer))
         {
             var bet = playersBetDic[bPlayer];
             GameResultResponse response = game.GetBetResult(bet);
             bPlayer.peer.SendOperationResponse(new OperationResponse(CommonOperationCode.BaccaratGameResult, response), new SendParameters());
             bPlayer.money += response.MoneyDelta;
             //WebHelper.UpdatePlayerMoney(player.name, response.MoneyDelta);
         }
         else
         {
             var bet = new BaccaratBet(0, 0, 0);
             GameResultResponse response = game.GetBetResult(bet);
             bPlayer.peer.SendOperationResponse(new OperationResponse(CommonOperationCode.BaccaratGameResult, response), new SendParameters());
         }
     });
 }
Exemplo n.º 8
0
 private bool CanBet(BaccaratPlayer player, BaccaratBet bet)
 {
     return(player.money >= (bet.BankerBet + bet.PlayerBet + bet.TieBet));
 }
Exemplo n.º 9
0
 private void SitInEmptySeat(BaccaratPlayer player)
 {
     foreach(int seatNum in seatPriority)
     {
         if (seatsDic.ContainsKey(seatNum) == false)
         {
             player.seat = seatNum;
             seatsDic.Add(seatNum, player);
             return;
         }
     }
 }
Exemplo n.º 10
0
 private bool CanBet(BaccaratPlayer player, BaccaratBet bet)
 {
     return player.money >= (bet.BankerBet + bet.PlayerBet + bet.TieBet);
 }