コード例 #1
0
ファイル: BetRoundState.cs プロジェクト: jo13bc/Texas_Hold_em
        public bool execute(ModelContext model)
        {
            bool         result     = false;
            int          playerTurn = model.getPlayerTurn();
            PlayerEntity player     = model.getPlayer(playerTurn);
            BetCommand   command    = player.getBetCommand();

            if (command != null)
            {
                BetCommand resultCommand = command;
                player.setBetCommand(null);
                long           betChips    = 0;
                BetCommandType commandType = command.getType();
                if (CHECKERS[commandType](model, player, command))
                {
                    betChips = command.getChips();
                    player.setState(TexasHoldEmUtil.convert(command.getType()));
                }
                else
                {
                    commandType = BetCommandType.FOLD;
                    player.setState(PlayerState.FOLD);
                    if (command.getType() == BetCommandType.TIMEOUT)
                    {
                        resultCommand = new BetCommand(BetCommandType.TIMEOUT);
                    }
                    else
                    {
                        resultCommand = new BetCommand(BetCommandType.ERROR);
                    }
                    ModelUtil.incrementErrors(player, model.getSettings());
                }
                ModelUtil.playerBet(model, player, commandType, betChips);
                model.lastResultCommand(player, resultCommand);
                model.setPlayerTurn(ModelUtil.nextPalyer(model, playerTurn));
                result = true;
            }

            return(result);
        }
コード例 #2
0
 public bool isActive()
 {
     return(TexasHoldEmUtil.getPlayerState(state));
 }