18:label1.Caption:= oo;
19:label1.Caption:=pp;
20:label1.Caption:=aa;
21:label1.Caption:=ss;
22:label1.Caption:=dd;
23:label1.Caption:=ff;
24:label1.Caption:=gg;
25:label1.Caption:=hh;
26:label1.Caption:=jj;
27:label1.Caption:=kk;
28:label1.Caption:=ll;
29:label1.Caption:=zz;
30:label1.Caption:=xx;
end;
if k=30 then //если сумма счетчика случайных слов достигла 30
begin
timer1.enabled :=false; // останавливаем таймер
edit1.Visible:=false; // скрываем текстовое окно
// выводим сообщение пользователю
label2.Caption:=' количество набранных слов = '+ inttostr (t);
end;
begin
// если счетчик правильных слов превысил 20 выводим сообщение пользователю
if t>20 then label2.Caption:='блестяще количество набранных слов = '+ inttostr (t)+' переходите';
end;
end;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
image1.Picture.LoadFromFile('budilnik.wmf');
timer1.Interval:=80000 ;// задаем интервал
edit1.Visible:=true; // показать текстовое окно
timer1.enabled :=true; // включаем таймер
edit1.SetFocus; // сделать активным текстовое окно
label2.Caption:=''; // очистить
t:=0; // обнуляем счетчик правильных слов
vremi:=80 ; // обратный отсчет
timer2.enabled :=true; // включаем таймер
end;
procedure TForm1.N3Click(Sender: TObject);
begin
image1.Picture.LoadFromFile('budilnik.wmf');
timer1.enabled :=true; // включаем таймер
timer1.Interval:=50000 ; // задаем интервал
edit1.Visible:=true; // показать текстовое окно
edit1.SetFocus; // сделать активным текстовое окно
label2.Caption:=''; // очистить
t:=0; // обнуляем счетчик правильных слов
vremi:=50 ; // обратный отсчет
timer2.enabled :=true; // включаем таймер
end;
procedure TForm1.N4Click(Sender: TObject);
begin
image1.Picture.LoadFromFile('budilnik.wmf');
timer1.enabled :=true; // включаем таймер
timer1.Interval:=30000 ; // задаем интервал
edit1.Visible:=true; // показать текстовое окно
edit1.SetFocus; // сделать активным текстовое окно
label2.Caption:=''; //очистить
t:=0; // обнуляем счетчик правильных слов
vremi:=30 ; // обратный отсчет
timer2.enabled :=true; // включаем таймер
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
image1.Picture.LoadFromFile ('fonovi.wmf') ;
timer1.enabled:=false; // останавливаем таймер
timer2.enabled:=false; // останавливаем таймер
edit1.Visible:=true; // показать текстовое окно
edit1.SetFocus; // сделать активным текстовое окно
label2.Caption:=''; // очистить
edit1.Text:='' ; // очистить
t:=0; // обнуляем счетчик правильных слов
k:=1; // счетчику случ. слов присвоили 1
label4.Caption:=''; // очистить
end;
procedure TForm1.Timer2Timer(Sender: TObject); // таймер отсчета обратного
// времени
begin
vremi:=vremi-1; // каждую секунду отнимаем от заданного времени 1
if vremi=0 then //если время закончилось
begin
timer2.Enabled:=false; // выключаем таймер
label4.Caption:='off'; // выводим окно
end
else
label4.Caption:=inttostr(vremi); // обратный отсчет
end;
end.
Для тестирования программы были пройдены все временные этапы .
Таблица 3
Тест на время | Количество правильно набранных слов |
новичек | 20 |
опытный | 15 |
Высший класс | 8 |
Вид приложения в случайный момент работы приведен на рисунке 5
Рис. 5 Окно приложения в случайный момент игры
Данное приложение, разработанное в Delphi, способно работать на персональных компьютерах с минимальными требованиями Pentium 100, оперативной памятью 32 Мб, операционной средой Windows.
Запустить приложение можно также как и любое другое. Окно приложения загрузится и появится в центре экрана. Для работы с программой «Научись печатать» необходимо ввести в текстовое окно, предложенное слово и нажать на клавишу «enter», или если вы хорошо печатаете выбрать из выпадающего меню «на время» в левом верхнем углу экрана один из трех предложенных вариантов подходящий вашему уровню скорости набора текста. Для выхода из программы необходимо нажать кнопку «завершить» или щелкнуть левой кнопкой мыши по крестику в правом верхнем углу экрана. Для обнуления результатов нажмите клавишу «сброс».
Приложение представляет собой очень простой вариант программы, обучающей работе с клавиатурой.
Чтобы слова, выводимые на форму, каждый раз менялись, используется процедура генерации случайных чисел и с помощью оператора выбора по числу выбирается слово, но случайный выбор может повторяться, тогда на экране подряд идут два одинаковых слова. В программе используется довольно простая проверка текста введенного пользователем в текстовое окно, никакой фильтрации вводимых символов нет, текст сверяется со словами, заложенными в программе, если такое слово есть, то оно засчитывается как правильное. Проверка пользователя на скорость печати реализовано в приложении с помощью таймера. При выборе одной из клавиш из выпадающего списка «на время», таймер задает промежуток времени, за который пользователь должен набрать как можно больше слов.
Для того чтобы пользователь знал, сколько времени у него осталось, на форму выведен обратный отсчет времени таймера. Чтобы с программой было интереснее работать, в форму загружаются две картинки, одна при создании формы другая при выборе выпадающего меню «на время».
Для уменьшения размера исполняемого файла картинки игры загружаются при запуске игры, но из-за этого увеличивается количество файлов необходимых для функциональности приложения.
Можно усложнить программу, реализовав фильтрацию вводимых символов, усложнить систему оценок за скорость работы с клавиатурой. Создать редактор, который подсказывал, в каких словах пользователь сделал ошибки. Если разрабатывать программу для детей, то можно сделать более красочный интерфейс, сопровождающую музыку, звуки нажатия клавиш, при прохождении очередного тестирования призовую анимацию.
Все эти модификации вызвали бы больший интерес к игре.
1. Емелина Е.И. Основы программирования на языке Паскаль. М., 1997.
2. Мануйлов В. Г. Разработка программного обеспечения на Паскале. М., 1998г.
3. Фаронов В.В.Турбо Паскаль 7.0. М., 1998
4. Культин Н. Програмирование на Object Pascal. Киев, 1998.
5. Федоров А. Г. Delphi 3.0 для всех. М., 1998.
6. Дарахвелидзе П., Марков Е. Программирование в Delphi 4.СПб.: БХВ. СПб., 1999
7. Роб Баас, Майк Фервай, Хайдемария Гюнтер. Delphi 4. Полное руководство. - К.: Издательская группа BHV, 1999
8. Изучаем Delphi. – СПб.: Питер, 2000. – 352 с.: ил.
9. Александровский А. Д. Delphi 5.0. Разработка корпоративных приложений. – М.: ДМК, 2000. – 512 с.: ил. (Серия «Для программистов»).
10. Delphi: быстрый старт. – СПб.: БХВ – Петербург, 2002. – 288 с.: ил.
11. Turbo Pascal / С.А. Немнюгин. – СПб: Издательство «Питер», 2000. – 496 с.: ил.
12. Виктор Пестриков Артур Маслобоев DELPHI на примерах Санкт-Петербург 2005г.
13. Turbo Pascal в задачах и программах. – СПб.: БХВ – Петербург,, 2002. – 560 с.: ил.
14. Никита Культин Основы программирования на DELPHI 7.
[1] Для программирования приложения «научись печатать» использовалась среда Delphi 7.
[2] Для соблюдения вида текста программы с правильными отступами как это принято на языке Pascal используются нестандартные форматирование и размеры шрифта.