Книга: Выразительный JavaScript
Уровни
Уровни
В главе 7 мы использовали массивы строк для описания двумерной решётки. Мы можем сделать то же и здесь. Это позволит нам разрабатывать уровни без того, чтобы сначала писать редактор уровней.
Простой уровень может выглядеть так:
var simpleLevelPlan = [
" ",
" ",
" x = x ",
" x o o x ",
" x @ xxxxx x ",
" xxxxx x ",
" x!!!!!!!!!!!!x ",
" xxxxxxxxxxxxxx ",
" "
];
Фиксированная решётка и движущиеся элементы включены. Символы x
обозначают стены, пробелы – пустое место, а восклицательные знаки – фиксированная лава.
@
отмечает место, где игрок начинает. o
– монетки, знак равенства =
означает блок движущейся лавы, который двигается по горизонтали туда и сюда. Заметьте, что решётка на этих позициях будет содержать пустое пространство, и для отслеживания позиции этих подвижных элементов используется ещё одна структура данных.
Мы будем поддерживать ещё два вида лавы: вертикальная черта |
— для кусочков, двигающихся по вертикали, и v
для капающей лавы. Она будет двигаться вниз, но не отскакивать обратно, а просто перепрыгивать на начальную позицию по достижению пола.
Игра состоит из нескольких уровней, которые надо закончить. Уровень закончен, когда собраны все монетки. Если игрок касается лавы, текущий уровень возвращается к исходному состоянию, и игрок начинает заново.
- Уровни логического нуля и единицы
- 2.3.1. Уровни физической модели
- 1.1.4. Турпродукт: виды, уровни, стадии создания
- Уровни вывода сообщений ядра
- Уровни прерываний и уровни приоритета
- Уровни политики: машина, пользователь и предприятие
- Уровни продукта
- 2.1.2. Интерфейс ERwin. Уровни отображения модели
- 3.2 Деление на уровни
- 4.14 Уровни в сетях 802
- 4.20.1 Уровни в X.25
- 2.2.1. Уровни логической модели