private RecursiveCombatDay22 CreateSubGame() { var subsetPlayer1 = Player1Cards.Skip(1).Take(Player1Cards.First()).ToList(); var subsetPlayer2 = Player2Cards.Skip(1).Take(Player2Cards.First()).ToList(); return(new RecursiveCombatDay22(subsetPlayer1, subsetPlayer2)); }
//check if a player has every card in a list //player //List<Card> public bool HasListOfCard(Player player, IList <Card> lCard) { bool result = true; //check player 1 if (player == Player.One) { foreach (Card c in lCard) { if (!Player1Cards.Contains(c)) { result = false; } } } //check player 2 else { foreach (Card c in lCard) { if (!Player2Cards.Contains(c)) { result = false; } } } return(result); }
private void PlayerHasCard(Player player, Card c) { if (player == Player.One && !Player1Cards.Contains(c)) { _currentError = ErrorMessage.NotPlayerCard; throw new ArgumentException("Player one does not have this card", "player"); } else if (player == Player.Two && !Player2Cards.Contains(c)) { _currentError = ErrorMessage.NotPlayerCard; throw new ArgumentException("Player two does not have this card", "player"); } }
private void PlaySubGame() { var subGame = CreateSubGame(); ExecuteSubGame(subGame); if (subGame.IsPlayer1Winner()) { AddCardsToWinner(Player1Cards.First(), Player2Cards.First(), Player1Cards); } else { AddCardsToWinner(Player2Cards.First(), Player1Cards.First(), Player2Cards); } RemoveFirstCards(); }
public static void Turn() { using (var stream = new StreamWriter(Path, true)) { if (Player1Cards.Count != 0 && Player2Cards.Count != 0) { var card1 = Player1Cards.Peek().CardsValue + " " + Player1Cards.Peek().CardsColor; var card2 = Player2Cards.Peek().CardsValue + " " + Player2Cards.Peek().CardsColor; stream.WriteLine($" Turn {GameLogic.Turn} "); stream.WriteLine($" Cards: {card1} and {card2} "); } else { stream.WriteLine($" # # # Game Finish! # # # "); } } }
private void DisplayCards(EPlayer player) { if (player == EPlayer.Player1) { Player1 = Player1Cards.FirstOrDefault(); lblCarNamePlayer1.Text = Player1.Name; lblCarBrandPlayer1.Text = Player1.Brand; lblCodeCardPlayer1.Text = Player1.Code; lblConsumptionPlayer1Value.Text = Player1.Consumption.ToString(); lblHorsePowerPlayer1Value.Text = Player1.HorsePower.ToString(); lblLengthPlayer1Value.Text = Player1.Length.ToString(); lblDisplacementsPlayer1Value.Text = Player1.Displacements.ToString(); lblMaxSpeedPlayer1Value.Text = Player1.MaxSpeed.ToString(); lblPricePlayer1Value.Text = Player1.Price.ToString(); //picCardPlayer1.Image = Player1.Image; //picCountryPlayer1.Image = Player1.; picCarPlayer1.Image = Player1.Image; } if (player == EPlayer.Player2) { Player2 = Player2Cards.FirstOrDefault(); lblCarNamePlayer2.Text = Player2.Name; lblCarBrandPlayer2.Text = Player2.Brand; lblCodeCardPlayer2.Text = Player2.Code; lblConsumptionPlayer2Value.Text = Player2.Consumption.ToString(); lblHorsePowerPlayer2Value.Text = Player2.HorsePower.ToString(); lblLengthPlayer2Value.Text = Player2.Length.ToString(); lblDisplacementsPlayer2Value.Text = Player2.Displacements.ToString(); lblMaxSpeedPlayer2Value.Text = Player2.MaxSpeed.ToString(); lblPricePlayer2Value.Text = Player2.Price.ToString(); //picCardPlayer2.Image = Player2.Image; //picCountryPlayer2.Visible = Player2IsVisible; picCarPlayer2.Image = Player2.Image; } }
public void Compare(ECategory category) { var player1CardActive = Player1Cards.FirstOrDefault(); var player2CardActive = Player2Cards.FirstOrDefault(); var winner = CheckTrunfo(player1CardActive, player2CardActive); if (winner == EPlayer.Tied) { if (CurrentPlayer == EPlayer.Player2) { MessageBox.Show("Oponente escolheu " + EnumsToString.ToString(category)); } winner = DetermineWinner(category, player1CardActive, player2CardActive); } TurnCard(EPlayer.Player2); Player1Cards.Remove(Player1Cards.FirstOrDefault()); Player2Cards.Remove(Player2Cards.FirstOrDefault()); CurrentWinner = winner; CurrentPlayer = CurrentWinner == EPlayer.Tied ? CurrentPlayer == EPlayer.Player1 ? EPlayer.Player2 : EPlayer.Player1 : CurrentWinner; AddCardsToWinner(winner, player1CardActive, player2CardActive); SetLabelsColors(category, winner); Waiting(); CheckFinish(); RefreshActiveCards(); RefreshThumbs(); RefreshTiedPannel(); ClearLabels(); TurnCard(EPlayer.Player2); StartRound(); }
private void AddCardsToWinner(EPlayer winner, Car player1CardActive, Car player2CardActive) { if (EPlayer.Player1 == winner) { Player1Cards.Add(player1CardActive); Player1Cards.Add(player2CardActive); Player1Cards.AddRange(TiedCards); TiedCards = new List <Car>(); } if (EPlayer.Player2 == winner) { Player2Cards.Add(player2CardActive); Player2Cards.Add(player1CardActive); Player2Cards.AddRange(TiedCards); TiedCards = new List <Car>(); } if (EPlayer.Tied == winner) { TiedCards.Add(player1CardActive); TiedCards.Add(player2CardActive); } }
private void RefreshActiveCards() { SetCard(Player1Cards.FirstOrDefault(), EPlayer.Player1); SetCard(Player2Cards.FirstOrDefault(), EPlayer.Player2); }
private void NewCards() { Player1Cards.Clear(); Player2Cards.Clear(); Street.Clear(); CardsInPlay.Clear(); AiDrawGuessLabel.Visible = false; AiPlayer1GuessLabel.Visible = false; AiPlayer2GuessLabel.Visible = false; if (RandomPlayerCards) { for (int x = 0; x < 2; x++) { NewCard = new Card(CardsInPlay); CardsInPlay.Add(NewCard); Player1Cards.Add(NewCard); } for (int x = 0; x < 2; x++) { NewCard = new Card(CardsInPlay); CardsInPlay.Add(NewCard); Player2Cards.Add(NewCard); } } else { Player1Cards.Add(new Card(Suit.Hearts, Rank.Ace)); Player1Cards.Add(new Card(Suit.Spades, Rank.Ace)); CardsInPlay.Add(Player1Cards[0]); CardsInPlay.Add(Player1Cards[1]); Player2Cards.Add(new Card(Suit.Diamonds, Rank.Ace)); Player2Cards.Add(new Card(Suit.Diamonds, Rank.King)); CardsInPlay.Add(Player2Cards[0]); CardsInPlay.Add(Player2Cards[1]); } for (int x = 0; x < 5; x++) { NewCard = new Card(CardsInPlay); CardsInPlay.Add(NewCard); Street.Add(NewCard); } foreach (Card card in CardsInPlay) { card.LoadImage(); } Player1pictureBox1.Image = Player1Cards[0].Image; Player1pictureBox2.Image = Player1Cards[1].Image; Player2pictureBox1.Image = Player2Cards[0].Image; Player2pictureBox2.Image = Player2Cards[1].Image; StreetCard1ImageBox.Image = Street[0].Image; StreetCard2ImageBox.Image = Street[1].Image; StreetCard3ImageBox.Image = Street[2].Image; StreetCard4ImageBox.Image = Street[3].Image; StreetCard5ImageBox.Image = Street[4].Image; AiResult = winCalc.WhoWins(Player1Cards.Concat(Street).ToList(), Player2Cards.Concat(Street).ToList()); }
private bool ShouldStartSubGame() { return(Player1Cards.First() <= (Player1Cards.Count() - 1) && Player2Cards.First() <= (Player2Cards.Count() - 1)); }