public StrategyB(IConfigurationSetter configuration, IConsoleReadWrap consoleRead) { if (configuration == null || consoleRead == null) { throw new NullReferenceException(nameof(StrategyA)); } _message = configuration.Message; _consoleRead = consoleRead; }
//private ISecondaryInputProvider _inputProvider; //ISecondaryInputProvider inputProvider public HumanStrategy(IConfigurationSetter configuration, IConsoleReadWrap consoleRead) { if (configuration == null || consoleRead == null) { throw new NullReferenceException(nameof(HumanStrategy)); } _message = configuration.Message; _alert = configuration.Alert; _consoleRead = consoleRead; //_inputProvider = inputProvider; }
public ManualInputProvider(IConsoleReadWrap consoleReadWrap) { _consoleReadWrap = consoleReadWrap; message = consoleReadWrap.ReadAppSettings(); }
internal FoolGame36Cards(IConfigurationSetter languageSet, IDeck deck, IGameSetter gameSetter, IConsoleReadWrap comReadWrap, IUserIdetifier userIdetifier) { if (languageSet == null || deck == null || gameSetter == null || comReadWrap == null) { throw new NullReferenceException(nameof(Table)); } _languageSet = languageSet; _deck = deck; _gameSetter = gameSetter; _comReadWrap = comReadWrap; _players = _gameSetter.Players; MinCards = _languageSet.Constant.numberOfCards_1_; string wantToContinue = _languageSet.Constant.WantToContinue_7_; string flag = wantToContinue; SetTurnToPlayers(); while (flag == wantToContinue) { Console.Clear(); Console.WriteLine("{0}", _languageSet.Message.welcome_11_); //Welcome to DURAK game!!! Console.WriteLine("-----------------------------------------------------------------------------------------------"); Console.WriteLine($"{_languageSet.Message.hello_13_} {userIdetifier.UserName}!"); //Hello Console.WriteLine("-----------------------------------------------------------------------------------------------"); Console.WriteLine($"{_languageSet.Message.trumpCardIs_17_} {_deck.ShowTrumpCard()}"); //This time your Trump card is foreach (var player in _players) { _deck.GiveCardFromDeck(MinCards, player); // Give 6 cards to every player } Console.WriteLine("-----------------------------------------------------------------------------------------------"); while (_players[0].HowManyCardsOnHands() > 0 && _players[1].HowManyCardsOnHands() > 0) { //tempdefence = null; Console.WriteLine("-----------------------------------------------------------------------------------------------"); Console.WriteLine($"{_languageSet.Message.yourTurn_18_}"); // _players[0].ShowOnHands(); Console.WriteLine($"{_languageSet.Message.thereIs_19_} {_players[1].HowManyCardsOnHands()} {_languageSet.Message.cardsInCpuHands_20_}"); //There is(are) XX card(s) in CPU hands //CPU.ShowOnHands(); CardsOnTableAre(); Card Attack = player1.Attack(_cardsOnTable); if (Attack != null) { player1.RemoveCardFromHands(Attack); _cardsOnTable.Add(Attack); Card defCard = player2.Defend(_cardsOnTable, Attack); if (defCard != null) { player2.RemoveCardFromHands(defCard); _cardsOnTable.Add(defCard); CardsOnTableAre(); } else // (tempdefence == null) { _deck.GiveCardFromDeck(player1.CardsToTake(), player1); for (int i = 0; i <= _cardsOnTable.Count - 1; i++) { player2.AddCardToHands(_cardsOnTable[i]); } _cardsOnTable.Clear(); Console.WriteLine($"{_languageSet.Message.thereIs_19_} {_deck.HowManyCardsInDeck()} {_languageSet.Message.cardsInDeck_21_}"); //There is(are) XX card(s) in Deck } } else { Console.WriteLine($"{_languageSet.Message.turnChanges_22_}"); //Turn changes _deck.GiveCardFromDeck(player1.CardsToTake(), player1); _deck.GiveCardFromDeck(player2.CardsToTake(), player2); _cardsOnTable.Clear(); Console.WriteLine($"{_languageSet.Message.thereIs_19_} {_deck.HowManyCardsInDeck()} {_languageSet.Message.cardsInDeck_21_}"); // Player tempPlayer = player1; player1 = player2; player2 = tempPlayer; } } if (player1.HowManyCardsOnHands() == 0 && player2.HowManyCardsOnHands() == 0) { Console.WriteLine("-----------------------------------------------------------------------------------------------"); Console.WriteLine($"{_languageSet.Message.drawThisTime_24_}"); //It is draw in this Game!!!!!! Console.WriteLine("-----------------------------------------------------------------------------------------------"); } else if (player1.HowManyCardsOnHands() == 0 && player2.HowManyCardsOnHands() > 0) { Console.WriteLine("-----------------------------------------------------------------------------------------------"); Console.WriteLine($"{_languageSet.Message.congratulations_25_} {player1.PlayerName}, {_languageSet.Message.youAreWinner_26_}"); //Congratulations XX you are winner!!!!!! Console.WriteLine("-----------------------------------------------------------------------------------------------"); } else { Console.WriteLine("-----------------------------------------------------------------------------------------------"); Console.WriteLine($"{player1.PlayerName}, {_languageSet.Message.youLoseThisGame_27_} "); //you lose this time Console.WriteLine("-----------------------------------------------------------------------------------------------"); } Console.WriteLine("-----------------------------------------------------------------------------------------------"); Console.WriteLine($"--------------{_languageSet.Message.press_28_} {wantToContinue} {_languageSet.Message.toStartAgain_29_}-------------------------------------"); //Press __ to start again or any button to EXIT flag = (Console.ReadLine())?.ToUpper(); } _comReadWrap.ReturnExit(); }
/// <summary> /// /// </summary> /// <param name="languageSetter"></param> /// <param name="gamePicker"></param> public ICardGameRules Return36CardsFoolGame(IConfigurationSetter languageSet, IDeck deck, IGameSetter gameSetter, IConsoleReadWrap consoleReadWrap, IUserIdetifier userIdetifier) { return(new FoolGame36Cards(languageSet, deck, gameSetter, consoleReadWrap, userIdetifier)); }
public StrategyFactory(IConfigurationSetter configurationSetter, IConsoleReadWrap consoleRead) { _configurationSetter = configurationSetter; _consoleRead = consoleRead; }
public SecondaryInputProvider(IConfigurationSetter configurationSetter, IConsoleReadWrap consoleReadWrap) { _consoleReadWrap = consoleReadWrap; _configurationSetter = configurationSetter; }