/// <summary> /// Checks if card player clicked on is valid, plays it then passes turn to CPU /// </summary> /// <param name="clickedCard"></param> private void TryToPlayCard(Card clickedCard) { Card discard = Crazy_Eights_Game.CurrentDiscard(); Suit discardSuit = discard.GetSuit(); // check for crazy eight suit if (discard.GetFaceValue() == FaceValue.Eight) { discardSuit = eightsuit; } // Check if card is valid and play it if (Crazy_Eights_Game.IsGoodClick(clickedCard, discardSuit)) { // Update GUI with new cards discardPile.Image = Images.GetCardImage(clickedCard); DisplayDrawPile(); DisplayGuiHand(Crazy_Eights_Game.GetHand(1), pTableLayoutPanel, 1); //MessageBox.Show(clickedCard.ToString(false, true), "Clicked"); // Check for empty hand after turn if (Crazy_Eights_Game.EmptyHand(1)) { MessageBox.Show("Player wins!", "Game Over"); this.Close(); } // end if // CPU Go if (clickedCard.GetFaceValue() == FaceValue.Eight) { using (Eight_suit eight_suit = new Eight_suit()) { if (eight_suit.ShowDialog() == System.Windows.Forms.DialogResult.OK) { eightsuit = eight_suit.SelectedSuit; //instructionLabel.Text = "Last crazy eights suit is" + eightsuit.ToString(); } else { Card card = Crazy_Eights_Game.CurrentDiscard(); eightsuit = card.GetSuit(); } } } CpuGo(); } else { MessageBox.Show(clickedCard.ToString(false, true) + " is not a valid option.", "Clicked"); } // end if } // end TryToPlayCard