Быть может кто-то из Вас знает игру Sims, к какому жанру она относиться? Жизненная симуляция, ролевая игра, там можно и дома строить..... |
Организация многоуровневых игр, конструктор уровней
Задачи работы
- Создать игру, игровой процесс которой делится на несколько уровней
- Разработать конструктор уровней
Организация многоуровневой игры
В рамках этой лабораторной работы мы создадим игру – клон популярной игры Arkanoid. Наша игра будет обладать следующим набором характеристик.
- Имеется 2 вида блоков – один из них уничтожается при попадании в него мяча, причем, мяч отскакивает, второй – не уничтожается.
- При уничтожении всех блоков текущего уровня осуществляется переход на следующий уровень.
- После того, как мяч выйдет за пределы поля – игра окончится и произойдет загрузка первого уровня.
- Игрок может играть в стандартном режиме и в режиме пользовательского уровня. Пользовательский уровень создается игроком самостоятельно с помощью конструктора уровней
Здесь мы создадим каркас игры и конструктор уровней для создания пользовательских уровней.
Создадим новый проект – P11_1. На рис. 15.1. вы можете видеть окно Project Explorer этого проекта.
Игровая функциональность и функциональность конструктора уровней реализована в классе Game1. Класс gBaseClass используется в качестве базового класса для игровых объектов. В предыдущих работах мы уже пользовались подобным классом, здесь мы расширили его функциональность для того, чтобы он позволял размещать на экране объекты, которым соответствуют спрайты различных размеров.
Классы Ball, Bat, Brick1, Brick2 – это игровые компоненты, соответственно, для мяча (Ball), биты (Bat), и двух видов блоков – обычного, который уничтожается при попадании в него мяча (Brick1), и неуничтожимого (Brick2).
Класс BrickBuilder используется для создания указателя, который применяется в конструкторе уровней.
На рис. 15.2. вы можете видеть изображения графических ресурсов, примененных в игре.
Изображения BrickBuild используются в конструкторе уровней. Указатель с изображением BrickBuild0.png очищает ячейку игрового поля, расположенную под ней. Указатель с BrickBuild1.png устанавливает в текущую позицию игрового поля объект Brick1, указатель с изображением BrickBuild2.png устанавливает в текущую ячейку объект Brick2.
На рис. 15.3. вы можете видеть игровой экран.
На рис. 15.4 представлен экран в режиме конструктора уровней.