Книга: Программирование КПК и смартфонов на .NET Compact Framework
Счет игры
Разделы на этой странице:
Счет игры
Итак, это уже похоже на игру. Но пока ей не хватает увлекательности. Нужно добавить подсчет результатов. Отображение результатов игры — не самая сложная задача. Мы можем выводить текст на экран с помощью метода DrawString
. Но при этом потребуется указать шрифт, кисть и координаты вывода текста. Начать стоит со шрифта. Его надо инициализировать в конструкторе формы при помощи кода, приведенного в листинге 11.31.
Листинг 11.31
/// <summary>
/// Шрифт для вывода счета
/// </summary>
private Font messageFont = null;
// Создадим шрифт для показа набранных очков
messageFont = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Regular);
Теперь необходимо выбрать прямоугольник, в котором будет отображаться текст. Нужно зарезервировать 15 пикселов в верхней части экрана для отображения текущего счета. При этом потребуется модифицировать игру, чтобы двигающиеся объекты не попадали в эту область.
Используя переменную для хранения этой высоты, можно легко изменить размеры информационной панели, если понадобится. Прямоугольник инициализируется при загрузке формы, как показано в листинге 11.32.
Листинг 11.32
/// <summary>
/// Прямоугольник, в котором будет отображаться счет игры
/// </summary>
private Rectangle messageRectangle;
/// <summary>
/// Высота панели для счета.
/// </summary>
private int scoreHeight = 15;
// Устанавливаем размеры прямоугольника для счета
messageRectangle = new Rectanglе(0, 0, this.ClientSize.Width, scoreHeight);
Если прямоугольник будет слишком мал для текста, то текст будет обрезаться при отображении.
После того как будут заданы шрифт и область для отображения текстовой информации, пора позаботиться о кисти. Выбирая тип кисти, одновременно указывайте цвет и узор для рисования, как показано в листинге 11.33.
Листинг 11.33
/// <summary>
/// Кисть, используемая для отображения сообщений
/// </summary>
private SolidBrush messageBrush;
// Выбираем красную кисть
messageBrush = new SolidBrush(Color.Red);
Текст счета игры на экране будет отображаться красным цветом. Чтобы вывести сообщение на экран, понадобится вызвать метод DrawString
в событии Form1_Paint
, как показано в листинге 11.34.
Листинг 11.34
/// <summary>
/// Строка для вывода сообщений
/// </summary>
private string messageString = "Нажмите Старт для начала игры";
g.DrawString(messageString, messageFont, messageBrush, messageRectangle);
Созданная переменная messageString
применяется для вывода сообщений на экран во время игры.
- Начало работы
- Добавление изображения в программу
- Использование встроенных ресурсов
- Вывод картинки на экран
- Создание анимации
- Отражения
- Управление скоростью движения объекта
- Добавляем новый объект
- Устранение мерцания
- Хлеб — всему голова
- Обнаружение столкновений
- Столкновения батона и мяча
- Новые объекты
- Размещение помидоров
- Уничтожение томатов
- Счет игры
- Ведение счета
- Звуковые эффекты
- Дальнейшие улучшения
- И опять добавляем новые объекты
- Управление таблицей результатов
- Переключение между формами
- Отображение дочернего окна
- Получение имени игрока
- Хранение лучших результатов
- Улучшение графики
- Спрайты
- Часть II 55 выигрышных бизнес-моделей, и что они могут вам дать
- Окончание игры и подсчет результатов
- 6.9. Подготовка данных для расчета прибыльности
- 4. Подсчет и пересчет
- Перечень типичных просчетов при определении конечной цели проекта
- 8.3. Расчет шумовых характеристик УУ
- Расчет показателей
- Могу ли я изменить или отключить звуки, которые проигрываются при запуске Windows, щелчке кнопкой мыши на папке и т. д.?
- Установка значений спин-счетчиков
- При попытке скачать из Интернета МР3-файл запускается Проигрыватель Windows Media. Но мне нужно просто скачать файл. Как...
- 8.4. Оформляем интерфейс проигрывателя
- Методы расчета