Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Проект NewLevels 251

Две булевы переменные gameState и levelState устанавливаются в состояние false. Перейдем к игровому циклу в метод Update() и посмотрим, для чего нам понадобились эти две новые переменные.

if(levelState == true) {

}

if(menuState == true)

{ }

if(gameState == true)

{

В этом блоке кода происходит выбор состояния игры на основе булевых переменных. Всего имеются три состояния:

□ показывать меню, если menuState равно true;

□ играть в игру, если gameState равно true;

□ показывать межуровневый экран, если levelState равна true.

После того как пользователь вошел в игру, запускается работа меню. Если пользователь выбрал команду Играть, то происходит выполнение следующего блока кода:

level = 1;

this.NewGame(level); menuState = false; levelState = false; gameState = true;

В коде происходит присвоение переменной level значения уровня, на котором пользователь будет играть (здесь также можно читать данные из памяти, сохраненные ранее). Затем вызывается метод NewGame() , в параметр которого передается значение переменной level, а значит, и текущий уровень.

В методе NewGame() добавляется конструкция кода с оператором switch. На базе входящей переменной level оператор switch выбирает новые значения для каждого последующего уровня.

switch(curentLevel)

{

case 1:

scoreO = 5;

scorel = -20;

score2 = 5;

score3 = -20;

score4 = 5; totalScore = 0;

endScore = 100;

252 Добавляем в игру новые уровни

break;

case 2:

scoreO = 10;

scorel = -20;

score2 = 5;

score3 = -20;

score4 = 5;

totalScore = 0;

endScore = 200; break;

case 3:

break;

case 4:

break;

case 5:

break;

case 6:

break;

case 7:

break;

case 8:

break;

}

В игре было задано восемь уровней, и, честно говоря, я не сильно усердствовал, когда назначал баллы за подборы объектов и порог набранных очков. В реальной игре вам необходимо обязательно уделить этому моменту очень много времени и протестировать игру и все имеющиеся в ней уровни. Это очень важно, и от этого зависят интересность и состоятельность вашей игры. Естественно, что количество уровней в игре может быть любым, кроме того, вы можете добавить на каждый новый уровень новые объекты, фон и многое другое.

Когда будете создавать конструкцию кода с использованием оператора switch, не забывайте в конце очередного блока case прописывать ключевое слово break. Иначе у вас вместо блочной работы этой конструкции будет происходить ее построчное выполнение.

В игровом процессе, как только пользователь достигает верхней планки очков, назначенных на текущий уровень, происходит вызов следующего блока исходного кода:


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz