-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUnit23.pas
156 lines (135 loc) · 5.19 KB
/
Unit23.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
unit Unit23;
interface
uses
System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls,
Vcl.Imaging.jpeg, Vcl.Imaging.pngimage, Vcl.Controls;
type
TForm23 = class(TForm)
rg2: TRadioGroup;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Shape1: TShape;
Label3: TLabel;
lbl1: TLabel;
Shape2: TShape;
Label4: TLabel;
Image2: TImage;
procedure Label3Click(Sender: TObject);
procedure Label3MouseEnter(Sender: TObject);
procedure Label3MouseLeave(Sender: TObject);
procedure Shape1MouseEnter(Sender: TObject);
procedure Shape1MouseLeave(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Label4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form23: TForm23;
f:Text;
s:UTF8String;
Nvern,ball:integer;
implementation
uses unit8;
{$R *.dfm}
procedure TForm23.FormActivate(Sender: TObject);
begin
form23.cursor:=1;
rg2.Enabled:=true;
label3.Enabled:=true;
if unit8.m=1 then begin
assignfile(f,'test/variant1.txt'); image2.Picture.LoadFromFile('ôîòîêàðòî÷êè/2333.png'); image2.Visible:=true; label2.Caption:='Êàê õîðîøî òû çíàåøü ïëàíåòû çåìíîé ãðóïïû?'; end;
if unit8.m=2 then begin image2.Picture.LoadFromFile('ôîòîêàðòî÷êè/23.png'); image2.Visible:=true;
assignfile(f,'test/variant2.txt'); label2.Caption:='Êàêîé òâîé êîñìè÷åñêèé IQ?'; end;
if unit8.m=6 then begin
assignfile(f,'test/variant6.txt'); label2.Caption:='Ñ íàøåé ëè òû ïëàíåòû?'; image2.Picture.LoadFromFile('ôîòîêàðòî÷êè/233.png'); image2.Visible:=true; end;
if unit8.m=3 then begin assignfile(f,'test/variant3.txt'); image2.Visible:=false; label2.Caption:='À ÍÅ ÐÅÏÒÈËÎÈÄ ËÈ ÒÛ?'; end;
reset(f);
readln(f,s);
ball:=0;
repeat
if (s[1]='-') then begin
delete(s,1,1);
rg2.Caption:=Utf8ToAnsi(s);
end
else if s[1]='*' then begin
delete(s,1,1);
Nvern:=StrToInt(s);
lbl1.Visible:=false;
end
else rg2.Items.Add(Utf8ToAnsi(s));
readln(f,s);
until (s[1]='-') or (Eof(f));
end;
procedure TForm23.Label3Click(Sender: TObject);
begin
if (rg2.ItemIndex>-1) and (not Eof(f)) then begin
if rg2.ItemIndex = Nvern-1 then ball:=ball+1; //Åñëè âûáðàííûé âàðèàíò ñîîòâåòñòâóåò
rg2.Items.Clear; //íîìåðó âåðíîãî îòâåòà òî áàëë ïðèáàâëÿåòñÿ
Repeat //è î÷èùàåòñÿ ïîëå äëÿ ñëåäóþùåãî âîïðîñà
if (s[1]='-') then begin
delete(s,1,1);
rg2.Caption:=Utf8ToAnsi(s);
end
else if s[1]='*' then begin
delete(s,1,1);
Nvern:=StrToInt(s);
end
else rg2.Items.Add(Utf8ToAnsi(s));
readln(f,s);
until (s[1]='-') or (Eof(f));
end
//Åñëè êîíåö ôàéëà äîñòèãíóò, çíà÷èò âîïðîñû çàêîí÷èëèñü
Else if Eof(f) then begin
delete(s,1,1);
Nvern:=StrToInt(s);
if ((unit8.m=1) or (unit8.m=2)) then begin
if rg2.ItemIndex = Nvern-1 then ball:=ball+1;
if ball>=18 then lbl1.Caption:='Ðåçóëüòàò: '+IntToStr(ball)+'/18. Äà òû íàñòîÿùèé çíàòîê!'
else if ball>=12 then lbl1.Caption:='Ðåçóëüòàò: '+IntToStr(ball)+'/18. Íåïëîõî, íî ìîæíî ëó÷øå!'
else if ball>=9 then lbl1.Caption:='Ðåçóëüòàò: '+IntToStr(ball)+'/18. Åù¸ íåìíîãî ïî÷èòàòü òåîðèþ, è áóäåò ñóïåð.'
else if ball>=5 then lbl1.Caption:='Ðåçóëüòàò: '+IntToStr(ball)+'/18. Âèäèìî, êòî-òî íå ÷èòàë òåîðèþ...'
else if ball>=0 then lbl1.Caption:='Ðåçóëüòàò: '+IntToStr(ball)+'/18. Òû ÷òî òóò çàáûë âîîáùå?'; end
else if (unit8.m=3) then begin
if rg2.ItemIndex = Nvern-1 then ball:=ball+1;
if ball>=18 then lbl1.Caption:=IntToStr(ball)+' èç 18. ß âûçûâàþ ÐÅÍ ÒÂ, òâîè äàííûå óæå ó ìåíÿ. Òû ñòî ïðîöåíòíûé ðåïòèëîèä'
else if ball>=12 then lbl1.Caption:=IntToStr(ball)+' èç 18. Âåðîÿòíåå âñåãî òû ðåïòèëîèä. Îäíàêî ìîæåøü îêàçàòüñÿ ïðîñòî ÷óäàêîì'
else if ball>=9 then lbl1.Caption:=IntToStr(ball)+' èç 18. Òû ïîääåëüíûé ðåïòèëîèä: ëèáî ïðèòâîðÿåøüñÿ, ëèáî íåäîäåëàííûé'
else if ball>=5 then lbl1.Caption:=IntToStr(ball)+' èç 18. Íå äóìàþ, ÷òî òû ñâÿçàí ñ ðåïòèëîèäàìè, ðàçâå ÷òî ñ æèäîìàññîíàìè...'
else if ball>=0 then lbl1.Caption:=IntToStr(ball)+' èç 18. Òû íå ðåïòèëîèä. Íó è ñëàâà Áîãó'; end
else if (unit8.m=6) then begin
if rg2.ItemIndex = Nvern-1 then ball:=ball+1;
if ball>=18 then lbl1.Caption:=IntToStr(ball)+' èç 18. Òû îïðåäåëåííî íå ñ íàøåé ïëàíåòû, ÿ áû äàæå ñêàçàëà, íå èç íàøåé Âñåëåííîé'
else if ball>=12 then lbl1.Caption:=IntToStr(ball)+' èç 18. Òû ñ êàêîãî-íèáóäü Ìàðñà èëè Âåíåðû. Çàåõàë ïîãîñòèòü'
else if ball>=9 then lbl1.Caption:=IntToStr(ball)+' èç 18. À âîò íå çíàþ. Íî ñòàâëþ ñòî ñåðåáðÿííèêîâ íà òî, ÷òî òû èíîïëàíåòÿøêà'
else if ball>=5 then lbl1.Caption:=IntToStr(ball)+' èç 18. Òåáÿ â ðîääîìå ïðîñòî óðîíèëè, à òàê òû ñ Çåìëè'
else if ball>=0 then lbl1.Caption:=IntToStr(ball)+' èç 18. Òû ïðèíàäëåæèøü ê ÷åëîâå÷åñêîìó ðîäó'; end;
lbl1.visible:=true;//Âûâîä êîëè÷åñòâà áàëëîâ
CloseFile(f);
label3.Enabled:=False; //êíîïêà ñòàíîâèòñÿ íåäîñòóïíîé â çàâåðøåíèè ïðîåêòà
end;
end;
procedure TForm23.Label3MouseEnter(Sender: TObject);
begin
form23.Cursor:=2;
end;
procedure TForm23.Label3MouseLeave(Sender: TObject);
begin
form23.Cursor:=1;
end;
procedure TForm23.Label4Click(Sender: TObject);
begin
form23.Close;
end;
procedure TForm23.Shape1MouseEnter(Sender: TObject);
begin
form23.Cursor:=2;
end;
procedure TForm23.Shape1MouseLeave(Sender: TObject);
begin
form23.Cursor:=1;
end;
end.