Skip to content

Commit dbaf7ec

Browse files
committed
initial commit
0 parents  commit dbaf7ec

File tree

3 files changed

+172
-0
lines changed

3 files changed

+172
-0
lines changed

index.html

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Guess Number Game</title>
7+
<link rel="stylesheet" href="style.css">
8+
</head>
9+
<body>
10+
<div class="guess-box">
11+
<h1>Guess the Number Game</h1>
12+
<p id="guide">Guess random number between 1 and 100</p>
13+
<p id="guide">You have 10 attempts to guess the right answer</p>
14+
<form action="" id="entry_box">
15+
<label for="guessInput" id="guess">Guess a number</label> <br>
16+
<input type="text" id="guessInput" autocomplete="off"> <br><br>
17+
18+
<button type="submit" id="submit">Guess</button>
19+
</form>
20+
21+
<div id="result_box">
22+
<p id="previous_guess">Previous guesses: <span class="guesses"></span></p>
23+
24+
<p id="guess_remaining">Guesses remaining: <span class="lastResult">10</span></p>
25+
26+
<p id="hint" class="lowOrHigh"></p>
27+
</div>
28+
29+
</div>
30+
31+
<script src="script.js"></script>
32+
</body>
33+
</html>

script.js

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
let randomNumber = parseInt(Math.random() * 100 + 1);
2+
3+
const userInput = document.querySelector('#guessInput');
4+
const submit = document.querySelector('#submit');
5+
const guessSlot = document.querySelector('.guesses');
6+
const remaining = document.querySelector('.lastResult');
7+
const hint = document.querySelector('.lowOrHigh');
8+
const startOver = document.querySelector('#result_box');
9+
10+
const p = document.createElement('p');
11+
12+
let previous_Guess = [];
13+
let number_Guess = 0;
14+
15+
let playGame = true;
16+
17+
if(playGame) {
18+
submit.addEventListener('click', function(e) {
19+
e.preventDefault();
20+
const guess = parseInt(userInput.value);
21+
validateGuess(guess);
22+
});
23+
}
24+
25+
function validateGuess(guess) {
26+
if (isNaN(guess)) {
27+
alert('Enter a valid number');
28+
} else if (guess < 1) {
29+
alert('Enter a number more than 1');
30+
} else if (guess > 100) {
31+
alert('Enter a number less than 100');
32+
} else {
33+
previous_Guess.push(guess);
34+
if (number_Guess === 9) {
35+
displayGuess(guess);
36+
displayMessage(`Game Over! Random number was ${randomNumber}`);
37+
endGame();
38+
} else {
39+
displayGuess(guess);
40+
checkGuess(guess);
41+
}
42+
}
43+
}
44+
45+
function checkGuess(guess) {
46+
if (guess === randomNumber) {
47+
displayMessage(`You guessed it right, yeah :_)`);
48+
endGame();
49+
} else if (guess < randomNumber) {
50+
displayMessage(`Number is TOO LOW!`);
51+
} else {
52+
displayMessage(`Number is TOO HIGH !`);
53+
}
54+
}
55+
function displayGuess(guess) {
56+
userInput.value = '';
57+
guessSlot.innerHTML += `${guess}, `;
58+
number_Guess++;
59+
remaining.innerHTML = `${10 - number_Guess} `;
60+
}
61+
function displayMessage(message) {
62+
hint.innerHTML = `<h3>${message}</h3>`;
63+
}
64+
65+
function endGame() {
66+
userInput.value = '';
67+
userInput.setAttribute('disabled', '');
68+
p.classList.add('button');
69+
p.innerHTML = `<button id = "newGame"> New Game</button>`;
70+
startOver.appendChild(p);
71+
playGame = false;
72+
newGame();
73+
}
74+
75+
function newGame() {
76+
const newGameBtn = document.querySelector('#newGame');
77+
newGameBtn.addEventListener('click', function(e) {
78+
randomNumber = parseInt(Math.random() * 100 + 1);
79+
previous_Guess = [];
80+
number_Guess = 0;
81+
guessSlot.innerHTML = '';
82+
remaining.innerHTML = `${10 - number_Guess}`;
83+
userInput.removeAttribute('disabled');
84+
startOver.removeChild(p);
85+
hint.innerHTML = '';
86+
87+
playGame = true;
88+
});
89+
}
90+

style.css

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
body {
2+
display: flex;
3+
justify-content: center;
4+
margin-top: 5rem;
5+
}
6+
h1 {
7+
font-size: 2.5rem;
8+
text-align: center;
9+
}
10+
#guide {
11+
font-size: 1.5rem;
12+
text-align: center;
13+
}
14+
#guess {
15+
display: flex;
16+
justify-content: center;
17+
font-size: 2rem;
18+
margin-top: 2rem;
19+
font-weight: bold;
20+
}
21+
#guessInput {
22+
display: block;
23+
margin: 0 auto;
24+
text-align: center;
25+
font-size: 20px;
26+
height: 2rem;
27+
}
28+
#submit {
29+
display: block;
30+
margin: 0 auto;
31+
height: 2rem;
32+
width: 7rem;
33+
border-radius: 10px;
34+
text-align: center;
35+
font-size: 20px;
36+
font-weight: bold;
37+
background-color: rgb(216, 131, 20);
38+
}
39+
40+
#result_box {
41+
margin-top: 2rem;
42+
text-align: center;
43+
align-items: center;
44+
font-size: 1.5rem;
45+
}
46+
#hint {
47+
font-size: 2rem;
48+
font-weight: 500;
49+
}

0 commit comments

Comments
 (0)