Beispiel #1
0
 private void ResetControls()
 {
     P_KeyBoard.Controls.Clear();
     KeyBoard();
     CurrentHangState = HangState.Waiting;
     PBX_Pics.Invalidate();
     L_WrongCount.Text  = "";
     L_Info.Text        = "";
     P_KeyBoard.Enabled = true;
 }
Beispiel #2
0
        private void ClickFunctions_Click(object sender, EventArgs e)
        {
            Button b           = (Button)sender;
            char   charClicked = b.Text.ToCharArray()[0];

            b.Enabled = false;

            if ((currentWord = currentWord.ToUpper()).Contains(charClicked))
            {
                // char is there (right guess)
                L_Info.Text      = "Hea Valik!";
                L_Info.ForeColor = Color.Green;
                b.BackColor      = Color.LawnGreen;
                char[] charArray = currentWord.ToCharArray();
                for (int i = 0; i < currentWord.Length; i++)
                {
                    if (charArray[i] == charClicked)
                    {
                        labels[i].Text = charClicked.ToString();
                    }
                }

                // Winning condition
                if (labels.Where(x => x.Text.Equals(DefaultChar)).Any())
                {
                    return;
                }

                CurrentHangState = HangState.Win;
                Wins++;
                L_Wins.Text        = Wins.ToString();
                L_Info.ForeColor   = Color.Green;
                L_Info.Text        = "Võitsid!";
                P_KeyBoard.Enabled = false;
            }
            else
            {
                //WrongGuess
                L_Info.Text      = "Halb Valik...";
                L_Info.ForeColor = Color.Maroon;
                b.BackColor      = Color.Red;
                if (CurrentHangState != HangState.Lost)
                {
                    CurrentHangState++;
                }
                L_TryCount.Text        = (HangStateSize - (int)CurrentHangState).ToString();
                L_WrongCount.Text     += string.IsNullOrWhiteSpace(L_WrongCount.Text) ? charClicked.ToString() : "," + charClicked;
                L_WrongCount.ForeColor = Color.Red;

                PBX_Pics.Invalidate();

                if (CurrentHangState == HangState.Lost)
                {
                    Lost++;
                    L_Lost.Text        = Lost.ToString();
                    L_Info.Text        = "Kaotasid...";
                    L_Info.ForeColor   = Color.Maroon;
                    P_KeyBoard.Enabled = false;

                    //Reveal the word
                    for (int i = 0; i < currentWord.Length; i++)
                    {
                        if (labels[i].Text.Equals(DefaultChar))
                        {
                            labels[i].Text      = currentWord[i].ToString();
                            labels[i].ForeColor = Color.Red;
                        }
                    }
                }
            }
        }