Постановка задачи, цель и назначение разрабатываемого приложения
Условие задачи:
Игра «Построй предложение». Цель – собрать слова в предложение (например, на иностранном языке). Количество собираемых предложений – 2-3. Аналог игры «Простой порядок» LearningApps.
Проектирование интерфейса приложения
На рисунке 1 показан интерфейс разрабатываемого приложения – вид основной рабочей формы на этапе проектирования.
Инструкция по использованию приложения
Приложение создано в среде разработки Lazarus. Основные компоненты, использованные при проектировании приложения: Label, Edit, Button.
При запуске приложения на экране появится основная форма (рисунок 2).
В данном приложение представлена игра «Построй предложение». Нужно из данных слов составить логичное предложение. Правильный порядок единственен, но можно его можно записать: строчными буквами, прописными буквами или как в предложении. И при разном написании счетчик все равно считает ответ правильным, если порядок соблюден. Слова вводятся по одному в «окошко» в нужном порядке.
Снизу есть счетчик, который подсчитывает количество правильных ответов. Если нарушен порядок слов в предложение, то это считается как ошибка.
Чтобы узнать количество правильных ответов, нужно нажать на кнопку «Проверить». При нажатии на кнопку в «Edit» выводится количество правильных ответов, от нуля до 3. Если правильных ответов будет меньше 3, то можно прям тут изменить свой ответ и снова нажать на кнопку, и количество посчитается с учетом новых данных.
Листинг
Листинг приложения
(шрифт Courier New, кегль – 10, междустрочный интервал - одинарный)
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var k,x,y,i:integer;
begin
k:=0;
x:=0;
y:=0;
if ((Edit2.Text='Кролик') and (Edit3.Text='убегает') and (Edit4.Text='от') and (Edit5.Text='леопарда')) or
((Edit2.Text='кролик') and (Edit3.Text='убегает') and (Edit4.Text='от') and (Edit5.Text='леопарда')) or
((Edit2.Text='КРОЛИК') and (Edit3.Text='УБЕГАЕТ') and (Edit4.Text='ОТ') and (Edit5.Text='ЛЕОПАРДА'))
then
k:=1 else k:=0;
if ((Edit6.Text='На') and (Edit7.Text='столе') and (Edit8.Text='лежит') and (Edit9.Text='ароматный') and (Edit10.Text='рулет')) or
((Edit6.Text='на') and (Edit7.Text='столе') and (Edit8.Text='лежит') and (Edit9.Text='ароматный') and (Edit10.Text='рулет')) or
((Edit6.Text='НА') and (Edit7.Text='СТОЛЕ') and (Edit8.Text='ЛЕЖИТ') and (Edit9.Text='АРОМАТНЫЙ')and (Edit10.Text='РУЛЕТ'))
then
x:=1 else x:=0;
if ((Edit11.Text='Девочка') and (Edit12.Text='разглядывает') and (Edit13.Text='свое') and (Edit14.Text='отражение') and (Edit15.Text='в') and (Edit16.Text='зеркале')) or
((Edit11.Text='девочка') and (Edit12.Text='разглядывает') and (Edit13.Text='свое') and (Edit14.Text='отражение') and (Edit15.Text='в') and (Edit16.Text='зеркале')) or
((Edit11.Text='ДЕВОЧКА') and (Edit12.Text='РАЗГЛЯДЫВАЕТ') and (Edit13.Text='СВОЕ') and (Edit14.Text='ОТРАЖЕНИЕ') and (Edit15.Text='В') and (Edit16.Text='ЗЕРКАЛЕ'))
then
y:=1 else y:=0;
Edit1.Text:=IntToStr(k+x+y) ;
end;
end.