RB_JSFiddle_A3
by Ryan Brown
HTML
<div id="formski">
<P>Number:<br></P>
<input type="text" name="number" id="Fnumber" value="359"><br>
<br><input type="submit" id="Fclick" value="Guess"><br><br>
</div>
<div id="guessNumber"></div>
CSS
#Fclick {
font-family: courier;
font-size: 20px;
color: beige;
background-color: black;
width: 150px;
height: 50px;
}
#guessNumber {
font-family: courier;
font-size: 20px;
color: black;
background-color: beige;
}
JavaScript
var outputarray = new Array();
document.getElementById("Fclick").onclick = function() {formskiSub()};
function formskiSub() {
var numberToGuess = 0;
var numberToGuess = document.getElementById("Fnumber").value;
array = new Array(1000);
for(var i=0; i < 1000; i++){// array 1-1000
array[i] = i+1;
}
if (numberToGuess > 1 && numberToGuess <= 1000) {
outputarray = new Array();
Search(array, numberToGuess);
document.getElementById('guessNumber').innerHTML = outputarray.join("<br>");
}
else {
document.getElementById('guessNumber').innerHTML = "You entered " + numberToGuess + " Please enter a number between 1 and 1000"
}
}
function Search(array, targetValue) {
var min = 0;
var tries = 0;
var max = array.length -1;
var guess;
while(min <= max) {
guess = Math.floor((max + min) / 2);
if (array[guess] == targetValue) {
outputarray.push("Guessed "+ array[guess] + " - Got it!");
outputarray.push("It took " + array[tries] + " tries.");
return guess;
}
else if (array[guess] < targetValue) {
tries++;
outputarray.push("Guessed " + array[guess] + " - too low.");
min = guess + 1;
}
else {
tries++;
outputarray.push("Guessed " + array[guess] + " - too high.");
max = guess - 1;
}
}
}