Майкл Моррисон - Создание игр для мобильных телефонов

Здесь есть возможность читать онлайн «Майкл Моррисон - Создание игр для мобильных телефонов» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Создание игр для мобильных телефонов: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Создание игр для мобильных телефонов»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга «Создание игр для мобильных телефонов» – это практическое руководство, которое поможет разработать и реализовать игру для мобильного телефона.
Книга написана простым языком, не содержит сложной и скучной теории программирования и шаг за шагом знакомит с методикой создания технологии «plug-and-play» применительно к созданию огромного количества игр.
В издание включены подробные описания и примеры кодов для четырех игр, а также информация, необходимая для реализации вашей собственной задумки.
Если вы любите играть в игры и занимаетесь программированием, то эта книга – для вас! Перевод: К. Михалкин

Создание игр для мобильных телефонов — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Создание игр для мобильных телефонов», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
...

В копилку Игрока

Невозможный ход в игре Connect 4 – это попытка поставить фишку в уже заполненную колонку.

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

Переменные client и server представляют клиентскую и серверную сетевые компоненты. Важно понять, что в каждом запущенном образе игры используется лишь одна из указанных переменных. Иначе говоря, если игра работает в режиме сервера, то используется переменная server, в противном случае – client. Переменная isServer отслеживает, работает ли программа в режиме сервера.

Переменная status содержит текст, выводимый в строке состояния, а переменная gameOver говорит, закончена игра или нет. Переменная myMove определяет, может ли игрок совершить ход, или следует ожидать хода соперника. И наконец, переменная curSlot хранит номер текущего выбранного столбца на игровой доске.

Переменные класса C4Canvas впервые появляются в методе start(), код которого приведен в листинге 15.5.

Листинг 15.5. Метод start() класса C4Canvas начинается с инициализации переменных игры и активации сервиса клиент/сервер

public void start() {

// установить вывод на экран

display.setCurrent(this);

// инициализация изображений фишек

try {

piece[0] = Image.createImage("/RedPiece.png");

piece[1] = Image.createImage("/BluePiece.png");

}

catch (IOException e) {

System.err.println("Failed loading images!");

}

// инициализация спрайта стрелки

try {

// Create the arrow sprite

arrowSprite = new Sprite(Image.createImage("/Arrow.png"), 18, 16);

arrowSprite.setFrame(isServer ? 0 : 1); //Спрайт стрелки имеет два фрейма (синий и красный), каждый из которых используется в определенном режиме работы

}

catch (IOException e) {

System.err.println("Failed loading images!");

}

// инициализация проигрователей

try {

InputStream is = getClass().getResourceAsStream("Legal.wav");

legalPlayer = Manager.createPlayer(is, "audio/X-wav");

legalPlayer.prefetch();

is = getClass().getResourceAsStream("Illegal.wav");

illegalPlayer = Manager.createPlayer(is, "audio/X-wav");

illegalPlayer.prefetch();

is = getClass().getResourceAsStream("Win.wav");

winPlayer = Manager.createPlayer(is, "audio/X-wav");

winPlayer.prefetch();

is = getClass().getResourceAsStream("Lose.wav");

losePlayer = Manager.createPlayer(is, "audio/X-wav");

losePlayer.prefetch();

}

catch (IOException ioe) {

}

catch (MediaException me) {

}

// инициализация переменных игры

gameOver = true;

myMove = !isServer; // клиент всегда ходит первым

curSlot = 0;

gameState = new C4State();

// запуск сетевого сервиса

if (isServer) { //Начиная с этой точки мидлет работает в режиме сервера или клиента

server = new C4Server(this);

server.start();

}

else {

client = new C4Client(this);

client.start();

}

// запуск потока анимации

sleeping = false;

Thread t = new Thread(this);

t.start();

}

В методе start() выполняется ряд важных инициализаций, например, изображений фишек и стрелки. Спрайт стрелки состоит из двух фреймов – синей и красной стрелок, цвет стрелки выбирается в соответствие с режимом работы игры (клиент или сервер). Затем выполняется инициализация проигрывателей, после чего инициализируются четыре основные игровые переменные (gameOver, myMove, curSlot и gameState). В зависимости от значения переменной isServer запускается нужный сетевой сервис (клиент или сервер). Значение этой переменной устанавливается при запуске конструктора C4Canvas().

Хотя метод start() очень важен для инициализации приложения, метод update(), приведенный в листинге 15.6, – это метод, в котором обрабатывается ввод и преобразуется в игровые события, передаваемые по сети.

Листинг 15.6. Метод update() класса C4Canvas отвечает на нажатия клавиш и отправляет игровые сообщения

private void update() {

// проверить, перезапущена ли игра

if (gameOver) {

int keyState = getKeyStates();

if ((keyState & FIRE_PRESSED) != 0) {

// начать новую игру

newGame();

// отправить сообщение о новой игре оппоненту

if (isServer)

server.sendMessage("NewGame"); //Оповестить другого игрока о начале игры

else

client.sendMessage("NewGame");

}

// игра окончена, обновление не требуется

return;

}

// обработка нажатия клавиш

if (!gameOver && myMove) {

// обработка пользовательского ввода

int keyState = getKeyStates();

if ((keyState & LEFT_PRESSED) != 0) {

if (–curSlot < 0) //Переместить маркер колонки влево

curSlot = 0;

}

else if ((keyState & RIGHT_PRESSED) != 0) {

if (++curSlot > 6) //Переместить маркер колонки вправо

curSlot = 6;

}

else if ((keyState & FIRE_PRESSED) != 0) {

if (makeMove(isServer ? 0 : 1, curSlot)) {

myMove = false; //Ход игрока окончен

// отправить сообщение другому игроку

if (isServer) //Передать информацию о ходе другому устройству

server.sendMessage(Integer.toString(curSlot));

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Создание игр для мобильных телефонов»

Представляем Вашему вниманию похожие книги на «Создание игр для мобильных телефонов» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Создание игр для мобильных телефонов»

Обсуждение, отзывы о книге «Создание игр для мобильных телефонов» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x