Home Web Front-end Front-end Q&A How to implement a guessing number game using JavaScript

How to implement a guessing number game using JavaScript

Apr 25, 2023 am 10:47 AM

In the Internet era, games can be played anytime and anywhere, which can bring a certain amount of entertainment and happiness. Among them, the guessing number game is a more classic game and is suitable for all ages. So, in this article, we will introduce step by step how to implement the number guessing game using JavaScript.

Step 1: Preparation

Before we start writing code, we need to prepare the working environment. Here we can use any text editor or development tool. For example: Sublime Text, VS Code, etc. For beginners, I recommend using Codepen.io, an online development tool that is very suitable for quickly writing small JavaScript projects.

Step 2: Write HTML code

First, we need to write HTML code to create a simple user interface. In this code, we will create a div element that contains an h1 element to display the title of the game, an input element and a button element to let the user enter a guessed number, and a p element to display the result of the game.

The following is the HTML code.

<div id="game">
  <h1>猜数字游戏</h1>
  <input type="text" placeholder="请输入你的猜测" id="guess"></input>
  <button onclick="checkGuess()">猜一猜</button>
  <p id="results"></p>
</div>
Copy after login

Here, we create a div element with the id "game" and place the title, input box, button and result inside it. Note that we have added an onclick event to the button that calls the checkGuess() function.

Step 3: Write JavaScript code

Now, we can start writing JavaScript code. Before we begin, we will define three opening variables.

var randomNumber = Math.floor(Math.random() * 100) + 1;
var guesses = [];
var count = 0;
Copy after login

The randomNumber variable here will generate a random number from 1 to 100, the guesses variable will save all the user's guesses, and the count variable will save the number of user guesses.

Next, we will start writing the checkGuess() function.

function checkGuess() {
  var guess = document.getElementById("guess").value;
  if (guesses.indexOf(guess) !== -1) {
    alert("你已经猜过这个数字了,请猜另外一个数字!");
    return;
  }
  guesses.push(guess);
  count++;
  var resultDiv = document.getElementById("results");
  if (guess == randomNumber) {
    alert("恭喜你,你猜对了!你猜了" + count + "次。");
    resultDiv.innerHTML = "恭喜你,你猜对了!你猜了" + count + "次。";
  } else if (guess < randomNumber) {
    resultDiv.innerHTML = "你猜的数字过小";
  } else if (guess > randomNumber) {
    resultDiv.innerHTML = "你猜的数字过大";
  }
  document.getElementById("guess").value = "";
}
Copy after login

In the checkGuess() function, we first get the number entered by the user and check whether it has been guessed. If the guess is passed, we will pop up a warning telling the user they need to guess another number. Otherwise, we continue executing the code and add this number to the guesses array.

Next, we increment the count counter by 1 and update the user's guess in the resultDiv element. If the user guesses correctly, we will pop up a popup to tell them they guessed correctly and update the resultDiv element.

If the user doesn't guess correctly, we will tell them if they guessed lower or higher and update the resultDiv element.

Finally, we will clear the user’s guess in the input box.

Step 4: Test your code

Now, we have written the necessary HTML and JavScript code. We can test our code and see if the game works properly in a few simple steps. Copy the above code into the online editor and press the run button.

The game UI should now be rendered. Enter a number in the input box and click the "Guess" button. If you guessed correctly, you will see a prompt box telling you that you guessed correctly and how many times you guessed.

If you guess wrong, you will see a prompt indicating that you guessed too low or too high. If you haven't guessed the number yet, you can keep guessing and the system will record each of your guesses.

To sum up, through this article, you can learn how to use JavaScript to write a guessing game, and you can enjoy the benefits of the game anytime and anywhere.

The above is the detailed content of How to implement a guessing number game using JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do you connect React components to the Redux store using connect()? How do you connect React components to the Redux store using connect()? Mar 21, 2025 pm 06:23 PM

Article discusses connecting React components to Redux store using connect(), explaining mapStateToProps, mapDispatchToProps, and performance impacts.

React's Role in HTML: Enhancing User Experience React's Role in HTML: Enhancing User Experience Apr 09, 2025 am 12:11 AM

React combines JSX and HTML to improve user experience. 1) JSX embeds HTML to make development more intuitive. 2) The virtual DOM mechanism optimizes performance and reduces DOM operations. 3) Component-based management UI to improve maintainability. 4) State management and event processing enhance interactivity.

How do you define routes using the <Route> component? How do you define routes using the <Route> component? Mar 21, 2025 am 11:47 AM

The article discusses defining routes in React Router using the &lt;Route&gt; component, covering props like path, component, render, children, exact, and nested routing.

What are the limitations of Vue 2's reactivity system with regard to array and object changes? What are the limitations of Vue 2's reactivity system with regard to array and object changes? Mar 25, 2025 pm 02:07 PM

Vue 2's reactivity system struggles with direct array index setting, length modification, and object property addition/deletion. Developers can use Vue's mutation methods and Vue.set() to ensure reactivity.

What are Redux reducers? How do they update the state? What are Redux reducers? How do they update the state? Mar 21, 2025 pm 06:21 PM

Redux reducers are pure functions that update the application's state based on actions, ensuring predictability and immutability.

What are the benefits of using TypeScript with React? What are the benefits of using TypeScript with React? Mar 27, 2025 pm 05:43 PM

TypeScript enhances React development by providing type safety, improving code quality, and offering better IDE support, thus reducing errors and improving maintainability.

What are Redux actions? How do you dispatch them? What are Redux actions? How do you dispatch them? Mar 21, 2025 pm 06:21 PM

The article discusses Redux actions, their structure, and dispatching methods, including asynchronous actions using Redux Thunk. It emphasizes best practices for managing action types to maintain scalable and maintainable applications.

How can you use useReducer for complex state management? How can you use useReducer for complex state management? Mar 26, 2025 pm 06:29 PM

The article explains using useReducer for complex state management in React, detailing its benefits over useState and how to integrate it with useEffect for side effects.

See all articles