/// <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
        }     // end dealButton_Click

        /// <summary>
        /// Performs the CPU's turn then passes back to the player
        /// </summary>
        private void CpuGo()
        {
            RefreshTheFormThenPause();
            Card discard     = Crazy_Eights_Game.CurrentDiscard();
            Suit discardSuit = discard.GetSuit();

            // check for player selected crazy eight suit
            if (discard.GetFaceValue() == FaceValue.Eight)
            {
                discardSuit = eightsuit;
            } // end if
            // reset the discard suit for players next turn if the CPU played something
            if (Crazy_Eights_Game.ComputerTurn(discardSuit))
            {
                eightsuit   = Crazy_Eights_Game.CurrentDiscard().GetSuit();
                discardSuit = Crazy_Eights_Game.CurrentDiscard().GetSuit();
            } // end if
            // check for tied game
            if (Crazy_Eights_Game.MaxHand(1) && Crazy_Eights_Game.MaxHand(0) && !Crazy_Eights_Game.PlayerHasMove(discardSuit))
            {
                MessageBox.Show("Neither player can play, game is a tie!", "Game Over");
                this.Close();
            } // end if
            DisplayGuiHand(Crazy_Eights_Game.GetHand(0), cTableLayoutPanel, 0);
            DisplayDiscardPile();
            // Checks for empty hand after turn
            if (Crazy_Eights_Game.EmptyHand(0) && !Crazy_Eights_Game.EmptyHand(1))
            {
                MessageBox.Show("Computer Wins!", "Game Over");
                this.Close();
            } // end if
            // Pass back to player
            if (!Crazy_Eights_Game.PlayerHasMove(discardSuit))
            {
                dealButton.Enabled = true;
            } // end if
        }     // end CpuGo
        /// <summary>
        /// Displays the discard pile;
        /// </summary>
        private void DisplayDiscardPile()
        {
            Card card = Crazy_Eights_Game.CurrentDiscard();

            discardPile.Image = Images.GetCardImage(card);
        }