Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

// состоянием: смотрите комментарий в функции newgame.

// Нет необходимости вызывать display здесь.

history.replaceState(state, "", "#guess" + state.guessnum);

}

};

// Этот обработчик событий вызывается всякий раз, когда пользователь вводит число.

// Он обновляет состояние игры, сохраняет и отображает его.

function handle6uess {

// Извлечь число из поля ввода

var g = parseInt(this.value);

// Если это число и оно попадает в требуемый диапазон

if ((g > state.low) && (g < state.high)) {

// Обновить объект состояния для этой попытки

if (g < state.n)

state.low = g;

else

if (g > state.n) state.high = g;

state.guess = g;

state.guessnum++;

// Сохранить новое состояние в истории посещений

save(state);

// Изменить документ в ответ на попытку пользователя

display(state);

}

else { // Ошибочная попытка: не сохранять новое состояние

alert("Please enter a number greater than " + state.low +

" and less than " + state.high);

}

}

// Изменяет документ, отображая текущее состояние игры,

function display(state) {

// Отобразить заголовок документа

ui.heading.innerHTML = document.title =

"I'm thinking of a number between " + state.low +

" and " + state.high + "."

// Отобразить диапазон чисел с помощью таблицы

ui.low.style.width = state.low + "%";

ui.mid.style.width = (state.high-state.low) + "%";

ui.high.style.width = (100-state.high) + "%";

// Сделать поле ввода видимым, очистить его и установить фокус ввода

ui.input.style.visibility = "visible";

ui.input.value = "";

ui.input.focus;

// Вывести приглашение к вводу, опираясь на последнюю попытку

if (state.guess === undefined)

ui.prompt.innerHTML = "Type your guess and hit Enter:";

else if (state.guess < state.n)

ui.prompt.innerHTML = state.guess + " is too low. Guess again:";

else if (state.guess > state.n)

ui.prompt.innerHTML = state.guess + " is too high. Guess again:";

else {

// Если число угадано, скрыть поле ввода и отобразить кнопку

// Play Again (Играть еще раз).

ui.input.style.visibility = "hidden"; // Попыток больше не будет

ui.heading.innerHTML = document.title = state.guess + " is correct!";

ui.prompt.innerHTML =

"You Win! <button onclick='newgame(true)'>Play Again</button>“;

}

}

</script>

<style> /* CSS-стили, чтобы придать игре привлекательный внешний вид */

#prompt { font-size: 16pt; }

table { width: 90%; margin:10px; margin-left:5%; }

#low, «high { background-color: lightgray; height: 1em; }

#mid { background-color: green; }

</style>

Поделиться:
Популярные книги

Локки 4 Потомок бога

Решетов Евгений Валерьевич
4. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 4 Потомок бога

Адепт. Том 1. Обучение

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
9.27
рейтинг книги
Адепт. Том 1. Обучение

Лекарь Империи

Карелин Сергей Витальевич
1. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Лекарь Империи

Лягушки

Орлов Владимир Викторович
Проза:
современная проза
7.12
рейтинг книги
Лягушки

Черный Маг Императора 10

Герда Александр
10. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 10

Прапорщик. Назад в СССР. Книга 7

Гаусс Максим
7. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 7

Дважды одаренный

Тарс Элиан
1. Дважды одаренный
Фантастика:
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Дважды одаренный

Попаданец на рыбалке. Книги 1-7

Скворцов Владимир Николаевич
Попаданец на рыбалке
Фантастика:
фэнтези
попаданцы
6.88
рейтинг книги
Попаданец на рыбалке. Книги 1-7

На границе империй. Том 7. Часть 5

INDIGO
11. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 7. Часть 5

Я еще царь. Книга XXX

Дрейк Сириус
30. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я еще царь. Книга XXX

Князь Целитель 5

Ткачев Андрей Юрьевич
5. Князь Целитель
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Князь Целитель 5

Неучтенный элемент. Том 4

NikL
4. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 4

Слезы Эйдена 1

Владимиров Денис
11. Глэрд
Фантастика:
боевая фантастика
фэнтези
попаданцы
5.00
рейтинг книги
Слезы Эйдена 1

Инженер Петра Великого

Гросов Виктор
1. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого