Чтение онлайн

ЖАНРЫ

Создание игр для мобильных телефонов
Шрифт:
...

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

С технической точки зрения, в игре Connect 4 вы можете выиграть всегда, вне зависимости от стратегии игрока, если делаете ход первым.

Разработка игры

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

► графика и пользовательский интерфейс;

► сетевое соединение.

► игровая логика;

В следующих разделах будут подробно

рассмотрены все указанные этапы создания игры.

Графика и пользовательский интерфейс

Как и в случае большинства игр, разработка Connect 4 начинается с разработки графики. Элементы игровой графики – это фигуры и доска. Кроме этого полезно выводить дополнительную информацию, например, информацию о статусе соединения, а также то, кому принадлежит ход. В любой момент времени строка статуса должна выводить сообщение «Waiting for player\'s move» (Ожидание хода игрока) или «Your turn» (Ваш ход).

Чтобы создать интуитивно понятный интерфейс в игре, полезно показывать, какая колонка выбрана в настоящий момент. Чтобы сделать ход, нужно выбрать колонку с помощью стрелок влево и вправо, и потом поставить фишку. Маркер колонки в игре Connect 4 – это графическая стрелка, цвет которой зависит от игрока (красная – для игрока серверного устройства, а синяя – для игрока клиентского устройства). Маркер колонки выводится непосредственно над выбранной колонкой, поэтому игрок всегда может знать, в какую колонку будет брошена фишка.

...

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

На самом деле цветовое разделение указателей не является обязательным, поскольку эта информация игрокам не нужна. Однако с точки зрения тестирования игры, очень полезно окрасить указатели в разные цвета, чтобы понять, какое устройство является серверным, а какое клиентским.

Итак, в игре Connect 4 есть четыре основных графических элемента:

доска;

► строка состояния;

► фишки;

► стрелка-маркер.

У вас уже есть опыт разработки игр с анимационными спрайтами, поэтому программирование интерфейса игры Connect 4 для вас не составит труда. Давайте перейдем к разработке логики игры.

Игровая логика

Самое трудное препятствие в разработке логики игры Connect 4 – определение победившего игрока. Сначала это может показаться достаточно простой задачей: просто проверить наличие четырех фишек одного цвета в ряду, столбце или диагонали, так? Это и впрямь просто для человека, однако научить делать такую проверку компьютер – не такая уж и простая задача. Подумайте о том, как можно с помощью Java-кода проверить состояние игры Connect 4.

Одно из возможных решений – отслеживать всевозможные комбинации положений, приводящих к победе. Эти комбинации можно хранить в таблице, а затем использовать для определения, насколько близок каждый из игроков к победе. Хотя такой подход может показаться не столь очевидным, реализовать его не составит труда. На самом деле, в коде игры Connect 4 вы используете «силовой прием». Уверен, что есть более элегантные способы решения задачи, но таблица с выигрышными комбинациями –

это очень простой и весьма эффективный метод с точки зрения производительности.

Сеть

Как вы, несомненно, поняли, Connect 4 – это пошаговая игра. Это означает, что для ее реализации идеально подходит сетевое датаграммное соединение. Оказывается, игра Connect 4 может быть построена на тех же приемах, что и созданный в предыдущей главе мидлет Lighthouse. Но теперь нужно переправлять не символы азбуки Морзе (точек или тире), а номер столбца, в который производится ход. Единственное, что отличает игру Connect 4 от мидлета Lighthouse, – это необходимость отслеживания очередности ходов. Иначе говоря, вы не можете создать «свободное соединение», как это было в случае Lighthouse.

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

Ниже приведены основные элементы работы сетевого соединения в игре Connect 4:

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

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

3. по установлению соединения игра начинается ходом клиента. Далее право первого хода будет принадлежать проигравшему;

4. клиент совершает ход и передает серверу информацию о выбранном столбце;

5. ход переходит к серверу;

6. игра длится до тех пор, пока один из игроков не одержит победу или не будет возможности для совершения новых ходов;

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

Как вы видите, с точки зрения работы с сетью, игра Connect 4 – это более интересный вариант мидлета Lighthouse. Единственное значительное отличие – это управление ходами игроков и обмен информацией о выбранной колонке, а не символами азбуки Морзе. Как вы увидите дальше, код для работы с сетью игры Connect 4 во многом похож на код мидлета Lighthouse.

Разработка игры

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

Клиент и сервер в игре Connect 4

Большая часть кода игры Connect 4 содержится в двух классах: C4 Client и C4Server. Неудивительно, что эти два класса представляют клиента и сервер, которые обмениваются игровыми сообщениями. Оба класса реализуют интерфейс Runnable. Это означает, что каждый из них выполняется в отдельном потоке. Поскольку сервер обычно запускается первым, давайте начнем разработку класса C4Server.

Ниже приведены переменные класса C4Server:

private C4Canvas canvas;

private DatagramConnection dc;

private String address;

private boolean connected;

Поделиться с друзьями: