Example #1
0
        public override void action(BJLoopContext context)
        {
            if (BJLogicHelper.round_complete(context.GameState))
            {
                context.BJLoop = new BJDealerTurn();
            }
            else
            {
                BJLogicHelper.debug_state(context.GameState);

                if (BJLogicHelper.cards_value(context.GameState.Player.Hand) >= BJLoop.BLACKJACK)
                {
                    if (context.GameState.Player.Split)
                    {
                        context.BJLoop = new BJPlayerSplitTurn();
                    }
                    else
                    {
                        context.GameState.Current_Player += 1;
                        context.BJLoop = new BJPlayerTurn();
                    }
                }
                else
                {
                    context.BJLoop = new BJPlayerAction();
                }
            }
        }
Example #2
0
 public override void action(BJLoopContext context)
 {
     context.GameState.Deck.shuffle();
     context.BJLoop = new BJPlayerBet();
     //two cards lul
     BJActions.deal(context);
     BJActions.deal(context);
 }
Example #3
0
 public static void split(BJLoopContext context)
 {
     Console.WriteLine("Action: split");
     context.GameState.Player.Split       = true;
     context.GameState.Player.Wallet.Bet += context.GameState.Player.Wallet.Bet;
     context.GameState.Deck.draw(context.GameState.Player.Hand);
     context.GameState.Deck.draw(context.GameState.Player.Split_Hand);
     context.BJLoop = new BJPlayerTurn();
 }
Example #4
0
        /*
         * dealer deals 2 card from dekk
         */
        public static void deal(BJLoopContext context)
        {
            while (!BJLogicHelper.round_complete(context.GameState))
            {
                context.GameState.Deck.draw(context.GameState.Player.Hand);
                context.GameState.Current_Player += 1;
            }

            context.GameState.Deck.draw(context.GameState.Dealer.Hand);
        }
Example #5
0
 public override void action(BJLoopContext context)
 {
     if (BJLogicHelper.round_complete(context.GameState))
     {
         context.BJLoop = new BJPlayerTurn();
     }
     else
     {
         context.GameState.Player.action(context);
     }
 }
Example #6
0
        public override void action(BJLoopContext context)
        {
            BJLogicHelper.debug_state(context.GameState);

            foreach (Player p in context.GameState.Players)
            {
                p.Wallet.Bet = 0;
            }

            context.BJLoop = new BJEnd();
        }
Example #7
0
 public static void stand(BJLoopContext context)
 {
     Console.WriteLine("Action: stand");
     // if split is false OR we come from a split turn
     if (!context.GameState.Player.Split || context.BJLoop.GetType() == typeof(BJPlayerSplitTurn))
     {
         context.GameState.Current_Player += 1;
         context.BJLoop = new BJPlayerTurn();
     }
     else if (context.GameState.Player.Split) // should only be else
     {
         context.BJLoop = new BJPlayerSplitTurn();
     }
 }
Example #8
0
 public static void bet(BJLoopContext context, int coin = 100)
 {
     //if player can bet
     if (context.GameState.Player.Wallet.Balance >= 100)
     {
         context.GameState.Player.Wallet.Bet = coin;
     }
     else
     {
         ;//kick player from current game
     }
     context.GameState.Current_Player += 1;
     context.BJLoop = new BJPlayerBet();
 }
Example #9
0
        public override void action(BJLoopContext context)
        {
            BJLogicHelper.debug_state(context.GameState);

            if (BJLogicHelper.cards_value(context.GameState.Player.Split_Hand) >= BJLoop.BLACKJACK)
            {
                context.GameState.Current_Player += 1;
                context.BJLoop = new BJPlayerTurn();
            }
            else
            {
                context.GameState.Player.action(context);
            }
        }
Example #10
0
 //private GameState _state;
 public static void hit(BJLoopContext context)
 {
     Console.WriteLine("Action: hit");
     if (context.BJState.GetType() == typeof(BJPlayerSplitTurn))
     {
         context.GameState.Deck.draw(context.GameState.Player.Split_Hand);
         context.BJLoop = new BJPlayerSplitTurn();
     }
     else
     {
         context.GameState.Deck.draw(context.GameState.Player.Hand);
         context.BJLoop = new BJPlayerTurn();
     }
     BJLogicHelper.debug_state(context.GameState);
 }
Example #11
0
        public static void hitstand(BJLoopContext context)
        {
            int player_hand = BJLogicHelper.cards_value(context.GameState.Player.Hand);

            if (context.BJLoop.GetType() == typeof(BJPlayerSplitTurn))
            {
                player_hand = BJLogicHelper.cards_value(context.GameState.Player.Split_Hand);
            }

            if (player_hand < 17)
            {
                BJActions.hit(context);
            }
            else
            {
                BJActions.stand(context);
            }
        }
Example #12
0
        public override void action(BJLoopContext context)
        {
            Type temp = context.BJLoop.GetType();

            if (temp == typeof(BJPlayerBet))
            {
                AIOracle.bet(context);
            }

            if (context.GameState.Player.can_split())
            {
                AIOracle.split(context);
            }
            else if (temp == typeof(BJPlayerAction) || temp == typeof(BJPlayerSplitTurn))
            {
                AIOracle.hitstand(context);
            }
        }
Example #13
0
        public override void action(BJLoopContext context)
        {
            int dealer_hand = BJLogicHelper.cards_value(context.GameState.Dealer.Hand);

            while (dealer_hand < 17)
            {
                context.GameState.Deck.draw(context.GameState.Dealer.Hand);
                dealer_hand = BJLogicHelper.cards_value(context.GameState.Dealer.Hand);
            }

            if (dealer_hand == BLACKJACK)
            {
                context.BJLoop = new BJDealerWins();
            }
            else
            {
                context.BJLoop = new BJCalculateResults();
            }
        }
Example #14
0
 public abstract void action(BJLoopContext context);
Example #15
0
 public override void action(BJLoopContext context)
 {
     BJLogicHelper.clean_up(context.GameState);
     context.BJLoop = new BJStart();
 }
Example #16
0
 public override void action(BJLoopContext context)
 {
     BJLogicHelper.calc_results(context.GameState);
     context.BJLoop = new BJEnd();
 }
Example #17
0
 public override void action(BJLoopContext context)
 {
     // Deal 2 cards to all players and dealer
     context.BJLoop = new BJStart();
 }
Example #18
0
 public override void action(BJLoopContext context)
 {
     context.GameState.Player.action(context);
 }
Example #19
0
 public override void action(BJLoopContext context)
 {
 }
Example #20
0
 public static void split(BJLoopContext context)
 {
     BJActions.split(context);
 }
Example #21
0
 public static void bet(BJLoopContext context)
 {
     BJActions.bet(context);
 }