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

Я знаю, что метод makeMove достаточно запутан, однако он не такой сложный, как это может показаться. Во-первых, важно отметить, что два параметра, принимаемых методом, – это игрок и номер столбца, в который совершается ход. Метод начинается с вызова dropPiece, в который передается переменная gameState. Этот метод пытается поместить фишку в выбранный столбец. Я говорю «пытается», потому что ход может быть невозможным из-за того, что столбец уже полон. В этом случае метод возвращает значение false, которое говорит о том, что ход сделать нельзя.

Если ход возможен, то метод makeMove воспроизводит звуковой файл и проверяет, завершает ли этот ход игру. В вызываемый метод isWinner передается объект, описывающий состояние игры, он проверяет, победил ли игрок, сделавший ход. Если да, то следует проверка, кто победил – игрок или его соперник. Затем обновляется статусное сообщение, а переменной gameOver присваивается значение true.

Игра Connect 4 может закончиться, когда на игровом поле не остается свободной ячейки, а никто из игроков не смог выставить 4 фишки в ряд. Чтобы определить ничью, достаточно вызвать метод isTie класса C4Canvas. Метод makeMove вызывает метод isTie и проверяет, окончилась ли игра ничьей.

Состояние игры Connect 4

Последний фрагмент головоломки с названием Connect 4 – это класс, описывающий детали игры Connect 4, например, положение фишек на игровой доске. Класс C4State моделирует текущее состояние игры Connect 4, он содержит следующие переменные:

private static boolean[][][] map;

private int[][] score = new int[2][winPlaces];

public static final int winPlaces = 69, maxPieces = 42, Empty = 2;

private int numPieces;

public int[][] board = new int[7][6];

Чтобы упростить разбор класса C4State, давайте начнем разговор с рассмотрения переменных winPlaces, maxPieces и Empty типа static final. Такое объявление говорит о том, что эти члены класса являются константами. Приведенное ниже уравнение используется для подсчета значения константы winPlaces, определяющей число возможных выигрышных комбинаций на доске:

winPlaces = 4*w*h – 3*w*n – 3*h*n + 3*h – 4*n + 2*n*n;

Это общее уравнение, которое можно применить к любой игре типа Connect X. В этом уравнении: w и h – ширина и высота доски в ячейках соответственно, а n – число фишек, которое необходимо выставить для победы. Поскольку в игре Connect 4 используется доска размером 7 6, при этом для победы необходимо выставить 4 фишки, то вы легко можете посчитать значение winPlaces и получите число 69. Как раз именно это значение и присваивается в классе C4State. Переменная maxPieces определяет максимальное число фишек, которое можно поставить на доску. Приведенное ниже уравнение позволяет вычислить это значение:

maxPieces = w*h;

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

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

С компьютером на ты. Самое необходимое
С компьютером на ты. Самое необходимое

Рассказывается о работе в операционной системе Windows (на примере версий XP и 7), текстовом редакторе Word 2010 и других приложениях, необходимых каждому пользователю: архиваторах, антивирусах и программах для просмотра видео и прослушивания музыки (Winamp, QuickTime Pro). Большое внимание уделяется работе в Интернете. Рассказывается о программах для просмотра Web-страниц, об электронной почте, а также о различных полезных приложениях для работы в сети — менеджерах закачек файлов, ICQ, Windows Live Messenger, MSN и многих других. Во втором издании рассмотрена новая ОС — Windows 7, а также последние версии приложений для пользователей.Для начинающих пользователей ПК.

Андрей Александрович Егоров , Андрей Егоров

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
От «кирпича» до смартфона
От «кирпича» до смартфона

Перед вами уникальное исследование мира мобильной индустрии, превращенное его автором Эльдаром Муртазиным, ведущим аналитиком Mobile Research Group и главным российским специалистом по мобильным телефонам, в захватывающий бизнес-триллер. Гигантские компании — Nokia, Motorola, Samsung бросают на мобильный фронт колоссальные силы, создают альянсы, охотятся за лучшими специалистами, шпионят друг за другом. Разработки ведутся в обстановке строжайшей секретности. Цель — выпустить на рынок новую, уникальную модель раньше конкурентов или даже полностью изменить наше представление о мобильном телефоне, как это недавно удалось Apple со своим iPhone.Эта книга предназначена для тех, кто видит в мобильном телефоне не просто средство связи, а чудо инженерной мысли, смелое воплощение дизайнерских фантазий, символ нашей эпохи.

Эльдар Викторович Муртазин , Эльдар Муртазин

Справочная литература / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии