Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Delphi для чайников, или как научиться программировать


Информационный Канал Subscribe.Ru

"Эверест" - Центр Практической Информатики

представляет вводный курс

"Delphi для чайников"

Урок 15. Игра "Поймай кнопку".

 

Знакомство с компонентом Таймер.


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

Однако, есть еще и компоненты, которые выполняют свою работу не будучи видными для постороннего глаза. Одним из таких компонентов является Таймер. В его задачу входит обрабатывать какое-либо сообщение через определенные интервалы времени.

Хотя этот компонент и невидим в процессе работы программы, у него тоже есть свои события и свойства. Вернее, событие одно- OnTimer, которое определяет, что должна делать программа, когда истечет заданный интервал.

Самое важное свойство таймера - Interval (Интервал). Оно указывает, когда (через сколько времени) в следующий раз таймер должен сработать. Промежуток времени задается в тысячных долях секунды - миллисекундах. По умолчанию, свойство Interval содержит число 1000, следовательно, таймер будет срабатывать каждую секунду.

Ну, довольно теории. Перейдем к практике.


1. Откройте Delphi или создайте новый проект.


2. Поместите на форму компонент Таймер. Он находится на панели компонентов System (Системные) и имеет вид:

Таймер можно расположить где угодно на форме. Этот объект отображается на форме в виде значка фиксированного размера. В окне работающей программы его не видно.

3. На форму поместите кнопку - компонент Button.

4. Давайте сделаем так, чтобы через каждые пол-секунды кнопка прыгала куда-нибудь. А задача пользователя- ее поймать. Свойство Interval сделайте равным 500.

5. Дважды щелкните по значку Timer, чтобы открыть обработчик события. Начинаем писать код:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
randomize; // включаем генератор случайных чисел
button1.Left:= random (Form1.Width- 100); // кнопка может прыгать по всей длине формы
button1.Top:= random (Form1.Height-60); // кнопка может прыгать по всей ширине формы
end;


Когда нужно закончить игру? Когда пользователь щелкнет по кнопке. То есть для кнопки произойдет событие OnClick. Его и будем программировать.

6. Щелкните 2 раза по кнопке Button1, чтобы создать процедуру обработки щелчка.
7. Введите следующий код:

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:= false; // Останавливаем таймер
Form1.Caption:='Победа!';
Button1.Caption:='Ура!';

end;

Вы не поверите, но скелет программы готов. Осталось выполнить мелкие доработки. Например, добавить кнопку Выход, сделать кнопку Медленнее и кнопку Быстрее, при нажатии на которую увеличивается или уменьшается интервал таймера.

Вот данная программа в процессе игры. Эту игру создал один из наших курсантов - ученик 8-го класса.

Скачайте ее с нашего сайта...и ...

Самостоятельно сделайте подобную игру. Всей информацией для этого Вы обладаете.

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

Вот один из клонов данной игры: Спасите утопающего:

 

Внимание : В связи с тем, что банки прекратили свою работу за несколько дней до Нового года, некоторые желающие не смогли перевести деньги до конца декабря, поэтому Центр практической информатики "Эверест" объявляет отсрочку повышения цен на 2 недели (до старого Нового года)

Для тех, кто уже проходит обучение, либо оплатит обучение до 14.01.04. цена менятся не будет.

Старые цены действуют до Старого Нового года...

У Вас есть шанс учиться в 2004 году по ценам 2003 года. Не упускайте Ваш шанс....

Скачать этот урок в формате Word и посмотреть архив данной рассылки, Вы сможете на нашем сайте по адресу: http://umnik.rikt.ru/everest/distant/delphi.htm




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное