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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Разработка клиента и сервера

Мидлет Lighthouse использует все преимущества отношения «клиент – сервер» между двумя мобильными телефонами. Соединение между мидлетами – датаграммное, это означает, что обмен информацией будет производиться датаграммными пакетами. Поскольку при разработке мидлета Lighthouse используется концепция «клиент – сервер», необходимо знать, какой из телефонов инициирует соединение. Ниже перечислено, что происходит между телефоном-клиентом и телефоном-сервером в мидлете Lighthouse:

1. сервер начинает датаграммное соединение и ждет ответа клиента;

2. телефон-клиент открывает датаграммное соединение с телефоном-сервером;

3. когда соединение установлено, клиент и сервер обмениваются сообщениями;

4. клиент и сервер завершают соединение.

Интерес в разрабатываемом мидлете представляет то, что один из телефонов должен функционировать и как клиент, и как сервер в зависимости от контекста. Чтобы реализовать эту двойную функциональность, пользователь при запуске мидлета может определить, какую роль будет играть его телефон – клиента или сервера. После чего один телефон будет работать либо в режиме клиента, либо в режиме сервера. Зная, что для мидлета Lighthouse есть два режима функционирования, целесообразно разделить сетевой код мидлета на код клиента и код сервера.

...

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

С точки зрения программирования сетевых игр пример Lighthouse является не настоящим примером приложения «клиент – сервер», а коммуникатором между двумя устройствами. В настоящих сетевых играх, основанных на концепции «клиент – сервер», есть отдельное серверное приложение, запущенное на сетевом сервере. Мидлеты, подключающиеся к серверу, – клиенты, а сервер управляет игрой. Мидлет Lighthouse является приложением «клиент – сервер» только лишь с той точки зрения, что одно устройство (сервер) ожидает подключения другого устройства (клиента).

Написание программного кода

Мидлет Lighthouse может работать в двух режимах – режиме клиента и режиме сервера. Режим определяется пользователем через интерфейс при запуске мидлета (вы это увидите чуть позже). Перед тем как вы перейдете к этому, важно разобрать код работы с сетью, который выполняет отправление и прием пакетов через беспроводное соединение.

Клиент и сервер мидлета Lighthouse

Код «клиент – сервер» в мидлете Lighthouse намного легче понять, если начать рассмотрение кода сервера. Все функции сервера содержатся в классе LHServer, который отвечает за ожидание датаграммного подключения клиента. Класс LHServer реализует интерфейс Runnable, что означает, что он запускается в отдельном потоке:

public class LHServer implements Runnable {

Это важно, поскольку класс запускает отдельный поток, отслеживающий соединение, и получает сообщения от клиента. Кроме сетевого соединения с клиентом, сервер также должен обмениваться информацией с холстом мидлета, который отображает маяк. Переменные класса LHServer говорят о некоторых его функциях:

private LHCanvas canvas;

private DatagramConnection dc;

private String address;

private Boolean connected;

Холст хранится внутри класса LHServer в переменной canvas. Датаграммное соединение хранится в переменной dc – объекте класса DatagramConnection. Переменная address хранит адрес клиента, чтобы пакеты датаграммы могли быть направлены непосредственно получателю. И наконец, переменная connected отслеживает текущее состояние соединения с клиентом. Конструктор класса LHServer принимает единственный параметр – объект класса LHCanvas, конструктор выполняет ряд инициализаций:

public LHServer(LHCanvas c) {

canvas = c;

connected = false;

}

Метод start() также очень прост, он запускает поток:

public void start() {

Thread t = new Thread(this);

t.start();

}

Метод run() – это метод, в котором реализуются основные функции сервера (листинг 14.1). Листинг 14.1. Метод run() класса LHServer отвечает на сообщения, принятые от клиента

public void run() {

try {

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

canvas.setStatus("Waiting for peer client..."); //Первое статусное сообщение сервера говорит о том, что он ожидает клиента

dc = null;

while (dc == null)

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

while (true) {

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

Datagram dg = dc.newDatagram(32); //Размер датаграммы (32 байта) должен быть достаточно большим, чтобы вместить наибольшее возможное сообщение, однако в игре Lighthouse сообщения не очень велики

dc.receive(dg);

address = dg.getAddress();

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

if (dg.getLength() > 0) {

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

Интервал:

Закладка:

Сделать

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

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


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

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

x