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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

private C4Canvas canvas;

private DatagramConnection dc;

private boolean connected;

Эти переменные повторяют переменные класса C4 Server за исключением отсутствующей переменной address. Конструктор C4Client() также аналогичен конструктору C4Server():

public C4Client(C4Canvas c) {

canvas = c;

connected = false;

}

Этот код идентичен коду конструктора класса сервера за исключением названия. Классы клиента схожи не только этим фрагментом кода, а также кодом методов start() и stop():

public void start() {

Thread t = new Thread(this);

t.start();

}

public void stop() {

}

Итак, коды классов сервера и клиента во многом очень похожи, отличаются они лишь методом run(), код которого приведен в листинге 15.3. Листинг 15.3. Метод run() класса C4Client – это сердце клиента игры Connect 4

public void run() {

try {

// соединиться с серверным устройством

canvas.setStatus("Connecting to peer server..."); //Клиент отображает начальное соединение, что говорит о том, что он пытается соединиться с сервером

dc = null;

while (dc == null)

dc = (DatagramConnection)Connector.open("datagram://localhost:5555"); //Номер порта клиента должен совпадать с номером порта сервера

while (true) {

// попробовать отправить датаграммный пакет

if (!connected) //Если соединение не установлено, отправить клиентское сообщение об установлении соединения серверу

sendMessage("Client");

// попробовать получить датаграммный пакет

Datagram dg = dc.newDatagram(32);

dc.receive(dg);

//проверить, что датаграмма содержит данные

if (dg.getLength() > 0) {

String data = new String(dg.getData(), 0, dg.getLength());

if (data.equals("Server")) { //Ответить на сообщение сервера о соединении

// сообщить пользователю об установлении соединения

canvas.setStatus("Connected to peer server.");

canvas.newGame();

connected = true;

}

else {

// отправить игровые данные по сети

canvas.receiveMessage(data); //Сообщение содержит символы азбуки Морзе, поэтому его следует передать холсту

}

}

}

}

catch (ConnectionNotFoundException cnfe) {

System.err.println("The network server is unavailable.");

}

catch (IOException ioe) {

}

}

Если подумать, то вы найдете этот код очень знакомым. Метод run() класса клиента структурирован точно так же, как и метод run() сервера, за исключением двух моментов. Во-первых, текст о статусе отличается от текста, выводимого на сервере, потому что клиент пытается установить соединение. Датаграммное соединение по-прежнему создается после определения статуса, но в данном случае URL другой, поскольку это клиентское устройство. Важно отметить, что номера портов на сервере и клиенте должны совпадать.

После того как клиент начал бесконечный цикл, сообщение Client немедленно отправляется серверу – сообщается об установлении соединения. После этого клиент переходит в режим «получения информации», так же, как и сервер. Клиент приступает к обработке входящих сообщений. Этими сообщениями могут быть либо Server (посылка сервера об удачном соединении), либо игровые данные о ходах соперника. Если получено специальное сообщение Server, то клиент изменяет статус холста и начинает новую игру. В противном случае клиент продолжает игру, обрабатывая определенным образом входящие сообщения.

В классе C4Server также метод sendMessage(), который очень похож на одноименный метод класса сервера. Код этого метода приведен в листинге 15.4.

Листинг 15.4. Метод sendMessage() класса C4Client отправляет строковое сообщение серверу датаграммным пакетом

public void sendMessage(String message) {

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

try {

// преобразовать строку в массив байтов

byte[] bytes = message.getBytes();

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

Datagram dg = null; //Упаковка данных в датаграмму и отправка серверу

dg = dc.newDatagram(bytes, bytes.length);

dc.send(dg);

}

catch (Exception e) {

}

}

При подробном рассмотрении кода видно, что клиентская версия sendMessage() не использует адреса для отправки датаграммы серверу. Это незначительное, но очень важное изменение. Теперь, когда классы клиента и сервера созданы, самое время перейти к разработке класса игры Connect 4.

Холст игры Connect 4

Холст игры Connect 4 находится в классе C4Canvas, который в значительной степени отвечает за работу игры. Ниже приведены переменные этого класса:

private Display display;

private boolean sleeping;

private long frameDelay;

private Image[] piece = new Image[2];

private Sprite arrowSprite;

private Player legalPlayer;

private Player illegalPlayer;

private Player winPlayer;

private Player losePlayer;

private C4State gameState; //Класс C4State содержит большую часть логики игры Connect 4, включая положения фишек на игровой доске

private C4Client client;

private C4Server server;

private boolean isServer; //Эта переменная показывает, является ли данный экземпляр игры сервером

private String status = "";

private boolean gameOver;

private boolean myMove;

private int curSlot;

Переменная piece хранит изображения фишек, используемых в игре (одну красного цвета и одну синего). Переменная arrowSprite – это спрайт с изображением стрелки, который выводится на игровом поле и указывает на текущую выбранную колонку. Переменные типа Player – это проигрыватели, сопровождающие звуком события, например, ход игрока, невозможный ход, победа или поражение.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x