Создание приложения "Клавиатурный тренажер" (49055)

Посмотреть архив целиком

Министерство образования и науки Украины

Луганский национальный университет имени Тараса Шевченко

Ровеньковский факультет

Кафедра информационных технологий и систем











Курсовой проект

на тему: «Создание приложения «Клавиатурный тренажер»




Выполнила:

студентка 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.


16








Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.