Beispiel #1
0
 //when new word is picked
 public void ResetGame()
 {
     TheWordText.Text     = "The Word Being Guessed:";
     PossibleText.Text    = "# of Possible Words Left:";
     LettersLeftText.Text = "Letters Left:";
     BadGuessesText.Text  = "Bad Guesses:";
     GoodGuessesText.Text = "Good Guesses:";
     GuessesLeftText.Text = "Guesses Left:";
     GoodGuessesText.Hide();
     GuessCount           = 9;
     GameStarted          = true;
     GuessCountLabel.Text = GuessCount.ToString();
     GuessCountLabel.Show();
     WinningGif.Hide();
     RightButton.Show();
     WrongButton.Show();
     GuessText.Show();
     GoodGuesses     = "";
     BadGuesses      = "";
     PossibleLetters = "etainoshrdlucmfwygpbvkqjxz"; //most popular letters based on https://en.oxforddictionaries.com/explore/which-letters-are-used-most
     GuessesSoFar    = "";
     label1.Text     = "";
     label2.Text     = "";
     test.Text       = "";
     TheWord         = "";
     Guess           = PossibleLetters[0].ToString();
     label2.Text     = Guess;
     IndexButton.Hide();
     IndexInfo.Hide();
     TipText.Hide();
 }
Beispiel #2
0
        private void MakeGuess(bool correct)
        {
            //if game has started
            if (GameStarted && GuessCount > 0)
            {
                try
                {
                    //letter is a good guess
                    if (correct)
                    {
                        IndexButton.Show();
                        IndexInfo.Show();
                        TipText.Show();
                        WrongButton.Hide();
                        RightButton.Hide();
                    }//letter is a bad guess
                    else
                    {
                        BadGuesses     += Guess;
                        PossibleLetters = PossibleLetters.Replace(Guess, "");
                        Guess           = PossibleLetters[0].ToString();
                        label2.Text     = TheWord;
                        GuessText.Text  = Guess;


                        label1.Text = BadGuesses;
                        GuessCount--;
                        GuessCountLabel.Text = GuessCount.ToString();
                        //remove words from list containing bad guessed letter
                        PossibleWordSet = new SortedSet <string>(from p in PossibleWordSet
                                                                 where !p.Contains(Guess)
                                                                 select p);
                        possible.Text          = PossibleLetters;
                        possiblewordcount.Text = PossibleWordSet.Count.ToString();
                    }



                    if (GuessCount == 0)
                    {
                        WinningGif.Show();
                        RightButton.Hide();
                        WrongButton.Hide();
                        GuessText.Hide();
                    }



                    //if (label2.Text == TheWord)
                    //{
                    //    RightButton.Hide();
                    //    WrongButton.Hide();
                    //}
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex);
                }
            }
        }
Beispiel #3
0
 public Form1()
 {
     InitializeComponent();
     PlayButton.Hide();
     numericUpDown1.Hide();
     GuessCountLabel.Hide();
     WinningGif.Hide();
     GuessButton.Hide();
 }
Beispiel #4
0
 //on form start
 private void Form1_Load(object sender, EventArgs e)
 {
     ObtainWordList();
     GoodGuesses = "";
     BadGuesses  = "";
     GuessText.Hide();
     WinningGif.Hide();
     TipText.Hide();
 }
Beispiel #5
0
 public Form1()
 {
     InitializeComponent();
     PlayButton.Hide();
     numericUpDown1.Hide();
     GuessCountLabel.Hide();
     WinningGif.Hide();
     WrongButton.Hide();
     RightButton.Hide();
     IndexInfo.Hide();
     IndexButton.Hide();
     guessRightLabel.Hide();
 }
Beispiel #6
0
 //when new word is picked
 public void ResetGame()
 {
     GuessCount           = 9;
     GameStarted          = true;
     GuessCountLabel.Text = GuessCount.ToString();
     GuessCountLabel.Show();
     WinningGif.Hide();
     GuessButton.Show();
     GoodGuesses     = "";
     BadGuesses      = "";
     PossibleLetters = "etainoshrdlucmfwygpbvkqjxz"; //most popular letters based on https://en.oxforddictionaries.com/explore/which-letters-are-used-most
     GuessesSoFar    = "";
     label1.Text     = "";
     label2.Text     = "";
     test.Text       = "";
     TheWord         = "";
 }
Beispiel #7
0
        private void GuessButton_Click(object sender, EventArgs e)
        {
            //if game has started
            if (GameStarted && GuessCount > 0)
            {
                try
                {
                    //pick beginning letter based on popularity, words left
                    Random r     = new Random();
                    int    index = 0;
                    string guess = "";

                    //guess first letters of remaining words after first hit
                    if (GoodGuesses.Length == 1)
                    {
                        index = r.Next(0, PossibleWords.Length);
                        guess = PossibleWords[index][PossibleWords[index].Length - 1].ToString();
                    }//if we are one guess away
                    else if (TheWord.Length - GoodGuesses.Length == 1)
                    {
                        index = label2.Text.IndexOf("_");
                        guess = PossibleWords[0][index].ToString();
                    }
                    else
                    {
                        //guess based on letters found in possible words
                        index = label2.Text.IndexOf("_");
                        guess = PossibleWords[r.Next(0, PossibleWords.Length)][index].ToString();

                        //if letter has been guessed - guess based on popular
                        if (GuessesSoFar.Contains(guess))
                        {
                            //just guess on the popular side of random letters
                            {
                                index = r.Next(0, PossibleLetters.Length / 3);
                                guess = PossibleLetters[index].ToString();
                            }
                        }
                    }

                    PossibleLetters = PossibleLetters.Replace(guess, "");

                    //letter is a good guess
                    if (TheWord.Contains(guess))
                    {
                        //change word string
                        string temp = "";
                        int    i    = 0;
                        foreach (char c in TheWord)
                        {
                            string letter = c.ToString();
                            if (letter.Equals(guess)) //add it and sort words based on position of guess
                            {
                                temp         += guess;
                                GoodGuesses  += guess;
                                PossibleWords = (from p in PossibleWords
                                                 where p[i] == TheWord[i]
                                                 select p).ToArray();
                            }
                            else
                            {
                                temp += GuessesSoFar[i];
                            }
                            i++;
                        }
                        label2.Text  = temp;
                        GuessesSoFar = temp;
                    }//letter is a bad guess
                    else
                    {
                        BadGuesses += guess;
                        label1.Text = BadGuesses;
                        GuessCount--;
                        GuessCountLabel.Text = GuessCount.ToString();
                        //remove words from list containing bad guessed letter
                        PossibleWords = (from p in PossibleWords
                                         where !p.Contains(guess)
                                         select p).ToArray();
                    }

                    possible.Text          = PossibleLetters;
                    possiblewordcount.Text = PossibleWords.Length.ToString();

                    if (GuessCount == 0)
                    {
                        WinningGif.Show();
                    }
                    if (label2.Text == TheWord)
                    {
                        GuessButton.Hide();
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex);
                }
            }
        }