Цикл презентаций «ООП на Delphi» посвящен объектно – ориентированному программированию с использованием одной из самых распространенных систем быстрой разработки приложений – Delphi Используя данный учебный курс, можно самостоятельно овладеть основами объектно – ориентированного программирования на Delphi. Для расширения Ваших знаний к курсу приложен ряд учебных пособий и справочников по Delphi Цикл содержит 13 презентаций: ООП на Delphi – 1: Знакомство с системой программирования Borland Delphi. Объекты (компоненты) и их свойства и методы ООП на Delphi – 2: Первая программа на Delphi, сохранение и компиляция ООП на Delphi – 3: Программное изменение свойств объектов ООП на Delphi – 4: Условия в Delphi. Создание простого теста ООП на Delphi – 5: Элементы ввода и вывода информации. Обработка исключений ООП на Delphi – 6: Заставка программы и элемент таймер ООП на Delphi – 7: Программируем свою игрушку ООП на Delphi – 8: Меню программы, диалоги ООП на Delphi – 9: Создаем свой текстовый редактор ООП на Delphi – 10: Базы данных на Delphi ООП на Delphi – 11: Калькулятор на Delphi. Обработка исключительных ситуаций ООП на Delphi – 12: Создаем тестирующую систему ООП на Delphi – 13: Графика на Delphi Delphi использует язык программирования Объект Паскаль, поэтому лучше сначала изучить обычный Паскаль и поработать в ТурбоПаскале, а затем и переходить к Delphi – перейти будет очень просто, т.к синтаксис языка остается неизменным. Изучение ООП на Delphi желательно проводить в старших профильных классах – количество часов, отводимое на информатику там вполне достаточно для освоения основ ООП на Delphi
Объектно – ориентированное программирование на DELPHI - Краснополянская школа 1 Домнин Константин Михайлович 2006 год
На этом уроке: Мы создадим свою игрушку для досуга, используя знания, полученные на предыдущих уроках DELPHI - 7 Вопросы: Весь этот урок посвящен созданию игры «Раздави пауков»
Объектно – ориентированное программирование на DELPHI - 7 Создание игры «Раздави пауков»
Создаем свою игру Вначале давайте сыграем в эту игру (выберите режим медленно), чтобы иметь представление о том что на этом уроке мы создадим. Играя, обратите внимание на используемые компоненты и функциональность программы Хотя программирование игрушек не входит в наш курс, но это хороший способ попрактиковаться в использовании компонент и построении логики программы Кроме того эта игрушка – хорошее средство приручить мышку к своей руке Сыграть ->
Создаем свою игру ШАГ 1 Как обычно, запускаем Delphi и конструируем форму Положим на форму панель (Panel1) – это будет наше поле боя. Подберем цвет панели Через компонент Image помещаем на панель несколько жучков (8), которые будут прыгать по полю
Создаем свою игру ШАГ 1 Как обычно, запускаем Delphi и конструируем форму Вставляем Group Box, в котором размещаем Label с правилами игры Вставляем Group Box, в котором размещаем 2 Label-a и 2 Memo для вывода результатов: времени, затраченного на игру и числа попыток
Создаем свою игру ШАГ 1 Как обычно, запускаем Delphi и конструируем форму В следующем Group Box-e вставляем Radio Group на три переключателя для выбора режима игры Размещаем кнопки СТАРТ и ВЫХОД
Создаем свою игру ШАГ 1 Как обычно, запускаем Delphi и конструируем форму Поместим на форму два таймера: Первый будет отсчитывать время, которое мы затратили на игру Второй будет заставлять прыгать паучков через определенные промежутки времени
Создаем свою игру ШАГ 2 Сейчас приступим к написанию кода игры и начнем с события создания формы (On Create), возникающего каждый раз самым первым при запуске приложения Давайте сделаем, чтобы при запуске игры панель1 (поле боя) было неактивным, серым и на нем в качестве логотипа в середине один паучок. Время игры идти не должно Красим панель серой краской Делаем ее недоступной Оба таймера делаем СТОП Паучков, которые будут прыгать, делаем невидимыми Паучка – логотип делаем видимым
Создаем свою игру ШАГ 2 Сейчас приступим к написанию кода игры и начнем с события создания формы (On Create), возникающего каждый раз самым первым при запуске приложения В результате при запуске программы мы увидим такую форму Чтобы во время игры нельзя было изменить размеры формы (и поля боя), сделайте свойство формы Border Style равным Tool Window
Создаем свою игру ШАГ 3 Опишем процедуру нажатия на кнопку СТАРТ Здесь мы видим три переменных: k,s,p. Для чего они введены? 1)В переменной k будет храниться количество попаданий по паучкам во время игры 2)В переменной s будет храниться время, затраченное на игру 3)В переменной p будет храниться число попыток раздавить паучков (считая число попаданий и число промахов) При каждом старте эти переменные должны обнуляться
Создаем свою игру ШАГ 3 Опишем процедуру нажатия на кнопку СТАРТ Делаем Panel1 (поле боя) доступной и красим ее белым цветом Все 7 паучков, которые будут прыгать, делаем видимыми Восьмого паучка (логотип) делаем невидимым
Создаем свою игру ШАГ 3 Опишем процедуру нажатия на кнопку СТАРТ Запускаем оба таймера: пошел отсчет времени и паучки запрыгали Очищаем все надписи на панели и в Memo для вывода результата (Эти надписи у нас появятся в конце игры)
Создаем свою игру ШАГ 3 Опишем процедуру нажатия на кнопку СТАРТ А здесь идет проверка условия: Если выбран первый переключатель(с индексом 0), то интервал прыгания паучков устанавливается 0,8 сек – медленно Если второй – 0,5 сек (быстро) Если третий – 0,3 сек (очень быстро) Таким образом каждый может выбрать свой темп игры
Создаем свою игру ШАГ 4 Опишем событие щелканья мышкой по паучку. Здесь может быть два случая, для каждого из которых надо написать процедуру обработки: 1.Мы попали по паучку (возникает событие ImageX.Click) 2.Мы не попали по паучку, но тогда мы попали по панели (возникает событие Panel1.Click) Паука, в которого попали, делаем невидимым и он выходит из игры 1. Процедура Image1.Click (опишем для первого паучка, а для остальных паучков будет то же самое) Считаем число попыток и число попаданий (в случае попадания число попыток увеличиваем и число попаданий тоже)
Создаем свою игру ШАГ 4 Опишем событие щелканья мышкой по паучку. Здесь может быть два случая, для каждого из которых надо написать процедуру обработки: 1.Мы попали по паучку (возникает событие ImageX.Click) 2.Мы не попали по паучку, но тогда мы попали по панели (возникает событие Panel1.Click) В Memo2 выводим число попыток 1. Процедура Image1.Click (опишем для первого паучка, а для остальных паучков будет то же самое) Если это последний убитый паук (k=7), то на панели красным крупным шрифтом выводим окончание игры и останавливаем таймеры
Создаем свою игру ШАГ 4 Опишем событие щелканья мышкой по паучку. Здесь может быть два случая, для каждого из которых надо написать процедуру обработки: 1.Мы попали по паучку (возникает событие ImageX.Click) 2.Мы не попали по паучку, но тогда мы попали по панели (возникает событие Panel1.Click) Увеличиваем счетчик попыток 2. Процедура Panel1.Click Выводим число использованных попыток в Memo2
Создаем свою игру ШАГ 5 Опишем процедуры тиканья таймеров (OnTimer) Напомню, что Timer1 управляет частотой перемещения пауков, а Timer2 – считает время игры (в переменной S и отображает в Memo1) Timer1 Инициализируем генерацию случайных чисел Генерируем для каждого паука его положение от левого края и верха поля боя случайным образом (Здесь необходимо учесть, чтобы в результате random паук не выпрыгивал за поле боя – для этого посмотрите размеры панели в инспекторе объектов и подберите соответствующие random-ы
Создаем свою игру ШАГ 5 Опишем процедуры тиканья таймеров (OnTimer) Напомню, что Timer1 управляет частотой перемещения пауков, а Timer2 – считает время игры (в переменной S и отображает в Memo1) Timer2 Увеличиваем значение S на 0,1 секунды Выводим в Memo1 показания переменной s, в результате в Memo1 идет динамический подсчет времени игры с точностью до десятых долей секунды
Создаем свою игру ШАГ 6 Кнопка ВЫХОД комментариев на требует ( метод Close) Но вместо обычной командной кнопки с надписью ВЫХОД мы видим в приложении кнопку с пиктограммой Давайте разберемся, как ее сделать. Это тоже командная кнопка, но с картинкой ( Bit Button), и находится она на вкладке Дополнительно
Создаем свою игру Помещаем кнопку на форму и в инспекторе объектов раскрываем свойство кнопки Glyph, дальше – загрузить и находим маленькую картинку (*.bmp) или рисуем сами
Приложения, содержащие несколько форм ШАГ 7 И последний шаг: сохраняем проект и компилируем его. Сейчас можно и поиграть Итак, на этом уроке мы создали простую игровую программу (обозначим ее версией 1.0). Вместо паучков мы могли взять, например, уток, зайчиков... – и тогда у нас получилась бы другая игра (про охотников). Этих уток можно заставить появляться по очереди на 1-2 секунды, чтобы за это время успеть выстрелить, причем для каждой картинки можно использовать свой таймер Понятно, что здесь огромное поле творчества. Поэтому попробуйте сделать свою версию игры, измените ее функциональность, внесите и реализуйте свои идеи и мысли Поиграть ->
На этом уроке мы создали свою игрушку для досуга, используя знания, полученные на предыдущих уроках ИТОГИ УРОКА: ООП на Delphi – 8: Мы познакомимся с созданием меню программы, статусной панели, а также различными диалогами и сообщениями НА СЛЕДУЮЩЕМ УРОКЕ:
Домнин Константин Михайлович E – mail: 2006 год.