Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C#, Random Number Guessing Game. Every time I start this app. the 1st number generated is 0. I have number = randNum.Next(1, 100); which should

C#, Random Number Guessing Game. Every time I start this app. the 1st number generated is 0. I have number = randNum.Next(1, 100); which should set the value to start at 1 & go no higher than 100. Also, the code counter is working for the 1st guess which is always 0 when 1st starting the app. Everything else seems to work after starting a new game. I am still really new to coding, so I'm not sure how to fix this. Here is my code.

Purpose: This app generates a random number in the range of 0 through 100 and asks the user to guess what the number is. If the user's guess is higher than the random number, the program displays a message of "Too high, try again." If the user's guess is lower than the random number, the program displays a message of "Too low, try again." The game keeps count of the number of guesses that the user makes. When the user correctly guesses the random number, the program displays the number of guesses along with the congratulations. The app. then generates a new random number so the game can start over. */

namespace Random_Number_Guessing_Game { public partial class mainForm : Form { // Declare fields to be used in the class Random randNum; int number; int guessCount;

public mainForm() { InitializeComponent();

// Declare random number method. randNum = new Random();

} // End mainForm.

private void mainForm_Load(object sender, EventArgs e) { // Call generateNumber method generateNumber(); }

// Create a generateNumber() method. private void generateNumber() { // Generate random number. number = randNum.Next(1, 100); guessCount = 0; // assign integer 0 to guessCount variable guessCountTextBox.Text = guessCount.ToString(); resultsTextBox.Text = string.Empty; guessTextBox.Text = string.Empty; }

// Create a generateGuessCount() method. private void generateGuessCount() { // Increase the count of guessCount variable. guessCount++; guessCountTextBox.Text = guessCount.ToString(); }

// Start Button click event handler. private void startButton_Click(object sender, EventArgs e) { // Clear the guessTextBox. guessTextBox.Text = ""; // Call generateNumber method generateNumber(); // Set focus to guessTextBox. guessTextBox.Focus();

} // End start button.

// Exit Button click event. private void exitButton_Click(object sender, EventArgs e) { // Close the form. Close();

} // End Exit button.

// Guess Button click event. private void guessButton_Click(object sender, EventArgs e) { try { // Declare variable for user input number int guessNumber = int.Parse(guessTextBox.Text);

// Test if guessNum > randNum (Higher than generated number), inform the user w/ a message in resultsLabel with result. if (guessNumber > number) { // Display the results. resultsTextBox.Text = guessTextBox.Text + " is too high, please try again."; // Call generateGuessCount method. generateGuessCount(); // Set focus to guessTextBox. guessTextBox.Focus(); // Clear the guessTextBox. guessTextBox.Text = ""; } // Test if guessNum < randNum (Lower than generated number), inform the user w/ a message in resultsLabel with result. if (guessNumber < number) { // Display the results. resultsTextBox.Text = guessTextBox.Text + " is too low, please try again."; // Call generateNumber method. generateGuessCount(); // Set focus to guessTextBox. guessTextBox.Focus(); // Clear the guessTextBox. guessTextBox.Text = ""; } else if (guessNumber == number) { // Else display resultsLable Congratulations message. resultsTextBox.Text = "Well done! " + guessTextBox.Text + " was the number and it took you " + guessCountTextBox.Text + " guesse(s). If you want to play again, press Start."; // Set focus to guessTextBox. startButton.Focus(); // Display guessCountTextBox. guessCountTextBox.Text = guessCount.ToString(); // Clear the guessTextBox. guessTextBox.Text = ""; // Clear the guessCountTextBox. guessCountTextBox.Text = ""; } // Test if user's enter values are valid and within range. if (guessNumber < 1 | guessNumber > 100) { // Display error message stating values must be between 1 & 100 and must also be numbers. MessageBox.Show("Your guess must be between 1 and 100 and must be a number."); }

} // End try block. catch (Exception ex) { // Display an error message. MessageBox.Show(ex.Message); // Clear the guessTextBox. guessTextBox.Text = "";

} // End catch block.

} // End Guess button.

} // End class. }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle RMAN For Absolute Beginners

Authors: Darl Kuhn

1st Edition

1484207637, 9781484207635

More Books