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

Тут можно читать онлайн Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Питер, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Программирование КПК и смартфонов на .NET Compact Framework
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2007
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-91180-270-7
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

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

Программирование КПК и смартфонов на .NET Compact Framework - описание и краткое содержание, автор Александр Климов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Книга предназначена для начинающих программистов.

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

Программирование КПК и смартфонов на .NET Compact Framework - читать книгу онлайн бесплатно, автор Александр Климов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Также метод инициализирует счетчик таймера для отчета длительности присутствия ветчины на экране. Программа использует минимальное время вкупе со случайным периодом. Таким образом, пользователь никогда не будет знать, как долго ветчина будет видима. Каждый раз при обновлении игры программа должна обновлять состояние куска ветчины. Если игрок коснулся изображения ветчины, то надо увеличить счет и удалить изображение. Соответствующий код приведен в листинге 11.52.

Листинг 11.52

///



/// Обновляем состояние ветчины

///

private void hamTick() {

// ничего не делаем, если ветчина невидима

if (!hamPresent) {

return;

}

if (breadRectangle.IntersectsWith(bonusHamRectangle)) {

// при касании игроком куска ветчины

// прибавляем 100 очков

scoreValue = scoreValue + 100;

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

// звук касания ветчины

bonusHamSound.Play();

// прячем ветчину с экрана

hamPresent = false;

} else {

// Отчитываем время назад

hamTimerCount--;

if (hamTimerCount == 0) {

// время вышло - удаляем ветчину

hamPresent = false;

}

}

}

Также надо изменить код методов Form1_Paintи updatePosition. Если изображения батона и ветчины пересекаются, то нужно увеличить счет и удалить изображение ветчины. В ином случае надо уменьшить время отображения ветчины или удалить это изображение, если соответствующий период времени уже закончился. Соответствующий код приведен в листинге 11.53.

Листинг 11.53

//(Form1_Paint)

// Выводим на экран кусок ветчины

if (hamPresent) {

g.DrawImage(bonusHamImage, bonusHamRectangle.X, bonusHamRectangle.Y);

}

//(updatePosition)

// Активизируем ветчину

startHam();

//(timerTick)

hamTick();

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

Управление таблицей результатов

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

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

Новую форму надо добавить в проект и задать для нее имя HighScore.cs . На созданной форме следует разместить текстовое поле для ввода имени и меню, которое сигнализирует об окончании ввода. Созданная форма будет отображаться при достижении высокого результата. В этом случае игрок-рекордсмен вводит свое имя и нажимает на пункт меню OK для закрытия формы и сохранения имени.

Переключение между формами

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

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

При старте программы создается экземпляр формы HighScore. Данный экземпляр имеет ссылку на родительскую форму. При достижении высокого результата форма HighScoreвыводится на экран. При этом выполняется метод HighScore_Load, который скрывает родительскую форму. На экране появляется форма, отображающая лучшие результаты, игрок вводит свое имя и выполняет команду меню OK . При этом срабатывает обработчик события для меню OK , которое закрывает форму HighScore. При закрытии формы выполняется метод HighScore_Closing. Основное окно формы снова появляется на экране. Код главной формы извлекает имя игрока из формы HighScore.

Итак, метод HighScore_Loadдолжен скрыть родительскую форму. Для этого метод должен использовать ссылку на главное окно. Ссылка на родительское окно передается в форму HighScoreпри ее создании, как показано в листинге 11.54.

Листинг 11.54

///



/// Родительское окно, из которого вызывается данное окно.

/// Используется при закрытии данного окна.

///

private Form parentForm;

public HighScore(Form inParentForm) {

// Сохраняем родительское окно при закрытии окна лучших

// результатов.

parentForm = inParentForm;

InitializeComponent();

}

Этот код является конструктором формы HighScore. Когда идет создание формы, то передается ссылка на родительскую форму.

Код метода HighScore_Loadприведен в листинге 11.55.

Листинг 11.55

private void HighScore_Load(object sender, System.EventArgs e) {

parentForm.Hide();

}

При загрузке формы родительское окно автоматически прячется. При закрытии формы надо вернуть родительскую форму на экран. Для этого применяется код, приведенный в листинге 11.56.

Листинг 11.56

private void HighScore_Closing(object sender,

System.ComponentModel.CancelEventArgs e) {

parentForm.Show();

}

После ввода имени игрок выполняет команду меню OK для закрытия формы. Обработчик этого события приведен в листинге 11.57.

Листинг 11.57

private void doneMenuItem_Click(object sender, System.EventArgs e) {

Close();

}

После закрытия окна вызывается обработчик события, который выводит главное окно на экран.

Отображение дочернего окна

Программа должна получить имя игрока при достижении им высокого результата. Для этого создается копия формы HighScore. Программа должна создать форму при старте и хранить ссылку на нее. Экземпляр формы HighScoreсоздается при старте основной программы, вызывая конструктор и передавая ссылку на родительскую форму, в нашем случае на саму себя, как показано в листинге 11.58.

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

Интервал:

Закладка:

Сделать


Александр Климов читать все книги автора по порядку

Александр Климов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Программирование КПК и смартфонов на .NET Compact Framework отзывы


Отзывы читателей о книге Программирование КПК и смартфонов на .NET Compact Framework, автор: Александр Климов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x