Создание приложения «Клавиатурный тренажер»
Пока буква падает, пользователь должен успеть нажать ее на клавиатуре. Затем начинает падать новая буква. Так же сам тренажер имеет функцию «Уровня скорости» — это когда после определенного количества правильных нажатий интервал таймера начинает уменьшаться, что заставляет новые буквы падать с ускорением. В связи с бурным развитием e-mail, ICQ, у многих пользователей Интернет возникла потребность… Читать ещё >
Создание приложения «Клавиатурный тренажер» (реферат, курсовая, диплом, контрольная)
Министерство образования и науки Украины Луганский национальный университет имени Тараса Шевченко Ровеньковский факультет Кафедра информационных технологий и систем Курсовой проект на тему: «Создание приложения «Клавиатурный тренажер»
Выполнила:
студентка 3 курса специальности «Информатика»
Дятлюк Лариса Витальевна.
Руководитель:
Логинов Анатолий Владимиравич Ровеньки -2008
Содержание Введение
1. Инструкция пользователя
2. Разработка программы: описание алгоритма решения задачи
3. Описание программы Вывод Литература Приложение А
Введение
В связи с бурным развитием e-mail, ICQ, у многих пользователей Интернет возникла потребность быстро вводить текст с клавиатуры. Это и послужило появлению разнообразных программ-тренажеров, для получения и усовершенствования навыка набора текста.
Клавиатурный тренажер — это эффективная программа для освоения слепой машинописи.
В ходе разработки курсового проекта мной была написана программа клавиатурный тренажер. Эта программа проста в использовании и будет интересна, как для начинающего, так и для опытного пользователя.
Разработанная программа доступна всем и может использоваться на любом предприятии, в том числе и школах.
1. Инструкция пользователя Рис. 1
Чтобы работать с программой необходимо нажать:
· New test — для начала теста;
· Stop — для окончания теста и вывода информации о результате;
· Exit — для выхода из тренажера.
Уровень сложности изменяется автоматически, при правильном нажатии некоторого количества символов.
2. Разработка программы: описание алгоритма решения задачи В форме сверху вниз в случайно выбранной по горизонтали позиции падает случайно выбранная латинская буква. Пока она падает, пользователь должен успеть нажать ее на клавиатуре. Затем начинает падать новая буква. В конце игры пользователю выдается, сколько раз он успел нажать правильную букву.
Описание алгоритма решения задачи procedure TForm1. Button1Click (Sender: TObject); procedure TForm1. Timer1Timer (Sender: TObject); procedure TForm1. FormKeyPress (Sender: TObject; var Key: Char).
3. Описание программы Программа клавиатурный тренажер. В форме, на панели, по таймеру сверху вниз в случайно выбранной по горизонтали позиции падает случайно выбранная маленькая латинская буква. В программе использованы 2 таймера: один — для самого события падающей буквы и второй — для вывода реального времени в строке статуса.
Пока буква падает, пользователь должен успеть нажать ее на клавиатуре. Затем начинает падать новая буква. Так же сам тренажер имеет функцию «Уровня скорости» — это когда после определенного количества правильных нажатий интервал таймера начинает уменьшаться, что заставляет новые буквы падать с ускорением.
В конце игры пользователю выдается, сколько раз он успел нажать правильную букву.
Форма содержит:
1. 2-х Panel
§ Panel1 — для определения границ тренажера
§ Panel2 — для падающих букв
2. 3-х Buttons:
§ New test — для начала теста
§ Stop — для окончания теста и вывода информации о результате
§ Exit — для выхода из тренажера
3. Label — для показа уровня скорости
4. StatusBar — для вывода результатов и реального времени (что бы долго не засиживались)
Выводы В ходе работы были получены следующие результаты:
Рис. 2
Форма выводит на панели статуса некоторую меняющуюся информацию (результаты и реальную дату и время). Несколькими способами используется компонент — Таймер:
С помощью таймера:
· Приводить в движение компоненты
· Изменять скорость движения компонентов
· Выводить реальную дату и время Рекомендуется, каждый день минут по 10−30, а потом достаточно заниматься раза 2−4 в неделю по 5−10 минут.
1. Тейксера С. и Пачеко К. «Delphi 5. Руководство разработчика, том 1. Основные методы и технологии программирования»: Пер. с англ.- М.: «Вильямс». -2001. — 832 с.
2. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.1.7 от 1.12.1999.
3. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.4.6 от 1.4.2001.
4. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.0.8. от 2.5.2000.
5. Horrific aka Фленов М. «Библия для программиста в среде Delphi"// http://www.cydsoft.com/vr-online.
6. Дарахвелидзе П. Г., Марков Е. П.: «Программирование в Delphi 7». — СПб.: «БХВ-Петербург», 2003. —784 с.
7. Архангельский А. Я. Электронный учебник «100 компонентов общего назначения библиотеки Delphi 5». 2002.
8. Тейлор Д., ПенманДж.- «Delphi 3: библиотека программиста». -СПб.: «Питер». -1998г. -568с.
9. Фленов М. «Библия Delphi». -СПб.: «БХВ-Петербург». -2004.-880с.
10. Фленов М. «Программирование в Delphi глазами хакера». — СПб.: «БХВ-Петербург». -2003.-368с.
11. Шкрыль А. «Прикол в Delphi своими руками» //www.vr-online.ru.
12. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.4.3 от 1.1.2001.
13. Елманова Н. Электронный учебник: «Советы пользователям Delphi и C++Builder».
14. Орлик С Электронный учебник: «Секреты Delphi на примерах».
15. Озеров В. Электронный учебник: «Советы по Delphi». Версия 1.3.1 от 1.07.2000.
16. Боровский А. «Программирование в Delphi 2005» «. -СПб.: «БХВ-Петербург». -2005. — 448с.
17. Пражский С. М. «Delphi. Учимся на примерах». — К.:"МК-Пресс". -2005,-216с.
18. Фаронов В. В. «Delphi 6. Учебный курс». -М.:Издатель Молгачёва С. В.,-2001.-672с.
19. Коноплянка Р. «Создание оригинальных компонент в среде Delphi». -К.:НИПФ-«ДиаСофт Лтд.». -1996.-512с.
20. Сухарёв М. В. «Основы Delphi. Профессиональный подход». -СПб.: «Наука и Техника». -2004, — 600с.
21. Ревич Ю. В. «Нестандартные приёмы программирования на Delphi». -СПб.: «БХВ-Петербург». -2005. — 560с.
Приложение А
unit Lab10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls;
type
TForm1 = class (TForm)
Timer1: TTimer;
Button1: TButton;
Panel1: TPanel;
Button2: TButton;
Panel2: TPanel;
Button3: TButton;
StatusBar1: TStatusBar;
Timer2: TTimer;
Label1: TLabel;
Label2: TLabel;
procedure Button2Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure Timer1Timer (Sender: TObject);
procedure FormKeyPress (Sender: TObject; var Key: Char);
procedure Button3Click (Sender: TObject);
procedure Timer2Timer (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
count, uncount, x: integer;
implementation
{$R *.dfm}
procedure TForm1. Button1Click (Sender: TObject);
begin
Form1.Focused;
Panel2.Visible := true;
Panel2.Top := 0;
Randomize;
Panel2.Caption := Chr (Random (26)+97) ;
count := 0;
uncount := 0;
x := 1;
Label1.Caption := 'Level ' + IntToStr (x);
Timer1.Enabled := true;
end;
procedure TForm1. FormKeyPress (Sender: TObject; var Key: Char);
begin
if Panel2. Caption = key then
begin
Inc (count);
StatusBar1.Panels[1]. Text := IntToStr (count);
Panel2.Top := Panel1. Height;
end;
if count = x * 10 then
begin
Inc (x);
Label1.Caption := 'Level ' + IntToStr (x);
if Timer1. Interval <= 250 then Timer1. Interval := Timer1. Interval — 25
else
if Timer1. Interval <= 100 then Timer1. Interval := 100
else
Timer1.Interval := Timer1. Interval — 250;
end;
end;
procedure TForm1. Timer1Timer (Sender: TObject);
begin
Randomize;
if Panel1. Height > Panel2. Top then
Panel2.Top := Panel2. Top + 20
else
begin
Randomize;
Panel2.Caption := Chr (Random (26)+97);
Panel2.Left := Random (Panel1.Width — Panel2. Width);
Panel2.Top := 0;
nc (uncount);
StatusBar1.Panels[3]. Text := IntToStr (uncount)
end;
end;
procedure TForm1. Button3Click (Sender: TObject);
begin
Timer1.Enabled := False;
Panel2.Visible := False;
ShowMessage (IntToStr (count) + ' times correctly!')
end;
procedure TForm1. Timer2Timer (Sender: TObject);
var DateTime: TDateTime;
begin
DateTime := TIME;
StatusBar1.Panels[4]. Text := DateToStr (Date) + ' ' + TimeToStr (DateTime);
end;
procedure TForm1. Button2Click (Sender: TObject);
begin
Form1.Close;
end;
end.