Example #1
0
        public void RegularPlayerTurn(Card playingCard)
        {
            if (currentBout.turnMode == false)
            {
                if (RegularPlayer.AttackDecision(currentBout.boutCount, currentBout.BoutCards, playingCard))
                {
                    currentBout.BoutCards.Add(playingCard);
                    currentBout.lastPlayed = playingCard;
                    RegularPlayer.Hand.Remove(playingCard);

                    WriteLog("\nPlayer attakcs with " + playingCard.ToString());

                    playTurn();

                    AIPlayerTurn();
                }
            }
            else
            {
                if (RegularPlayer.DefenseDecision(currentBout.lastPlayed, playingCard))
                {
                    currentBout.BoutCards.Add(playingCard);
                    currentBout.lastPlayed = playingCard;
                    RegularPlayer.Hand.Remove(playingCard);

                    WriteLog("\nPlayer defends with " + playingCard.ToString());

                    playTurn();

                    AIPlayerTurn();
                }
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            //Basket basket = new Basket();
            //Console.WriteLine(basket);

            var firstPlayer = new RegularPlayer(EnumTypesOfPlayer.RegularPlayer, "Ulua_1");

            Library.GetNewVariant(firstPlayer);

            var secondPlayer = new NotepadPlayer(EnumTypesOfPlayer.NotepadPlayer, "Anisia_2");
            //Library.GetNewVariant(secondPlayer);

            var thirdPlayer = new UberPlayer(EnumTypesOfPlayer.UberPlayer, "Petr_3");
            //Library.GetNewVariant(thirdPlayer);

            var fourthPlayer = new UberCheaterPlayer(EnumTypesOfPlayer.UberCheaterPlayer, "Petya_3");
            //Library.GetNewVariant(fourthPlayer);

            var fifthPlayer = new CheaterPlayer(EnumTypesOfPlayer.CheaterPlayer, "Pavel");
            //Library.GetNewVariant(fifthPlayer);

            var sixPlayer = new UberCheaterPlayer(EnumTypesOfPlayer.UberCheaterPlayer, "Mama");
            //Library.GetNewVariant(sixPlayer);

            var sevenPlayer = new RegularPlayer(EnumTypesOfPlayer.RegularPlayer, "Papa");

            Console.WriteLine("\n\tЛист игроков");
            for (int i = 0; i < AllLists.allPlayers.Count; i++)
            {
                Console.WriteLine(" " + AllLists.allPlayers[i] + " ");
            }
            Console.WriteLine();
            Library.ChangeConsole(-25, 2);
            Library.Game();
        }
        public IPlayer Create()
        {
            RegularPlayer p = Activator.CreateInstance(players[RngProvider.Random.Next(players.Count)]) as RegularPlayer;

            p.ItemPrice     = 10;
            p.Id            = playerCount;
            p.Name          = "Player" + playerCount++;
            p.WaitressMoney = 3;

            return(p);
        }
        public void Start_Game_With_Three_Players()
        {
            _playerThree = CreateUser();
            _sut         = _boardGameFactory.ToThreePlayer(_playerOne, _playerTwo, _playerThree);
            _sut.Start();

            _sut.Players.NumberOfPlayers.Should().Be(3);
            _playerOne.BetCardsQuantity.Should().Be(2);
            _playerOne.MyRacingCards.Count().Should().Be(6);
            _playerTwo.MyRacingCards.Count().Should().Be(6);
            _playerThree.MyRacingCards.Count().Should().Be(6);
        }
        public BoardGameShould()
        {
            _racingCardManager = new RacingCardManager(_racingCardsFactory,
                                                       new RandomMixStrategy(),
                                                       _racingCardOnDeskManager);

            _boardGameFactory = new BoardGameFactory(new PlayersManagerFactory(new RandomMixStrategy(),
                                                                               _racingCardManager),
                                                     _racingCardOnDeskManager);
            _playerOne = CreateUser();
            _playerTwo = CreateUser();
            _sut       = _boardGameFactory.ToTwoPlayer(_playerOne, _playerTwo);
        }
Example #6
0
        private string ValidateBet(RegularPlayer player)
        {
            var betIsValid = game.BetIsValid(player);
            var pName      = player.Name;

            while (!betIsValid)
            {
                Console.BackgroundColor = ConsoleColor.DarkRed;
                Console.WriteLine(($"{pName}: Balance lower then bet amount!"));
                Console.ResetColor();
                betIsValid = game.BetIsValid(player);//player re-enters bet

                if (betIsValid)
                {
                    break;
                }
            }
            return($"{pName} bet {player.Bet}$");
        }
        public async Task MediatRAsync()
        {
            //TODO: Refactor this implementation of Static Property
            BoardGame.Mediator = BuildMediator();

            _playerThree = CreateUser();
            _sut         = _boardGameFactory.ToThreePlayer(_playerOne, _playerTwo, _playerThree);

            ITrackManager trackManager = new TrackManager(new TracksFactory(), new DecideSideFactory());

            _sut.Start();
            new RacingManager(_racingCardOnDeskManager,
                              trackManager).StartRace();

            _sut.Players.NumberOfPlayers.Should().Be(3);
            _playerOne.BetCardsQuantity.Should().Be(2);
            _playerOne.MyRacingCards.Count().Should().Be(6);
            _playerTwo.MyRacingCards.Count().Should().Be(6);
            _playerThree.MyRacingCards.Count().Should().Be(6);
        }
Example #8
0
        static void Main(string[] args)
        {
            Thread mainThread = Thread.CurrentThread;

            RegularPlayer myRegPlayer     = new RegularPlayer("Vilgelm");
            UberPlayer    myUberPlayer    = new UberPlayer("Gans");
            BloknotPlayer myBloknotPlayer = new BloknotPlayer("Valentin");

            Game newGame = new Game(0, 10, 7);


            newGame.AddPlayer(myRegPlayer);
            newGame.AddPlayer(myUberPlayer);
            newGame.AddPlayer(myBloknotPlayer);


            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine($"game started, thread {mainThread.ManagedThreadId}");
            var gameResult = newGame.PlayGame();

            if (gameResult.Result)
            {
                var winner = newGame.GetWinner();
                Console.WriteLine($"winner is {winner.Name} ");
            }
            else
            {
                Console.WriteLine("No winner");
            }

            Player.PrintAllPlayerResults();

            myRegPlayer.PrintAnswer();
            myUberPlayer.PrintAnswer();
            myBloknotPlayer.PrintAnswer();



            Console.ReadKey();
        }
Example #9
0
        public void nextBout()
        {
            if (RegularPlayer.Hand.Count < 6)
            {
                RegularPlayer.dealPlayerHand(GameDeck, RegularPlayer.Hand.Count);
            }

            if (AIPlayer.Hand.Count < 6)
            {
                AIPlayer.dealPlayerHand(GameDeck, AIPlayer.Hand.Count);
            }

            WriteLog("\nNew Bout");

            CurrentBout.Initialize();
            currentBout.startPlayer = (currentBout.startPlayer == 0) ? 1 : 0;
            currentBout.playerTurn  = currentBout.startPlayer;
            currentBout.turnMode    = false;

            if (currentBout.startPlayer == 1)
            {
                AIPlayerTurn();
            }
        }
Example #10
0
        public static Player Start()
        {
            Player player = null;
            bool   flag   = true;
            int    tryCounter;

            while (flag)
            {
                foreach (Player playerF in _Players)
                {
                    switch (playerF.Type)
                    {
                    case "Обычный":
                        IGame regularPlayer = new RegularPlayer(playerF.Name);
                        _result = regularPlayer.Play();
                        _regularPlayerStats.Add(_result);
                        player = playerF;
                        break;

                    case "Игрок-блокнот":
                        IGame notePlayer = new NotePlayer(playerF.Name);
                        _result = notePlayer.Play();
                        _notePlayerStats.Add(_result);
                        player = playerF;
                        break;

                    case "Убер-игрок":
                        IGame uberPlayer = new UberPlayer(playerF.Name);
                        _result = uberPlayer.Play();
                        _uberPlayerStats.Add(_result);
                        player = playerF;
                        break;

                    case "Читер":
                        IGame cheaterPlayer = new CheaterPlayer(playerF.Name);
                        _result = cheaterPlayer.Play();
                        _cheaterPlayerStats.Add(_result);
                        player = playerF;
                        break;

                    case "Убер-читер":
                        IGame uberCheaterPlayer = new UberCheaterPlayer(playerF.Name);
                        _result = uberCheaterPlayer.Play();
                        _uberCheaterPlayerStats.Add(_result);
                        player = playerF;
                        break;
                    }

                    _tryCounter++;

                    if (_tryCounter >= 100)
                    {
                        flag   = false;
                        player = null;
                        break;
                    }

                    if (_result == _bucketWeight)
                    {
                        flag = false;
                        break;
                    }
                }
            }

            return(player);
        }
Example #11
0
 private void PrintBet(RegularPlayer player)
 {
     Console.WriteLine($"{player.Name} bet {player.Bet}$");
 }
Example #12
0
        static void Main(string[] args)
        {
            // value, that players need to guess and maximum number of turns
            int valueToGuess     = 45;
            int maxNumberOfTurns = 100;
            int minValueToGuess  = 40;
            int maxValueToGuess  = 140;

            bool continueGame = true;

            do
            {
                Console.WriteLine($"Choose your action\n1 - Play new game\n2 - Exit");
                int  action        = int.Parse(Console.ReadLine());
                Menu menuOperation = (Menu)action;

                // simple menu logic
                switch (menuOperation)
                {
                case Menu.Newgame:
                {
                    try
                    {
                        Console.WriteLine("Enter value to guess");
                        valueToGuess = int.Parse(Console.ReadLine());

                        if (valueToGuess < minValueToGuess || valueToGuess > maxValueToGuess)

                        {
                            throw new ArgumentOutOfRangeException();
                        }

                        // create a new game
                        Game myGame = new Game(valueToGuess, maxNumberOfTurns);

                        // create new players add add them to the game
                        RegularPlayer myRegularPlayer     = new RegularPlayer("Vasya", 1);
                        UberPlayer    myUberPlayer        = new UberPlayer("Gans", 2);
                        Bloknot       myBloknotPlayer     = new Bloknot("Igor Valerievish", 3);
                        Cheater       myCheaterPlayer     = new Cheater("Gome Simson", 4);
                        UberCheater   myUberCheaterPlayer = new UberCheater("Mozzg", 5);

                        myGame.AddPlayer(myRegularPlayer);
                        myGame.AddPlayer(myUberPlayer);
                        myGame.AddPlayer(myBloknotPlayer);
                        myGame.AddPlayer(myCheaterPlayer);
                        myGame.AddPlayer(myUberCheaterPlayer);


                        // start game
                        GeneralPlayer winner = myGame.PlayGame();
                        // write name of the pleyer, who guessed the value if exist
                        if (winner != null)
                        {
                            Console.WriteLine($"Player {winner.Name} won");
                        }
                        // or write name of the pleyer, who gave the nearest value
                        else
                        {
                            winner = myGame.GetNearestResult();
                            Console.WriteLine($"Player {winner.Name} gave the nearest result");
                        }
                    }
                    catch (ArgumentOutOfRangeException)
                    {
                        Console.WriteLine("Value to guess should be in range [40,140]");
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("Cant parse to int");
                    }
                    break;
                }

                case Menu.Exit:
                {
                    continueGame = false;
                    break;
                }
                }
            } while (continueGame);


            Console.ReadKey();
        }