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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Каждая отдельная выигрышная комбинация в игре имеет свое уникальное положение в массиве (длинна массива выигрышных положений равна значению переменной winPlaces). Каждая ячейка массива содержит значение true или false в зависимости от того, лежит ли ячейка на пересечении выигрышной комбинации.

Давайте рассмотрим небольшой пример, чтобы понять, как работает массив map. Взгляните на верхний левый угол игровой доски (рис. 15.1). Давайте назовем это положение (0,0). Теперь представьте различные выигрышные комбинации, включающие это положение. Сдаетесь? Посмотрите на рис. 15.4.

Как вы видите, в положении (0,0) на доске имеет три выигрышных комбинации. Следовательно, массив для положения (0,0) отразит эти комбинации, установив значения соответствующих ячеек true, при этом значения во всех остальных ячейках будут false. Если выигрышные положения, показанные на рис. 15.4, будут в положениях 11–13, массив map инициализировался бы так:

map[0][0][9] = false;

map[0][0][10] = false;

map[0][0][11] = true;

map[0][0][12] = true;

map[0][0][13] = true;

map[0][0][14] = false;

map[0][0][15] = false;

После того как массив map создан, вы можете использовать его для проверки выигрышных комбинаций и определить, кто из игроков победил.

Переменная board – это целочисленный массив размером 7 6, он отражает состояние игры. Каждая ячейка может содержать одно из значений: 0, 1 (в зависимости от игрока) или Empty.

Переменная score – это двумерный целочисленный массив, хранящий счет игры. Основной массив в переменной score содержит массив для каждого из игроков длиной winPlaces. Эти массивы содержат информацию, описывающую, насколько близок каждый из игроков к потенциальной выигрышной комбинации, а также количество фишек, входящих в последовательность. Этот массив используется так: если в выигрышной комбинации нет ни одной фишки, то значение соответствующей ячейки массива равно 0. Если в комбинации появляются фишки, то значение ячейки массива становится равным 2 в степени m, где m – число фишек. Если в ячейке массива появляется число 16, это означает, что игрок одержал победу.
...

Совет Разработчику

Не важно полностью понимать, как класс C4State подсчитывает очки и определяет победителя. Основная цель этого примера – продемонстрировать работу сетевой мобильной игры. Хитрый код подсчета очков – это неотъемлемая часть кода, помогающая определить победителя в игре Connect 4, но она не столь важна для сетевых аспектов мидлета.

Вот и все, что касается переменных класса C4State. Теперь вы, вероятно, понимаете переменные класса и что они моделируют. Давайте перейдем к рассмотрению методов этого класса.

Конструктор класса C4State инициализирует массив map, игровую доску и массивы счета (листинг 15.11).

Листинг 15.11. Конструктор C4State() инициализирует массив map игры Connect 4 и игровую доску

public C4State() {

// инициализация map

int i, j, k, count = 0;

if (map == null) {

map = new boolean[7][6][winPlaces];

for (i = 0; i < 7; i++)

for (j = 0; j < 6; j++)

for (k = 0; k < winPlaces; k++)

map[i][j][k] = false;

// установить горизонтальные выигрышные комбинации

for (i = 0; i < 6; i++)

for (j = 0; j < 4; j++) {

for (k = 0; k < 4; k++)

map[j + k][i][count] = true;

count++;

}

// установить вертикальные выигрышные комбинации

for (i = 0; i < 7; i++)

for (j = 0; j < 3; j++) {

for (k = 0; k < 4; k++)

map[i][j + k][count] = true;

count++;

}

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

for (i = 0; i < 3; i++)

for (j = 0; j < 4; j++) {

for (k = 0; k < 4; k++)

map[j + k][i + k][count] = true;

count++;

}

// установить обратные диагональные комбинации

for (i = 0; i < 3; i++)

for (j = 6; j >= 3; j–) {

for (k = 0; k < 4; k++)

map[j – k][i + k][count] = true;

count++;

}

}

// инициализировать доску

for (i = 0; i < 7; i++) //В начале игры на доске нет фишек

for (j = 0; j < 6; j++)

board[i][j] = Empty;

// инициализировать счет

for (i = 0; i < 2; i++)

for (j = 0; j < winPlaces; j++)

score[i][j] = 1;

numPieces = 0;

}

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

Метод isWinner() класса C4State (листинг 15.12) проверяет, победил ли игрок.

Листинг 15.12. Метод isWinner() класса C4State проверяет, одержал ли игрок победу

public boolean isWinner(int player) {

// проверить, победил ли игрок

for (int i = 0; i < winPlaces; i++)

if (score[player][i] == 16) //Число 16 в массиве счета говорит о победе

return true;

return false;

}

Метод isWinner() определяет победу, проверяя элементы массива score на равенство 16.

Метод isTie() проверяет ничью в игре, для чего он просто сравнивает значения переменных numPieces и maxPieces. Если они равны, это означает, что доска заполнена. Код метода isTie() приведен в листинге 15.13.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x