Читаем Создание игр для мобильных телефонов полностью

Метод draw() начинается с заливки фона игрового экрана. Затем в нижней части экрана появляется игровое статусное сообщение. Если игра запущена и ход принадлежит игроку, то спрайт стрелки выводится под строкой статуса. Оставшаяся часть метода draw() выводит фишки и пустые ячейки на игровой доске. Значение 0 на игровой доске соответствует фишке красного цвета – игрока серверного приложения, а значение 1 – фишке синего цвета, принадлежащей игроку клиентского приложения.

Метод newGame() вызывается для запуска новой игры, его задача – инициализировать игровые переменные и обновить строку состояния. В листинге 15.8 приведен код этого метода.

Листинг 15.8. Метод newGame() класса C4Canvas запускает новую игру Connect 4

public void newGame() {

// Initialize the game variables

gameOver = false;

curSlot = 0;

gameState = new C4State();

// Update the status message

status = myMove ? "Your turn." : "Waiting for player\'s move...";

}

Этот код вполне очевидный, переменной gameOver присваивается значение false, переменной curSlot – 0, игровая доска обновляется при создании переменной gameState(). Затем обновляется сообщение в строке статуса в соответствии с очередностью хода.

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

Листинг 15.9. Метод receiveMessage() класса C4Canvas получает и обрабатывает сообщения, переданные по сети

public void receiveMessage(String message) {

if (gameOver) {

// проверка сообщения о запуске новой игры

if (message.equals("NewGame")) //Если получено сообщение NewGame, то начать новую игру

newGame();

}

else {

if (!myMove) {

// попытка получить сообщение с информацией о ходе

try {

// отобразить ход соперника

int slot = Integer.parseInt(message);

if (slot >= 0 && slot <= 6) { //Проверить, что сообщение содержит допустимое значение колонки (от 0 до 6), а затем выполнить ход

if (makeMove(isServer ? 1 : 0, slot))

myMove = true;

}

}

catch (NumberFormatException nfe) {

}

}

}

}

Перейти на страницу:

Похожие книги

1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT