Ник Морган - JavaScript для детей. Самоучитель по программированию
- Название:JavaScript для детей. Самоучитель по программированию
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:2016
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Ник Морган - JavaScript для детей. Самоучитель по программированию краткое содержание
JavaScript для детей. Самоучитель по программированию - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
и когда должно происходить. Чтобы выяснить этот вопрос и лучше пред-
ставить себе структуру будущей программы, мы можем воспользоваться
псевдокодом .
114 Часть I. Основы
Используем псевдокод для проектирования игры
Псевдокод — удобный инструмент, который программисты часто
используют при проектировании программ. Слово «псевдокод» означает
«ненастоящий код». Хотя в псевдокоде есть циклы и условия, в целом
программа описывается обычным человеческим языком. Чтобы разо-
браться, что это значит, давайте посмотрим на описание нашей игры
в псевдокоде:
Выбрать случайное слово
Пока слово не угадано {
Показать игроку текущее состояние игры
Запросить у игрока вариант ответа
Если игрок хочет выйти из игры {
Выйти из игры
}
Иначе Если вариант ответа — не одиночная буква {
Сообщить игроку, что он должен ввести букву
}
Иначе {
Если такая буква есть в слове {
Обновить состояние игры, подставив новую букву
}
}
}
Поздравить игрока с победой — слово угадано
Как видите, это не программный код, который может выполнить
компьютер. Однако такая запись дает нам представление о структуре
программы прежде, чем мы перейдем к написанию кода и выяснению
мелких деталей, например, как именно выбирать случайное слово.
Отображение состояния игры
Одна из строк нашего псевдокода гласит: «Показать игроку текущее
состояние игры». Для игры «Виселица» это означает подставить в слово
угаданные игроком буквы, а также показать, какие буквы осталось уга-
дать. Как мы будем это делать? В сущности, можно хранить состояние
игры тем же способом, что и в обычной «Виселице»: в виде последова-
тельности «пустых мест», которые мы будем заполнять по мере того, как
игрок угадывает буквы.
Мы сделаем это с помощью массива «пустых мест» — по одному
элементу для каждой буквы в слове. Назовем этот массив «итоговым
массивом» и будем по ходу игры заполнять его угаданными буквами.
А каждое из «пустых мест» представим в виде строки со знаком подчер-
кивания: "_".
7. Пишем игру «Виселица» 115
Сначала наш итоговый массив будет просто набором «пустых
мест», количество которых равно количеству букв в загаданном слове.
Например, если загадано слово «рыба», массив будет выглядеть так:
[" _ ", " _ ", " _ ", " _ "]
Если игрок угадает букву «ы», мы заменим второй элемент на «ы»:
[" _ ", "ы", " _ ", " _ "]
А когда игрок угадает все буквы, массив примет вид:
["р", "ы", "б", "а"]
Также нам понадобится переменная для
хранения количества букв, которые осталось
угадать. Для каждого вхождения верно угадан-
ной буквы эта переменная будет уменьшаться
на 1, и, когда она примет значение 0, мы пой-
мем, что игрок победил.
Проектируем игровой цикл
Основная часть игры будет располагаться внутри цикла while (в нашем
псевдокоде этот цикл начинается со строки «Пока слово не угадано»).
В цикле мы будем отображать текущее состояние игры (то есть слово,
поначалу представленное одними знаками подчеркивания), запраши-
вать у игрока вариант ответа (и проверять, действительно ли тот ввел
одиночную букву), а также обновлять итоговый массив, подставляя вве-
денную букву, если она действительно есть в слове.
Практически все компьютерные игры организованы в виде того или
иного цикла, нередко структурно похожего на цикл нашей «Виселицы».
В целом игровой цикл выполняет следующие задачи:
1. Принимает ввод от игрока.
2. Обновляет состояние игры.
3. Показывает игроку текущее состояние игры.
Такого рода цикл применяется даже в играх, где непрерывно что-то
меняется, — просто он выполняется очень быстро. В случае нашей
116 Часть I. Основы
«Виселицы» программа запрашивает у игрока вариант ответа, обновляет
итоговый массив (если ответ верный) и отображает новое состояние ито-
гового массива.
Если игрок угадает все буквы в слове, мы должны показать ему закон-
ченное слово, а также вывести сообщение, поздравляющее с победой.
Программируем игру
Теперь, когда у нас есть представление о структуре игры, можно перехо-
дить к написанию кода. Сначала мы рассмотрим его по частям. После этого
вы увидите весь код целиком, чтобы с удобством ввести его и поиграть.
Выбираем случайное слово
Первым делом нам нужно выбрать случайное слово. Вот как это делается:
var words = [
"программа",
"макака",
Words — слова
"прекрасный",
"оладушек"
];
var word = words[Math.floor(Math.random() * words.length)];
Наша игра начинается со строки , где мы создаем массив со сло-
вами (программа , макака , прекрасный и оладушек) , из которого затем
будем выбирать слово для отгадывания (все слова должны быть запи-
саны строчными буквами). Cохраним этот массив в переменной words.
В строке мы используем Math.random и Math.fl oor, чтобы выбрать
из массива случайное слово — так же как в третьей главе выбирали слова
для генератора дразнилок.
Создаем итоговый массив
Далее создадим пустой массив под названием answerArray (итоговый
массив) и заполним его символами подчеркивания (_), количество кото-
Читать дальшеИнтервал:
Закладка: