public void ShowAllGamerCards(GamerView player)
 {
     foreach (CardView card in player.PlayersCardView)
     {
         Console.WriteLine($"{card.CardSuit} {card.CardNumber}");
     }
 }
示例#2
0
        public void DoGame()
        {
            Output.ShowSomeOutput(TextCuts.StartGame);
            Output.ShowSomeOutput(TextCuts.EnterName);

            GameService  gameService  = new GameService();
            RoundService roundService = new RoundService();

            string userName = Input.InputString();

            Output.ShowSomeOutput(TextCuts.HowManyBots, Settings.MaxBots);
            int howManyBots = Input.InputInt(Settings.MinBots, Settings.MaxBots);

            Output.ShowSomeOutput(TextCuts.EnterValidRate, Settings.MinRateForGamer, Settings.MaxRateForGamer);
            int rate = Input.InputInt(Settings.MinRateForGamer, Settings.MaxRateForGamer);

            Output.ShowSomeOutput(TextCuts.ShowStartRaund);

            var GameInfo = new GameInfoModel
            {
                UserName    = userName,
                UserRate    = rate,
                HowManyBots = howManyBots
            };

            GamerView gamer = gameService.PrepareGame(GameInfo);

            Output.ShowAllGamerCards(gamer);
            Output.ShowSomeOutput(TextCuts.NowYouHave + gamer.Points);

            bool   isAnswer = true;
            string gamerAnswer;

            while (isAnswer)
            {
                Output.ShowSomeOutput(TextCuts.DoYouWantCard);
                gamerAnswer = Input.InputString();
                if (gamerAnswer == Settings.YesAnswer && gamer.Status != GamerViewStatus.Enough)
                {
                    gamer = roundService.GiveCardToTheRealPlayer();
                    Output.ShowAllGamerCards(gamer);
                    Output.ShowSomeOutput(TextCuts.NowYouHave + gamer.Points);
                }
                if (gamerAnswer != Settings.YesAnswer || gamer.Status == GamerViewStatus.Many)
                {
                    isAnswer = false;
                    gameService.GamerSayEnaugh();
                }
            }

            List <GamerView> finalResult = roundService.DoRoundForAllGamerWithResult();

            Output.ShowFinishResult(finalResult);
            gameService.WriteHistoryInFile();

            Console.ReadKey();
        }
示例#3
0
        public GamerView MappingByAutoMapper(Gamer player)
        {
            MapperConfiguration getMapper = MapperConfig.GetMapperConfiguration();
            var mapper = new Mapper(getMapper);

            GamerView mappingGamer = Mapper.Map <GamerView>(player);

            return(mappingGamer);
        }
示例#4
0
        public GamerView GamerFromViewList(List <GamerView> gamerViewList)
        {
            var gamer = new GamerView();

            foreach (GamerView player in gamerViewList)
            {
                if (player.Role == GamerViewRole.Gamer)
                {
                    gamer = player;
                }
            }

            return(gamer);
        }
示例#5
0
        public GamerView PrepareGame(GameInfoModel gameInfo)
        {
            StaticGamerList.StaticGamersList = GenerateBotList(StaticGamerList.StaticGamersList, gameInfo.HowManyBots, Settings.BotName);
            StaticGamerList.StaticGamersList = AddPlayer(StaticGamerList.StaticGamersList, gameInfo.UserName, gameInfo.UserRate, GamerRole.Gamer, GamerStatus.Plays);
            StaticGamerList.StaticGamersList = AddPlayer(StaticGamerList.StaticGamersList, Settings.DealerName, Settings.DealerRate, GamerRole.Dealer, GamerStatus.Plays);
            StaticCardList.StaticCardsList   = CardDeckService.DoOneDeck();
            RoundService round = new RoundService();

            StaticGamerList.StaticGamersList = round.DoFirstRound(StaticGamerList.StaticGamersList, StaticCardList.StaticCardsList, Settings.HowManyCardsInFirstRound);

            List <GamerView> outputGamerViewList = GetGamerViewList(StaticGamerList.StaticGamersList);

            GamerView gamer = GamerFromViewList(outputGamerViewList);

            return(gamer);
        }
示例#6
0
        public GamerView GiveCardToTheRealPlayer()
        {
            Gamer gamer = new Gamer();

            foreach (Gamer player in StaticGamerList.StaticGamersList)
            {
                if (player.Role == GamerRole.Gamer)
                {
                    gamer = player;
                }
            }
            var mapper = new Mappered();

            DoRoundForGamer(gamer, StaticCardList.StaticCardsList);
            GamerView gamerView = mapper.MappingByAutoMapper(gamer);

            return(gamerView);
        }