Beispiel #1
0
        /// <summary>
        ///     Converts to players shared.
        /// </summary>
        /// <param name="players">The players.</param>
        /// <returns></returns>
        private static List <BjPlayerShared> ConvertToPlayersShared(this List <BjPlayer> players)
        {
            var sharedPlayers = new List <BjPlayerShared>();

            foreach (var player in players)
            {
                var sharedPlayer = new BjPlayerShared(player.NetId, player.Name, player.Position, player.Chips)
                {
                    CurrentBet    = player.CurrentBet,
                    HandInsurance = player.HandInsurance,
                    CurrentHands  = new List <BjHandShared>()
                };

                foreach (var hand in player.CurrentHands)
                {
                    var sharedHand = new BjHandShared(hand.Bet, hand.Cards)
                    {
                        IsActive     = hand.IsActive,
                        IsStanding   = hand.IsStanding,
                        IsDoubleDown = hand.IsDoubleDown
                    };

                    sharedPlayer.CurrentHands.Add(sharedHand);
                }

                sharedPlayers.Add(sharedPlayer);
            }

            return(sharedPlayers);
        }
Beispiel #2
0
        public static bool TestConverters()
        {
            var dealer = new BjDealer(1, "Dealer");

            dealer.CurrentHand = new BjHand(0)
            {
                Cards = new List <PlayingCard> {
                    new PlayingCard(CardSuit.Clubs, CardFace.Ace),
                    new PlayingCard(CardSuit.Hearts, CardFace.Jack)
                }
            };

            var player = new BjPlayer(2, "Player", 1, 5000);

            player.CurrentHands = new List <BjHand> {
                new BjHand {
                    Bet      = 10,
                    IsActive = true,
                    Cards    = new List <PlayingCard> {
                        new PlayingCard(CardSuit.Spades, CardFace.Two),
                        new PlayingCard(CardSuit.Diamonds, CardFace.Three)
                    }
                }
            };

            var game = new BjGame(dealer, Vector3.One, new List <BjPlayer> {
                player
            }, 10, 4, 1.5f);

            game.IsActive = true;

            var sharedDealer = new BjDealerShared(1, "Dealer");

            sharedDealer.CurrentHand = new BjHandShared(0)
            {
                Cards = new List <PlayingCard> {
                    new PlayingCard(CardSuit.Clubs, CardFace.Ace),
                    new PlayingCard(CardSuit.Hearts, CardFace.Jack)
                }
            };

            var sharedPlayer = new BjPlayerShared(2, "Player", 1, 5000);

            sharedPlayer.CurrentHands = new List <BjHandShared> {
                new BjHandShared {
                    Bet      = 10,
                    IsActive = true,
                    Cards    = new List <PlayingCard> {
                        new PlayingCard(CardSuit.Spades, CardFace.Two),
                        new PlayingCard(CardSuit.Diamonds, CardFace.Three)
                    }
                }
            };

            var sharedGame = new BjGameShared(sharedDealer.Name, sharedDealer, Vector3.One,
                                              new List <BjPlayerShared> {
                sharedPlayer
            }, 10, 4, 1.5f);


            var gameConverted   = game.ConvertToGameShared();
            var sharedConverted = sharedGame.ConvertToGame(null);

            bool test1 = BjSharedConverters.TestConvertSharedToGame(sharedConverted, game);
            bool test2 = BjSharedConverters.TestConvertGameToShared(gameConverted, sharedGame);

            Log.ToChat($"TestConvertSharedToGame success={test1}");
            Log.ToChat($"TestConvertSharedToGame success={test2}");

            return(test1 && test2);
        }