home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1996 May
/
PCW596.iso
/
polskie
/
eduk
/
genfast
/
genfast.lzh
/
DEMO_08.PAK
/
KULKA3.DA_
< prev
next >
Wrap
Text File
|
1996-02-08
|
3KB
|
160 lines
; Gra typu ARKANOID - aplikacja przykladowa
; Wykonanie: #pwr, 1996
; Wersja 1.0
[procedure Linia]
@Line(%D,%C,%D+%E,%C);
@Return;
[1!]
@ClrScr;
@Reset;
@DefKeyboardHandler(400);
@ShowScreen;
@DisableStatusBar;
; Miejsce, od ktorego bedzie wyswietlana kulka
@A:=50
@B:=50
; Zdefiniowanie kierunku ruchu kulki
@K:=2
; Warunki brzegowe linijki odbijajacej
;x1
@C:=301
;y1
@D:=30
;Dlugosc = 50
@E:=50
@UpArea(20,20,620,410,4);
@DownArea(29,29,611,401,7);
@DownArea(80,420,500,470,7);
@SetPosition(100,430);
@FastWrite('Animacja 3. GRA typu ARCANOID. GENFAST 2.0.');
@SetPosition(100,450);
@FastWrite('Uºyj klawiszy kursora do poruszania poprzeczkå!');
@DrawButton(20,420,70,470,7,200,'koniec.rbm','');
@DrawButton(510,420,560,470,7,20,'lewo.rbm','');
@DrawButton(570,420,620,470,7,21,'prawo.rbm','');
@Call:Linia;
; Procedura wywolywana cyklicznie
@DefIdleProc(6);
[100]
@CheckEvents;
[2]
@A:=%A+2
@B:=%B+2
@IF (%B >= 370) Then GoSub:7
@IF (%A >= 580) Then GoSub:9
@IF (%B+30 = 300) Then GoSub:30
@Goto:100
[3]
@A:=%A+2
@B:=%B-2
@IF (%A >= 580) Then GoSub:8
@IF (%B <= 30) Then GoSub:10
@IF (%B = 302) Then GoSub:32
@Goto:100
[4]
@A:=%A-2
@B:=%B-2
@IF (%B <= 30) Then GoSub:9
@IF (%A <= 30) Then GoSub:7
@IF (%B = 302) Then GoSub:34
@Goto:100
[5]
@A:=%A-2
@B:=%B+2
@IF (%A <= 30) Then GoSub:10
@IF (%B >= 370) Then GoSub:8
@IF (%B+30 = 300) Then GoSub:36
@Goto:100
[6]
@SetPosition(%A,%B);
@Rectangle(%A,%B,%A+30,%B+30);
@Delay(30);
@Clear(%A,%B,%A+30,%B+30);
@Goto:%K
[7]
@K:=3
@Sound(50,30);
@Return;
[8]
@K:=4
@Sound(50,30);
@Return;
[9]
@K:=5
@Sound(50,30);
@Return;
[10]
@K:=2
@Sound(50,30);
@Return;
[20]
@Clear(%D,%C,%D+%E,%C);
@D:=%D - 10
@IF (%D <= 30) Then Gosub:22;
@Call:Linia;
@GoTo:6
[21]
@Clear(%D,%C,%D+%E,%C);
@D:=%D + 10
@IF (%D >= 560) Then Gosub:23;
@Call:Linia;
@GoTo:6
[22]
@D:=30
@Return;
[23]
@D:=560
@Return;
[30]
@IF (%A+30 >= %D) Then GoSub:31
@Return;
[31]
@IF (%A+30 <= %D+80) Then GoSub:7
@Return;
[32]
@IF (%A+30 >= %D) Then GoSub:33
@Return;
[33]
@IF (%A+30 <= %D+80) Then GoSub:10
@Return;
[34]
@IF (%A+30 >= %D) Then GoSub:35
@Return;
[35]
@IF (%A+30 <= %D+80) Then GoSub:9
@Return;
[36]
@IF (%A+30 >= %D) Then GoSub:37
@Return;
[37]
@IF (%A+30 <= %D+80) Then GoSub:8
@Return;
[200]
@ReplaceProgram('shell.dat',1);
[400]
@F:=%Z;
@IF (%F = $4B00) Then GoTo:20;
@IF (%F = $4D00) Then GoTo:21;
@CheckEvents;