PROGRAM Tetris;
USES
crt,dos,graph;
TYPE
Dane_kogos=RECORD
Imie:STRING[20];
Wynik:LONGINT
END;
f_plik=FILE OF Dane_kogos;
VAR
Lista,Lista2:F_PLIK;
Dane:DANE_KOGOS;
czywpis,Licznik,wpis,wpis0:BYTE;
rekord,rekord3,najwynik:LONGINT;
rekord2,rekord4,snajwynik,spredkoscp,spredkosc,spunkty:STRING[20];
poczatek2,kolor2,zapczas,poczatek,tlo,kolor,stob,figura,z,obrot:BYTE;
przyo,rczasu,a,b,b1:SHORTINT;
next,obrota,xykolor,xykolor2,xykolor3,xykolor4,predkoscp,predkosc,v1,v,zmiana:BYTE;
koniec,l2,mlkolor,linia,linia2,linia3,linia4,kkolor,kkolor2,kkolor3,kkolor4,k,l,m,huj:BYTE;
xp2,yp2,code,x,y,x2,y2,x3,y3,x4,y4,xa,ya,x2a,y2a,x3a,y3a,x4a,y4a,xb,yb,x2b,y2b,x3b,y3b,x4b,y4b,xk,yk,xp,yp,cos,cus:INTEGER;
punkty,iloscl,czas,czas2:LONGINT;
klawisz,czash,czasmin,czassec,czasms:WORD;
przycisk,przycisk2,przycisk3,przycisk4:CHAR;
(********************************************************************)
PROCEDURE figurat;
BEGIN
CASE obrot OF
0:BEGIN
x2:=x-z;
y2:=y;
x3:=x+z;
y3:=y;
x4:=x;
y4:=y-z;
END;
1:BEGIN
x2:=x;
y2:=y+z;
x3:=x+z;
y3:=y;
x4:=x;
y4:=y-z;
END;
2:BEGIN
x2:=x;
y2:=y+z;
x3:=x+z;
y3:=y;
x4:=x-z;
y4:=y;
END;
3:BEGIN
x2:=x;
y2:=y+z;
x3:=x;
y3:=y-z;
x4:=x-z;
y4:=y;
END;
END;
END;
(********************************************************************)
PROCEDURE nogap;
BEGIN
CASE obrot OF
0:BEGIN
x2:=x-z;
y2:=y+z;
x3:=x;
y3:=y+z;
x4:=x;
y4:=y-z;
END;
1:BEGIN
x2:=x-z;
y2:=y;
x3:=x+z;
y3:=y;
x4:=x-z;
y4:=y-z;
END;
2:BEGIN
x2:=x;
y2:=y+z;
x3:=x+z;
y3:=y-z;
x4:=x;
y4:=y-z;
END;
3:BEGIN
x2:=x+z;
y2:=y+z;
x3:=x+z;
y3:=y;
x4:=x-z;
y4:=y;
END;
END;
END;
(********************************************************************)
PROCEDURE nogal;
BEGIN
CASE obrot OF
0:BEGIN
x2:=x;
y2:=y+z;
x3:=x+z;
y3:=y+z;
x4:=x;
y4:=y-z;
END;
1:BEGIN
x2:=x-z;
y2:=y+z;
x3:=x+z;
y3:=y;
x4:=x-z;
y4:=y;
END;
2:BEGIN
x2:=x;
y2:=y+z;
x3:=x;
y3:=y-z;
x4:=x-z;
y4:=y-z;
END;
3:BEGIN
x2:=x-z;
y2:=y;
x3:=x+z;
y3:=y;
x4:=x+z;
y4:=y-z;
END;
END;
END;
(********************************************************************)
PROCEDURE kwadrat;
BEGIN
x2:=x;
y2:=y+z;
x3:=x+z;
y3:=y+z;
x4:=x+z;
y4:=y;
END;
(********************************************************************)
PROCEDURE dlugi;
BEGIN
CASE obrot OF
0:BEGIN
x2:=x;
y2:=y+z;
x3:=x;
y3:=y-z;
x4:=x;
y4:=y-(2*z);
END;
1:BEGIN
x2:=x-z;
y2:=y;
x3:=x+z;
y3:=y;
x4:=x+(2*z);
y4:=y;
END;
END;
END;
(********************************************************************)
PROCEDURE figuraz;
BEGIN
CASE obrot OF
0:BEGIN
x2:=x;
y2:=y+z;
x3:=x+z;
y3:=y+z;
x4:=x-z;
y4:=y;
END;
1:BEGIN
x2:=x-z;
y2:=y+z;
x3:=x-z;
y3:=y;
x4:=x;
y4:=y-z;
END;
END;
END;
(********************************************************************)
PROCEDURE figuras;
BEGIN
CASE obrot OF
0:BEGIN
x2:=x-z;
y2:=y;
x3:=x+z;
y3:=y-z;
x4:=x;
y4:=y-z;
END;
1:BEGIN
x2:=x+z;
y2:=y+z;
x3:=x+z;
y3:=y;
x4:=x;
y4:=y-z;
END;
END;
END;
(********************************************************************)
FUNCTION WyborFigury(s:INTEGER):STRING;
BEGIN
CASE s OF
1:BEGIN
figurat;
END;
2:BEGIN
nogap;
END;
3:BEGIN
nogal;
END;
4:BEGIN
kwadrat;
END;
5:BEGIN
dlugi;
END;
6:BEGIN
figuraz;
END;
7:BEGIN
figuras;
END;
END;
END;
(********************************************************************)
PROCEDURE CzyNieObok;
BEGIN
xykolor:=tlo;
xykolor2:=tlo;
xykolor3:=tlo;
xykolor4:=tlo;
IF NOT (((xb=xa) AND (yb=ya)) OR ((xb=x2a) AND (yb=y2a)) OR ((xb=x3a) AND (yb=y3a)) OR ((xb=x4a) AND (yb=y4a))) THEN
BEGIN
xykolor:=getpixel(xb,yb);
END;
IF NOT (((x2b=xa) AND (y2b=ya)) OR ((x2b=x2a) AND (y2b=y2a)) OR ((x2b=x3a) AND (y2b=y3a)) OR ((x2b=x4a) AND (y2b=y4a))) THEN
BEGIN
xykolor2:=getpixel(x2b,y2b);
END;
IF NOT (((x3b=xa) AND (y3b=ya)) OR ((x3b=x2a) AND (y3b=y2a)) OR ((x3b=x3a) AND (y3b=y3a)) OR ((x3b=x4a) AND (y3b=y4a))) THEN
BEGIN
xykolor3:=getpixel(x3b,y3b);
END;
IF NOT (((x4b=xa) AND (y4b=ya)) OR ((x4b=x2a) AND (y4b=y2a)) OR ((x4b=x3a) AND (y4b=y3a)) OR ((x4b=x4a) AND (y4b=y4a))) THEN
BEGIN
xykolor4:=getpixel(x4b,y4b);
END;
END;
(********************************************************************)
PROCEDURE NieMaObrotu;
BEGIN
obrot:=obrota;
WyborFigury(figura);
END;
(********************************************************************)
PROCEDURE PokazPunkty;
BEGIN
{IF najwynik<punkty THEN najwynik:=punkty;}
str(najwynik,snajwynik);
str(punkty,spunkty);
str(predkosc,spredkosc);
setfillstyle(1,tlo);
bar(xp2,yp2,xp2+123,yp2+78);
outtextxy(xp2,yp2,'Najlepszy wynik:');
outtextxy(xp2,yp2+10,snajwynik);
outtextxy(xp2,yp2+23,'Punkty:');
outtextxy(xp2,yp2+33,spunkty);
outtextxy(xp2,yp2+46,'Predkosc:');
outtextxy(xp2,yp2+56,spredkosc);
outtextxy(xp2,yp2+69,'Nastepny:');
END;
(********************************************************************)
PROCEDURE RysujNext;
BEGIN
x:=xp2+z;
y:=yp2+82+2*z;
obrot:=0;
WyborFigury(next);
setfillstyle(1,tlo);
bar(x-z,y-2*z,x+2*z-1,y+2*z-1);
CASE next OF
1:kolor2:=14;
2:kolor2:=10;
3:kolor2:=2;
4:kolor2:=4;
5:kolor2:=11;
6:kolor2:=9;
7:kolor2:=1;
END;
setfillstyle(1,kolor2);
bar(x,y,x+z-1,y+z-1);
bar(x2,y2,x2+z-1,y2+z-1);
bar(x3,y3,x3+z-1,y3+z-1);
bar(x4,y4,x4+z-1,y4+z-1);
END;
(********************************************************************)
PROCEDURE ToPrzesun2;
BEGIN
setfillstyle(1,tlo);
bar(xp+1,yp+1+(l*z),xk-1,yp+1+(l*z)+z-1);
FOR l:=l2-1 DOWNTO 0 DO
BEGIN
FOR m:=0 TO 9 DO
BEGIN
mlkolor:=getpixel(xp+1+(m*z),yp+1+(l*z));
setfillstyle(1,mlkolor);
bar(xp+1+(m*z),yp+1+((l+1)*z),xp+1+(m*z)+z-1,yp+1+((l+1)*z)+z-1);
END;
setfillstyle(1,tlo);
bar(xp+1,yp+1+(l*z),xk-1,yp+1+(l*z)+z-1);
END;
iloscl:=iloscl+1;
punkty:=punkty+(20*predkosc);
END;
(********************************************************************)
PROCEDURE ToPrzesun;
BEGIN
IF linia=10 THEN
BEGIN
l2:=round((y-1-yp)/z);
ToPrzesun2;
END;
IF linia2=10 THEN
BEGIN
l2:=round((y2-1-yp)/z);
IF (linia=10) AND (y>y2) THEN l2:=l2+1;
ToPrzesun2;
END;
IF linia3=10 THEN
BEGIN
l2:=round((y3-1-yp)/z);
IF ((linia=10) AND (y>y3)) THEN l2:=l2+1;
IF ((linia2=10) AND (y2>y3)) THEN l2:=l2+1;
ToPrzesun2;
END;
IF linia4=10 THEN
BEGIN
l2:=round((y4-1-yp)/z);
IF ((linia=10) AND (y>y4)) THEN l2:=l2+1;
IF ((linia2=10) AND (y2>y4)) THEN l2:=l2+1;
IF ((linia3=10) AND (y3>y4)) THEN l2:=l2+1;
ToPrzesun2;
END;
END;
(********************************************************************)
PROCEDURE CzyPrzesun;
BEGIN
linia:=0;
linia2:=0;
linia3:=0;
linia4:=0;
FOR k:=0 TO 9 DO
BEGIN
kkolor:=getpixel(xp+1+(k*z),y);
IF kkolor<>tlo THEN linia:=linia+1;
IF y2<>y THEN
BEGIN
kkolor2:=getpixel(xp+1+(k*z),y2);
IF kkolor2<>tlo THEN linia2:=linia2+1;
END;
IF (y3<>y) AND (y3<>y2) THEN
BEGIN
kkolor3:=getpixel(xp+1+(k*z),y3);
IF kkolor3<>tlo THEN linia3:=linia3+1;
END;
IF (y4<>y) AND (y4<>y2) AND (y4<>y3) THEN
BEGIN
kkolor4:=getpixel(xp+1+(k*z),y4);
IF kkolor4<>tlo THEN linia4:=linia4+1;
END;
END;
IF (linia=10) OR (linia2=10) OR (linia3=10) OR (linia4=10) THEN ToPrzesun;
END;
(********************************************************************)
PROCEDURE Top_10;
BEGIN
RESET(Lista);
clrscr;
TextColor(green);
Writeln(' N a J I e P s Z e R e K o R d y');
gotoxy(1,5);
licznik:=0;
WHILE NOT EoF(Lista) DO
BEGIN
licznik:=licznik+1;
read(Lista,Dane);
TextColor(yellow);
IF (Dane.Wynik=punkty) AND (czywpis=1) THEN TextColor(blue);
write(' ',licznik:2,'.',Dane.Imie:20,' - ');
write(Dane.Wynik:13);
IF (Dane.Wynik=punkty) AND (czywpis=1) THEN
BEGIN
write(' (',predkosc,')');
czywpis:=0;
END;
writeln;
END;
IF wpis0=0 THEN readkey;
CLOSE(Lista);
END;
(********************************************************************)
PROCEDURE WpiszRekord;
BEGIN
wpis0:=1;
Top_10;
RESET(Lista);
wpis:=0;
FOR Licznik:=0 TO 9 DO
BEGIN
SEEK(Lista,Licznik);
read(Lista,Dane);
CASE wpis OF
1:BEGIN
rekord3:=Dane.Wynik;
rekord4:=Dane.Imie;
Dane.Wynik:=rekord;
Dane.Imie:=rekord2;
wpis:=2;
END;
2:BEGIN
rekord:=Dane.Wynik;
rekord2:=Dane.Imie;
Dane.Wynik:=rekord3;
Dane.Imie:=rekord4;
wpis:=1;
END
END;
IF (punkty>Dane.Wynik) AND (wpis=0) THEN
BEGIN
czywpis:=1;
rekord:=Dane.Wynik;
rekord2:=Dane.Imie;
wpis:=1;
WriteLn;
WriteLn('Wpisz swoje imie: ');
WriteLn;
ReadLn(Dane.Imie);
Dane.Wynik:=punkty;
END;
SEEK(Lista,Licznik);
write(Lista,Dane);
END;
CLOSE(Lista);
wpis0:=0;
Top_10;
END;
(********************************************************************)
PROCEDURE gra;
BEGIN
RANDOMIZE;
clrscr;
cos:=9;
cus:=2;
InitGraph(cos,cus,'c:\\progra~1\\tp\\bgi\\');
delay(900);
tlo:=0;
z:=15;
xp:=170;
yp:=round((getmaxy-(23*z))/2);
xk:=xp+(10*z)+1;
yk:=yp+(23*z)+1;
xp2:=xk+20;
yp2:=yp+90;
rectangle(xp,yp,xk,yk);
poczatek:=1;
zapczas:=1;
koniec:=0;
next:=1+random(7);
iloscl:=0;
punkty:=0;
poczatek2:=1;
RESET(Lista);
SEEK(Lista,0);
read(lista,dane);
najwynik:=Dane.Wynik;
CLOSE(Lista);
REPEAT
przycisk4:=chr(0);
IF poczatek=1 THEN
BEGIN
predkosc:=predkoscp+(iloscl DIV 5);
v1:=round(1/(predkosc*7/1350+20/1350));
IF v1<1 THEN v1:=1;
IF v1>50 THEN v1:=50;
v:=v1;
PokazPunkty;
a:=4;
b:=-2;
x:=xp+1+(a*z);
y:=yp+1+(b*z);
figura:=next;
next:=1+random(7);
RysujNext;
CASE figura OF
1:BEGIN {figurat}
stob:=4;
kolor:=14;
END;
2:BEGIN {nogap}
stob:=4;
kolor:=10;
END;
3:BEGIN {nogal}
stob:=4;
kolor:=2;
END;
4:BEGIN {kwadrat}
stob:=1;
kolor:=4;
END;
5:BEGIN {dlugi}
stob:=2;
kolor:=11;
END;
6:BEGIN {figuraz}
stob:=2;
kolor:=9;
END;
7:BEGIN {figuras}
stob:=2;
kolor:=1;
END;
END;
obrot:=random(stob);
poczatek:=0;
END;
obrota:=obrot;
huj:=0;
IF keypressed THEN przycisk4:=readkey;
klawisz:=ord(przycisk4);
CASE klawisz OF
75:BEGIN {lewo}
IF (x>1+xp+(0*z)) AND (x2>1+xp+(0*z)) AND (x3>1+xp+(0*z)) AND (x4>1+xp+(0*z)) THEN
BEGIN
xb:=x-z;
yb:=y;
x2b:=x2-z;
y2b:=y2;
x3b:=x3-z;
y3b:=y3;
x4b:=x4-z;
y4b:=y4;
CzyNieObok;
IF NOT ((xykolor<>tlo) OR (xykolor2<>tlo) OR (xykolor3<>tlo) OR (xykolor4<>tlo)) THEN a:=a-1;
END;
END;
77:BEGIN {prawo}
IF (x<1+xp+(9*z)) AND (x2<1+xp+(9*z)) AND (x3<1+xp+(9*z)) AND (x4<1+xp+(9*z)) THEN
BEGIN
xb:=x+z;
yb:=y;
x2b:=x2+z;
y2b:=y2;
x3b:=x3+z;
y3b:=y3;
x4b:=x4+z;
y4b:=y4;
CzyNieObok;
IF NOT ((xykolor<>tlo) OR (xykolor2<>tlo) OR (xykolor3<>tlo) OR (xykolor4<>tlo)) THEN a:=a+1;
END;
END;
72:BEGIN {gora}
xa:=x;
ya:=y;
x2a:=x2;
y2a:=y2;
x3a:=x3;
y3a:=y3;
x4a:=x4;
y4a:=y4;
huj:=1;
obrot:=obrot+1;
IF obrot=stob THEN obrot:=0;
WyborFigury(figura);
przyo:=0;
WHILE (x<1+xp+(0*z)) OR (x2<1+xp+(0*z)) OR (x3<1+xp+(0*z)) OR (x4<1+xp+(0*z)) DO
BEGIN
przyo:=przyo+1;
a:=a+1;
x:=1+xp+(a*z);
WyborFigury(figura);
END;
WHILE (x>1+xp+(9*z)) OR (x2>1+xp+(9*z)) OR (x3>1+xp+(9*z)) OR (x4>1+xp+(9*z)) DO
BEGIN
przyo:=przyo-1;
a:=a-1;
x:=1+xp+(a*z);
WyborFigury(figura);
END;
xb:=x;
yb:=y;
x2b:=x2;
y2b:=y2;
x3b:=x3;
y3b:=y3;
x4b:=x4;
y4b:=y4;
CzyNieObok;
IF (xykolor<>tlo) OR (xykolor2<>tlo) OR (xykolor3<>tlo) OR (xykolor4<>tlo) THEN
BEGIN
a:=a-przyo;
NieMaObrotu;
END;
END;
80:BEGIN {dol}
v:=0;
END;
END;
IF v=0 THEN
BEGIN
xa:=x;
ya:=y;
x2a:=x2;
y2a:=y2;
x3a:=x3;
y3a:=y3;
x4a:=x4;
y4a:=y4;
xb:=x;
yb:=y+2*z;
x2b:=x2;
y2b:=y2+2*z;
x3b:=x3;
y3b:=y3+2*z;
x4b:=x4;
y4b:=y4+2*z;
CzyNieObok;
b1:=b;
IF (xykolor<>tlo) OR (xykolor2<>tlo) OR (xykolor3<>tlo) OR (xykolor4<>tlo) THEN
BEGIN
v:=round(1/(predkosc*9/3740+97/3740));
END;
END;
IF b>b1+1 THEN v:=v1;
IF zapczas=1 THEN
BEGIN
gettime(czash,czasmin,czassec,czasms);
czas:=czasms;
zapczas:=0;
END;
gettime(czash,czasmin,czassec,czasms);
czas2:=czasms;
rczasu:=czas2-czas;
IF rczasu<0 THEN rczasu:=99-czas+czas2;
IF rczasu>=v THEN
BEGIN
b:=b+1;
zapczas:=1;
END;
IF huj=0 THEN
BEGIN
xa:=x;
ya:=y;
x2a:=x2;
y2a:=y2;
x3a:=x3;
y3a:=y3;
x4a:=x4;
y4a:=y4;
END;
x:=xp+1+(a*z);
y:=yp+1+(b*z);
WyborFigury(figura);
IF (x<>xa) OR (y<>ya) OR (obrot<>obrota) THEN
BEGIN
xb:=x;
yb:=y;
x2b:=x2;
y2b:=y2;
x3b:=x3;
y3b:=y3;
x4b:=x4;
y4b:=y4;
CzyNieObok;
IF (xykolor<>tlo) OR (xykolor2<>tlo) OR (xykolor3<>tlo) OR (xykolor4<>tlo) THEN
BEGIN
x:=xa;
y:=ya;
x2:=x2a;
y2:=y2a;
x3:=x3a;
y3:=y3a;
x4:=x4a;
y4:=y4a;
IF (y<=yp+1+(-1*z)) OR (y2<=yp+1+(-1*z)) OR (y3<=yp+1+(-1*z)) OR (y4<=yp+1+(-1*z)) THEN koniec:=1;
CzyPrzesun;
poczatek:=1;
zmiana:=2;
punkty:=punkty+predkosc;
END;
END;
IF (zmiana=0) AND (poczatek2=0) THEN
BEGIN
setfillstyle(1,tlo);
IF (ya>yp-z+1) AND ((x<>xa) OR (y<>ya)) THEN bar(xa,ya,xa+z-1,ya+z-1);
IF (y2a>yp-z+1) AND ((x2<>x2a) OR (y2<>y2a)) THEN bar(x2a,y2a,x2a+z-1,y2a+z-1);
IF (y3a>yp-z+1) AND ((x3<>x3a) OR (y3<>y3a)) THEN bar(x3a,y3a,x3a+z-1,y3a+z-1);
IF (y4a>yp-z+1) AND ((x4<>x4a) OR (y4<>y4a)) THEN bar(x4a,y4a,x4a+z-1,y4a+z-1);
END;
IF (y>=1+yp+(23*z)) OR (y2>=1+yp+(23*z)) OR (y3>=1+yp+(23*z)) OR (y4>=1+yp+(23*z)) THEN
BEGIN
CzyPrzesun;
poczatek:=1;
zmiana:=1;
punkty:=punkty+predkosc;
END
ELSE
BEGIN
IF zmiana=2 THEN
BEGIN
zmiana:=1;
END
ELSE
BEGIN
zmiana:=0;
END;
END;
setfillstyle(1,kolor);
IF (y>yp-z+1) AND ((x<>xa) OR (y<>ya)) THEN bar(x,y,x+z-1,y+z-1);
IF (y2>yp-z+1) AND ((x2<>x2a) OR (y2<>y2a)) THEN bar(x2,y2,x2+z-1,y2+z-1);
IF (y3>yp-z+1) AND ((x3<>x3a) OR (y3<>y3a)) THEN bar(x3,y3,x3+z-1,y3+z-1);
IF (y4>yp-z+1) AND ((x4<>x4a) OR (y4<>y4a)) THEN bar(x4,y4,x4+z-1,y4+z-1);
poczatek2:=0;
CASE klawisz OF
112:BEGIN {PAUSE}
outtextxy(xp2,yp2+90+4*z,'<PAUZA> - Aby wyl. nacisnij "P"!');
REPEAT
delay(15);
przycisk3:=readkey;
UNTIL (przycisk3='p') OR (przycisk3='P') OR (przycisk3=chr(27));
setfillstyle(1,tlo);
bar(xp2,yp2+90+4*z,xp2+252,yp2+97+4*z);
IF przycisk3=chr(27) THEN koniec:=2;
END;
27:BEGIN {Esc}
koniec:=2;
END;
END;
IF koniec=2 THEN
BEGIN
outtextxy(xp2,yp2+90+4*z,'Czy napewno chcesz wyjsc? (T/N)');
REPEAT przycisk3:=readkey;
UNTIL (przycisk3='t') OR (przycisk3='n') OR (przycisk3='T') OR (przycisk3='N');
IF (przycisk3='n') OR (przycisk3='N') THEN
BEGIN
setfillstyle(1,tlo);
bar(xp2,yp2+90+4*z,xp2+244,yp2+97+4*z);
koniec:=0;
END;
END;
UNTIL koniec<>0;
IF koniec=1 THEN readkey;
closegraph;
restorecrtmode;
WpiszRekord;
END;
(********************************************************************)
PROCEDURE UstalPredkosc;
BEGIN
clrscr;
gotoxy(1,10);
writeln(' Ustal Predkosc:');
writeln;
writeln;
writeln('Podaj predkosc poczatkowa od 1(wolno) do 10(szybko):');
readln(spredkoscp);
val(spredkoscp,predkoscp,code);
IF (predkoscp<1) OR (predkoscp>10) OR (code<>0) THEN
BEGIN
writeln;
Write('Niewlasciwa wartosc!');
readkey;
UstalPredkosc;
END;
END;
(********************************************************************)
BEGIN
predkoscp:=10;
REPEAT
czywpis:=0;
ASSIGN(Lista,'C:\progra~1\tp\bin\tetris\top_10.cfg');
ClrScr;
gotoxy(1,10);
TextColor(blue);
writeln(' T E T R I S');
TextColor(yellow);
write(' napisal: ');
TextColor(60);
writeln('Arkadiusz Burdach');
gotoxy(1,13);
TextColor(yellow);
writeln('Wybierz jedna z opcji:');
writeln;
writeln('1 - Nowa Gra');
writeln('2 - TOP 10');
writeln('3 - Opcje');
writeln('ESC - Wyjscie');
przycisk:=readkey;
IF (przycisk='1') OR (przycisk='2') OR (przycisk='3') OR (przycisk=chr(27)) THEN
BEGIN
IF przycisk='1' THEN Gra;
IF przycisk='2' THEN Top_10;
IF przycisk='3' THEN UstalPredkosc;
IF przycisk=chr(27) THEN
BEGIN
clrscr;
TextColor(red);
gotoxy(26,12);
writeln('Czy napewno chcesz WYJSC? (T/N)');
REPEAT
przycisk2:=readkey;
IF (przycisk2='t') OR (przycisk2='T') THEN
BEGIN
TextColor(green);
gotoxy(34,14);
write('To nazrazie.');
END;
UNTIL (przycisk2='T') OR (przycisk2='N') OR (przycisk2='t') OR (przycisk2='n') OR (przycisk2=chr(27));
END;
END;
UNTIL (przycisk=chr(27)) AND ((przycisk2='t') OR (przycisk2='T'))
END.
projects/tetrispas.txt · Last modified: 2010/07/25 18:16 (external edit)