Forked from Rebecca Murphey's Pen number-guessing-exercise.
Forked from Rebecca Murphey's Pen number-guessing-exercise.
A Pen by Nathan Bingham on CodePen.
<p id="message">Guess a number between 1 and 10</p> | |
<form id="input"> | |
<input type="text" name="number" id="guess"> | |
<button id="submit">Submit</button> | |
</form> | |
<button id="replay" class="hidden">Replay</button> | |
# Number-guessing | |
- Write the `init` function to set up an event listener on the form. The event listener should pass the value of the input element to the `check` function. | |
- Write the `check` function to accept a value from the event listener and check it against the `targetNumber`. | |
- If the values match, call the `showWin` function | |
- If the values do not match, call the `showError` function. | |
- If the values do not match, and the player has made more than five guesses, call the `showLoss` function. | |
- Write the `showWin` function to remove the form and any error message, and show a message telling the player they win. | |
- Write the `showError` function to show a message telling the player their guess is incorrect. | |
- Write the `showLoss` function to remove the form and show a message telling the player they lose. |
Forked from Rebecca Murphey's Pen number-guessing-exercise.
Forked from Rebecca Murphey's Pen number-guessing-exercise.
A Pen by Nathan Bingham on CodePen.
var attempts = 1; | |
let targetNumber = Math.floor(Math.random() * 10) + 1; | |
var submit = document.getElementById('submit'), | |
guess = document.getElementById('guess'), | |
input = document.getElementById('input'), | |
message = document.getElementById('message'), | |
replay = document.getElementById('replay'); | |
function init () { | |
submit.onclick= function(e){ | |
e.preventDefault(); | |
check(guess); | |
} | |
} | |
function check (input) { | |
if (input.value == targetNumber) { | |
showWin(targetNumber); | |
} else if (input.value != targetNumber && attempts < 5) { | |
showError(); | |
} else { | |
showLoss(targetNumber); | |
} | |
} | |
function showWin (target) { | |
message.innerHTML = target+' You win!'; | |
message.className = 'green'; | |
allowReplay(); | |
} | |
function showError () { | |
console.log('Try Again', attempts); | |
message.innerHTML = attempts +' attempts. Try again! Guess a number between 1 and 10'; | |
attempts++; | |
} | |
function showLoss (target) { | |
console.log('You lose! ' + target); | |
message.innerHTML = target + ' You lose!'; | |
message.className = 'red'; | |
allowReplay(); | |
} | |
function allowReplay(){ | |
input.className += 'hidden'; | |
guess.value = ''; | |
replay.className = ''; | |
replay.onclick = function(e){ | |
e.preventDefault(); | |
message.className = ''; | |
input.className = ''; | |
message.innerHTML = 'Guess a number between 1 and 10'; | |
attempts = 1; | |
targetNumber = Math.floor(Math.random() * 10) + 1; | |
} | |
} | |
init(); |
body { | |
font-family: Helvetica; | |
} | |
#replay { | |
} | |
.hidden { | |
display: none; | |
} | |
.red { | |
color: #9d0000; | |
} | |
.green { | |
color: #009d00; | |
} |