assignment 3 guessing

by austinmillett

HTML

<!--textbox for user to enter value with placeholder-->
<b>Please Enter a number:</b><br>
<input type="text"  id="number" placeholder="# between 1 and 1000" /><br><br>

<!--Click for my guess button-->
<input type="submit" id="btnPress" value="Click for my guess"  /><br><br>


<div id="guessTheNumber"></div>

CSS

#btnPress {
    background-color: #008cba; /*Blue*/
    border: 2px solid; 
    color: black;
    padding: 20px 44px; 
    text-align: center; 
    font-size: 25px; 
}

JavaScript

//Globalized to use in many functions
var outputarray = new Array();

//My onclick function for my HTML button
document.getElementById("btnPress").onclick = function() {submitNumber()};

//New function for submitted values
function submitNumber() {
//gets the number the user enters
var submittedNumber = document.getElementById("number").value;
//Putting numbers between 1 and 1000 into an array
array = new Array(1000);
for (var i=0; i < 1000; i++){
array[i] = i+1; 
} 

//if submitted number is greater than 0 AND less than or equal 1000 its findable if not error message.
if (submittedNumber > 0 && submittedNumber <= 1000) {
outputarray = new Array();
doSearch(array, submittedNumber);
document.getElementById('guessTheNumber').innerHTML = outputarray.join("<br>");
}

else {
document.getElementById('guessTheNumber').innerHTML = "You entered " + submittedNumber + " Please enter a number between 1 and 1000"
}
}
//New function computer searching the array for the submitted number
function doSearch(array, correctNumber) {
var min = 0;
var tries = 0;
var max = array.length - 1;
var guess;

while(min <= max) {
guess = Math.floor((max + min) / 2); //first guess will always be 500 
        
if (array[guess] == correctNumber) {
outputarray.push("Guessed "+ array[guess] + " = Got it!");
outputarray.push("I Guessed it in " + array[tries] + " tries.");
return guess;
}

else if (array[guess] < correctNumber) {
tries++;
outputarray.push("Guessed " + array[guess] + " = My guess was too low.");
            
min = guess + 1;
}

else {
tries++;
outputarray.push("Guessed " + array[guess] + " = My guess was too high.");

max = guess - 1;
}
}
}