JSFiddle - React, Tailwind, and code Playground
by Erik East
HTML
<h2>Module 02</h2>
<h3>Assignment 01</h3>
<p>Pick a number (1-1000):
<input style="width:50px;" type="textbox" id="number"/>
</p>
<input style="margin-bottom: 20px;" type="button" value="Guess!" onClick="startGuessing();" />
<div id="guess"></div>
JavaScript
var array = [];
for (var i = 0; i < 1000; i++) {
array[i] = i + 1;
}
function startGuessing() {
var number = parseInt(document.getElementById("number").value);
var guess;
var count = 0;
var min = 0;
var max = array.length;
if (isNaN(number) || number < 1 || number > 1000){
document.getElementById("guess").innerHTML += ("Please enter a valid number (1-1000)<br>");
guess = 0;
min = 0;
max = array.length;
}//if is not valid
else {
while (min <= max){
guess = Math.floor((min + max) / 2);
if (guess === number){
count++;
document.getElementById("guess").innerHTML += ("Guessed " + guess + " - got it in " + count + " tries!<br><br>");
return guess;
}//if===
else if (guess < number) {
count++;
min = guess + 1;
document.getElementById("guess").innerHTML += ("Guessed " + guess + " - too low.<br>");
}//else if <
else {
count++;
max = guess - 1;
document.getElementById("guess").innerHTML += ("Guessed " + guess + " - too high.<br>");
}//else >
}//while
}//else
}//function