"Эверест" - Центр Практической
Информатики представляет вводный курс "Delphi для чайников"
Урок 17. "Морской бой ". В этот раз мы создадим игрушку "Морской бой". Мы будем стрелять в корабль, который заставим двигаться. Создание двигающегося объекта.
2. С палитры System возьмите
компонент Timer и поместите
его куда угодно на форму. В результате,. Ваша форма должна напоминать
мою:
Как создать движение? Нужно изменять координаты нахождения
объекта. Так как корабль врага будет двигаться только по горизонтали,
то будем изменять только свойство bitbtn2.left..
Чтобы заставить корабль двигаться, нужно через определенные промежутки времени изменять это свойство. Сделать это можно с помощью таймера. 3. Сделайте двойной щелчок по значку таймера. Откроется окно: procedure TForm1.Timer1Timer(Sender: TObject); 4. Пусть вражеский корабль движется слева направо. Тогда в обработчик
Таймера между begin и end необходимо написать строку: bitbtn2.Left
:= bitbtn2.Left-1; 5. Запустите программу. Посмотрите, как она работает. Вы увидите явный недостаток: при достижении кнопкой края формы она исчезает. И все…
Делаем торпеду.
8. Добавим на форму компонент Image
(Он будет снарядом). Поместите в Image какой-нибудь рисунок, можно фоновый
(Свойство Picture). Разместите
Image возле как у меня: (рис)
При выстреле торпеда должна тоже двигаться (как и вражеский корабль). Поэтому здесь мы поступим также, как и с Bitbtn2.
10. Дважды щелкните по таймеру2, и введите следующий код: procedure TForm1.Timer2Timer(Sender: TObject);
12. Чтобы включить Таймер2, а значит, запустить торпеду, в обработчик кнопки Bitbtn1 поставьте следующий оператор:
13. Запустите программу, проверьте. Что Вам не нравиться? Лично мне не нравятся 2 вещи: то, что можно запустить только одну торпеду и то, что при встрече с кораблем не происходит никакого эффекта. Будем это исправлять. 14. В обработчик события Таймера2 добавьте следующие строки:
Далее необходимо дать понять программе, при каком условии торпеда попадет в корабль. А это произойдет тогда, когда координаты торпеды будут равны координатам цели. Т.е. условие нужно должно быть следующее:
15. Добавьте в объект Image
рисунок torpeda.jpg (свойство
Picture в Object Inspector). Вы получите торпеду в полной красе. После вставки соответствующих рисунков у меня получилась такая форма:
Самостоятельно: 2. Добавьте еще пару кораблей, сделайте специально их разного размера, например, больше и меньше исходного и добейтесь, чтобы они работали. 3. Добавьте статистику: сколько выстрелов сделала подлодка, сколько попаданий. 4. Для курсантов платного курса: добавьте меню. В нем сделайте следующие пункты: Новая игра, Выход, Статистика, Об авторе…. Все рисунки к этой игре Вы можете взять с нашего сайта: http://umnik.rikt.ru/everest/distant/delphi.htm Скачать игру можно с нашего сайта.. http://umnik.rikt.ru/projectgame/learn.html Автор рассылки: Ишмуратов Р.К, e-mail: rk@rikt.ru Примечание : Обращаю ваше внимание на то, что данный курс ознакомительный. Если Вы желаете действительно научиться программированию и получить в руки мощный инструмент для профессиональной работы, то приглашаем Вас на наш основной курс по Delphi. Вся информация находится по адресу: http://umnik.rikt.ru/everest/distant/delphi_os.htm Учиться у нас выгодно. Не верите? Посмотреть архив данной рассылки Вы сможете на нашем сайте по адресу: http://umnik.rikt.ru/projectgame/learn.html
|