ООП на Delphi - 7: Программируем свою игрушку

Содержание

Слайд 2

Объектно – ориентированное программирование на DELPHI - 7 @ Краснополянская школа

Объектно – ориентированное программирование на
DELPHI - 7

@ Краснополянская школа №

1 Домнин Константин Михайлович 2006 год
Слайд 3

На этом уроке: Мы создадим свою игрушку для досуга, используя знания,

На этом уроке:
Мы создадим свою игрушку для досуга, используя

знания, полученные на предыдущих уроках

DELPHI - 7

Вопросы:
Весь этот урок посвящен созданию игры «Раздави пауков»

Слайд 4

Объектно – ориентированное программирование на DELPHI - 7 Создание игры «Раздави пауков»

Объектно – ориентированное программирование на DELPHI - 7

Создание игры
«Раздави пауков»

Слайд 5

Создаем свою игру Вначале давайте сыграем в эту игру (выберите режим

Создаем свою игру

Вначале давайте сыграем в эту игру (выберите режим

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

Сыграть ->

Слайд 6

Создаем свою игру ШАГ 1 Как обычно, запускаем Delphi и конструируем

Создаем свою игру

ШАГ 1

Как обычно, запускаем Delphi и конструируем форму

Положим на форму панель (Panel1) – это будет наше поле боя. Подберем цвет панели

Через компонент Image помещаем на панель несколько жучков (8), которые будут прыгать по полю

Слайд 7

Создаем свою игру ШАГ 1 Как обычно, запускаем Delphi и конструируем

Создаем свою игру

ШАГ 1

Как обычно, запускаем Delphi и конструируем форму

Вставляем Group Box, в котором размещаем Label с правилами игры

Вставляем Group Box, в котором размещаем 2 Label-a и 2 Memo для вывода результатов: времени, затраченного на игру и числа попыток

Слайд 8

Создаем свою игру ШАГ 1 Как обычно, запускаем Delphi и конструируем

Создаем свою игру

ШАГ 1

Как обычно, запускаем Delphi и конструируем форму

В следующем Group Box-e вставляем Radio Group на три переключателя для выбора режима игры

Размещаем кнопки СТАРТ и ВЫХОД

Слайд 9

Создаем свою игру ШАГ 1 Как обычно, запускаем Delphi и конструируем

Создаем свою игру

ШАГ 1

Как обычно, запускаем Delphi и конструируем форму

Поместим на форму два таймера:
Первый будет отсчитывать время, которое мы затратили на игру
Второй будет заставлять прыгать паучков через определенные промежутки времени
Слайд 10

Создаем свою игру ШАГ 2 Сейчас приступим к написанию кода игры

Создаем свою игру

ШАГ 2

Сейчас приступим к написанию кода игры и

начнем с события создания формы (On Create), возникающего каждый раз самым первым при запуске приложения

Давайте сделаем, чтобы при запуске игры панель1 (поле боя) было неактивным, серым и на нем в качестве логотипа в середине один паучок. Время игры идти не должно

Красим панель серой краской
Делаем ее недоступной
Оба таймера делаем СТОП
Паучков, которые будут прыгать, делаем невидимыми
Паучка – логотип делаем видимым

Слайд 11

Создаем свою игру ШАГ 2 Сейчас приступим к написанию кода игры

Создаем свою игру

ШАГ 2

Сейчас приступим к написанию кода игры и

начнем с события создания формы (On Create), возникающего каждый раз самым первым при запуске приложения

В результате при запуске программы мы увидим такую форму
Чтобы во время игры нельзя было изменить размеры формы (и поля боя), сделайте свойство формы Border Style равным Tool Window

Слайд 12

Создаем свою игру ШАГ 3 Опишем процедуру нажатия на кнопку СТАРТ

Создаем свою игру

ШАГ 3

Опишем процедуру нажатия на кнопку СТАРТ

Здесь

мы видим три переменных: k,s,p.
Для чего они введены?
В переменной k будет храниться количество попаданий по паучкам во время игры
В переменной s будет храниться время, затраченное на игру
В переменной p будет храниться число попыток раздавить паучков (считая число попаданий и число промахов)
При каждом старте эти переменные должны обнуляться
Слайд 13

Создаем свою игру ШАГ 3 Опишем процедуру нажатия на кнопку СТАРТ

Создаем свою игру

ШАГ 3

Опишем процедуру нажатия на кнопку СТАРТ

Делаем

Panel1 (поле боя) доступной и красим ее белым цветом

Все 7 паучков, которые будут прыгать, делаем видимыми

Восьмого паучка (логотип) делаем невидимым

Слайд 14

Создаем свою игру ШАГ 3 Опишем процедуру нажатия на кнопку СТАРТ

Создаем свою игру

ШАГ 3

Опишем процедуру нажатия на кнопку СТАРТ

Запускаем

оба таймера: пошел отсчет времени и паучки запрыгали

Очищаем все надписи на панели и в Memo для вывода результата (Эти надписи у нас появятся в конце игры)

Слайд 15

Создаем свою игру ШАГ 3 Опишем процедуру нажатия на кнопку СТАРТ

Создаем свою игру

ШАГ 3

Опишем процедуру нажатия на кнопку СТАРТ

А

здесь идет проверка условия:
Если выбран первый переключатель(с индексом 0), то интервал прыгания паучков устанавливается 0,8 сек – медленно
Если второй – 0,5 сек (быстро)
Если третий – 0,3 сек (очень быстро)
Таким образом каждый может выбрать свой темп игры
Слайд 16

Создаем свою игру ШАГ 4 Опишем событие щелканья мышкой по паучку.

Создаем свою игру

ШАГ 4

Опишем событие щелканья мышкой по паучку. Здесь

может быть два случая, для каждого из которых надо написать процедуру обработки:
Мы попали по паучку (возникает событие ImageX.Click)
Мы не попали по паучку, но тогда мы попали по панели (возникает событие Panel1.Click)

Паука, в которого попали, делаем невидимым и он выходит из игры

1. Процедура Image1.Click (опишем для первого паучка, а для остальных паучков будет то же самое)

Считаем число попыток и число попаданий (в случае попадания число попыток увеличиваем и число попаданий тоже)

Слайд 17

Создаем свою игру ШАГ 4 Опишем событие щелканья мышкой по паучку.

Создаем свою игру

ШАГ 4

Опишем событие щелканья мышкой по паучку. Здесь

может быть два случая, для каждого из которых надо написать процедуру обработки:
Мы попали по паучку (возникает событие ImageX.Click)
Мы не попали по паучку, но тогда мы попали по панели (возникает событие Panel1.Click)

В Memo2 выводим число попыток

1. Процедура Image1.Click (опишем для первого паучка, а для остальных паучков будет то же самое)

Если это последний убитый паук (k=7), то на панели красным крупным шрифтом выводим окончание игры и останавливаем таймеры

Слайд 18

Создаем свою игру ШАГ 4 Опишем событие щелканья мышкой по паучку.

Создаем свою игру

ШАГ 4

Опишем событие щелканья мышкой по паучку. Здесь

может быть два случая, для каждого из которых надо написать процедуру обработки:
Мы попали по паучку (возникает событие ImageX.Click)
Мы не попали по паучку, но тогда мы попали по панели (возникает событие Panel1.Click)

Увеличиваем счетчик попыток

2. Процедура Panel1.Click

Выводим число использованных попыток в Memo2

Слайд 19

Создаем свою игру ШАГ 5 Опишем процедуры тиканья таймеров (OnTimer) Напомню,

Создаем свою игру

ШАГ 5

Опишем процедуры тиканья таймеров (OnTimer)
Напомню, что Timer1

управляет частотой перемещения пауков, а Timer2 – считает время игры (в переменной S и отображает в Memo1)

Timer1

Инициализируем генерацию случайных чисел

Генерируем для каждого паука его положение от левого края и верха поля боя случайным образом
(Здесь необходимо учесть, чтобы в результате random паук не выпрыгивал за поле боя – для этого посмотрите размеры панели в инспекторе объектов и подберите соответствующие random-ы

Слайд 20

Создаем свою игру ШАГ 5 Опишем процедуры тиканья таймеров (OnTimer) Напомню,

Создаем свою игру

ШАГ 5

Опишем процедуры тиканья таймеров (OnTimer)
Напомню, что Timer1

управляет частотой перемещения пауков, а Timer2 – считает время игры (в переменной S и отображает в Memo1)

Timer2

Увеличиваем значение S на 0,1 секунды

Выводим в Memo1 показания переменной s, в результате в Memo1 идет динамический подсчет времени игры с точностью до десятых долей секунды

Слайд 21

Создаем свою игру ШАГ 6 Кнопка ВЫХОД комментариев на требует (

Создаем свою игру

ШАГ 6

Кнопка ВЫХОД комментариев на требует ( метод

Close)

Но вместо обычной командной кнопки с надписью ВЫХОД мы видим в приложении кнопку с пиктограммой
Давайте разберемся, как ее сделать.


Это тоже командная кнопка, но с картинкой ( Bit Button), и находится она на вкладке Дополнительно

Слайд 22

Создаем свою игру Помещаем кнопку на форму и в инспекторе объектов

Создаем свою игру

Помещаем кнопку на форму и в инспекторе объектов

раскрываем свойство кнопки Glyph, дальше – загрузить и находим маленькую картинку (*.bmp) или рисуем сами
Слайд 23

Приложения, содержащие несколько форм ШАГ 7 И последний шаг: сохраняем проект

Приложения, содержащие несколько форм

ШАГ 7

И последний шаг: сохраняем проект и

компилируем его. Сейчас можно и поиграть

Итак, на этом уроке мы создали простую игровую программу (обозначим ее версией 1.0). Вместо паучков мы могли взять, например, уток, зайчиков ... – и тогда у нас получилась бы другая игра (про охотников). Этих уток можно заставить появляться по очереди на 1-2 секунды, чтобы за это время успеть выстрелить, причем для каждой картинки можно использовать свой таймер
Понятно, что здесь огромное поле творчества. Поэтому попробуйте сделать свою версию игры , измените ее функциональность, внесите и реализуйте свои идеи и мысли

Поиграть ->

Слайд 24

На этом уроке мы создали свою игрушку для досуга, используя знания,

На этом уроке мы создали свою игрушку для досуга, используя

знания, полученные на предыдущих уроках

ИТОГИ УРОКА:

ООП на Delphi – 8:
Мы познакомимся с созданием меню программы, статусной панели, а также различными диалогами и сообщениями

НА СЛЕДУЮЩЕМ УРОКЕ: