Сегодня у нас в меню случайное число, две функции и знакомство с командой Else на закуску.
If/Else (если/иначе) дают вам дополнительный контроль над программой, позволяя принимать решения на оба случая: и когда условие выполнено, и когда не выполнено.
Скрипт
<HTML>
<HEAD>
<SCRIPT
LANGUAGE="JavaScript">
function rand()
{now=new
Date()
num=(now.getSeconds())%10
num=num+1
}
function guessnum()
{guess=prompt("Угадай, какое?")
if (eval(guess) ==
num)
{alert("ПРАВИЛЬНО!!!")
rand()
}
else
alert("Нет. Попробуй еще раз.")
}
</SCRIPT>
<BODY onLoad="rand()">
<h3>Я
загадал число от 1 до 10</h3>
<FORM
NAME="myform">
<INPUT TYPE="button"
VALUE="Угадай"
NAME="b1"
onClick="guessnum()">
</FORM>
</BODY>
</HTML>
Результат
Я загадал число от 1 до 10
Разбор скрипта
<body bgcolor="хххххх" onLoad="rand()">
На этот раз функция запускается не кнопкой через onClick, а командой onLoad, чтобы к тому времени, когда пользователь нажмет на кнопку, число уже было выбрано. Если сделать это, как в прошлом уроке, то каждый раз, нажимая на кнопку, вы будете получать новое число. А оно должно оставаться одним и тем же, пока вы гадаете.
function rand() {
now=new
Date()
num=(now.getSeconds())%10
num=num+1
}
Функция выбирает наугад число от 0 до 9 и привязывает его к num. Потом прибавляет к num единицу, чтобы выбор осуществлялся между 1 и 10. Мы делали это на прошлом уроке.
function guessnum()
{guess=prompt("Угадай,
какое?")
if (eval(guess) == num)
{alert("ПРАВИЛЬНО!!!")
rand()
}
else
alert("Нет. Попробуй еще
раз.")
}
Этот фрагмент написала Эндри, потому что она очень умная. В памяти компьютера уже есть число, полученное через первую функцию. Вторая дает вам возможность угадать его. Смотрите, что происходит:
<form name="myform">
<input type="button"
value="Угадай" name="b1" onClick="guessnum()">
</form>
Кнопка запускает функцию, которая дает возможность угадать задуманное число.
Ваше задание
Придется вам постараться! Измените сегодняшний скрипт так, чтобы при неверной догадке он сообщал пользователю, что он назвал слишком большое или слишком маленькое число.
Подсказка! В этом случае возможны только три решения: слишком много, слишком мало или правильно. Подумайте вот о чем: нужна ли вам команда Else или сойдет и парочка дополнительных If?
Возможный ответ здесь