Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework

Здесь есть возможность читать онлайн «Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2007, ISBN: 2007, Издательство: Питер, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование КПК и смартфонов на .NET Compact Framework: краткое содержание, описание и аннотация

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

Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.

Программирование КПК и смартфонов на .NET Compact Framework — читать онлайн бесплатно полную книгу (весь текст) целиком

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

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

Интервал:

Закладка:

Сделать

□ Режим «attract», включающийся, когда пользователь не играет.

□ Потеря жизни, если сыр ударился о нижнюю границу экрана.

□ При уничтожении всех томатов они должны появиться чуть ниже, и скорость игры должна возрасти.

□ Добавление в игру случайных элементов.

В программу надо ввести булеву переменную gameLive, которая имеет значение True, когда пользователь ведет игру. Если значение переменной равно False, то сыр будет двигаться по экрану, но никаких игровых действий производиться не будет.

Для этого потребуется изменить метод, выполняющийся при старте игры. Новая версия приведена в листинге 11.44.

Листинг 11.44

///



/// True, если игра запущена на экране.

///

private bool gameLive = false;

///



/// Число оставшихся жизней.

///

private int livesLeft;

///



/// Число жизней, доступных для игрока.

///

private int startLives = 3;

private void startGame() {

// Устанавливаем число жизней, счет и сообщения

livesLeft = startLives;

scoreValue = 0;

messageString = "Счет: 0 Жизнь: " + livesLeft;

// Располагаем помидоры наверху экрана

tomatoDrawHeight = tomatoLevelStartHeight;

placeTomatoes();

// Поместим батон в центре экрана

breadRectangle.X = (this.ClientSize.Width - breadRectangle.Width) / 2;

breadRectangle.Y = this.ClientSize.Height / 2;

// Поместим сыр над батоном в центре экрана

cheeseRectangle.X = (this.ClientSize.Width - cheeseRectanglе.Width) / 2;

cheeseRectangle.Y = breadRectangle.Y — cheeseRectangle.Height;

// Установим начальную скорость

xSpeed = 1;

ySpeed = 1;

// Установим флаг, позволяющий начать игру

gameLive = true;

}

Этот код возвращает все объекты на исходные позиции и начинает новую игру. Батон располагается в середине экрана, а сыр чуть выше него. Этот метод связан с пунктом меню, позволяющим начать игру.

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

Соответствующий код приведен в листинге 11.45.

Листинг 11.45

if ((cheeseRectangle.Y + cheeseImage.Height) >= this.Height) {

// сыр достиг нижней границы экрана

loseLife();

goingDown = false;

}

Метод loseLifeподсчитывает количество оставшихся жизней и заканчивает игру, если все жизни были израсходованы. Также метод может показывать лучший достигнутый счет игры. Его код приведен в листинге 11.46.

Листинг 11.46

private void loseLife() {

if (!gameLive) {

return;

}

// Потеряли еще одну жизнь

livesLeft--;

if (livesLeft > 0) {

// обновим сообщение на экране

messageString = "Счет: " + scoreValue + " Жизнь: " + livesLeft;

} else {

// Останавливаем игру

gameLive = false;

// сравниваем с лучшим результатом

if (scoreValue > highScoreValue) {

highScoreValue = scoreValue;

}

// меняем сообщение на экране

messageString = "Лучший результат: " + highScoreValue;

}

}

Этот код не выполняется, если игра не запущена. При вызове метод уменьшает количество жизней и подсчитывает оставшееся число. Пока есть жизни, игра продолжается. В противном случае обновляется счет и игра выключается.

Последний метод в нашей игре отвечает за перерисовку томатов, когда они все уничтожены. Чтобы отследить эту ситуацию, в метод Form1_Paintдобавлен очень простой код, который приведен в листинге 11.47.

Листинг 11.47

bool gotTomato = false;

for (int i = 0; i < tomatoes.Length; i++) {

if (tomatoes[i].visible) {

gotTomato = true;

g.DrawImage(tomatoImage, tomatoes[i].rectangle.X, tomatoes[i].rectangle.Y);

}

}

if (!gotTomato) {

newLevel();

}

Если пользователь выбил все томаты, то вызывается метод newLevel. Метод просто перерисовывает томаты и увеличивает скорость, как показано в листинге 11.48.

Листинг 11.48

private void newLevel() {

if (!gameLive) {

return;

}

// Рисуем помидоры чуть ниже

tomatoDrawHeight += tomatoSpacing;

if (tomatoDrawHeight >

(ClientSize.Height - (breadRectangle.Height+tomatoImage.Height))) {

// Рисуем помидоры снова в верхней части экрана

tomatoDrawHeight = tomatoLevelStartHeight;

}

placeTomatoes(); // Увеличиваем скорость

if (xSpeed < maxSpeed) {

xSpeed++;

ySpeed++;

}

}

Метод перемещает томаты все ниже и ниже. Когда они почти достигнут края экрана, то будут снова перемещены в верхнюю часть экрана.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework»

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


Гайдар Магдануров - ASP.NET MVC Framework
Гайдар Магдануров
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Реестр Windows 7
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Гадания
Александр Климов
Отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework»

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

x