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