RUBICONDwa nierozerwalne obwody, dwie obrecze wypełnione odmiennymi elementami będą celem naszych zmagań. Złowrogie moce po naciśnięciu "fire" bezlitośnie niszczą panujący od wieków ład i harmonię naszego układu. Czeka nas trudne zadanie - musimy wszystko odbudować, przywrócić pierwotną formę naszej struktury. Gra składa się z trzech niezależnych etapów o różnych stopniach trudności. Mniej zaradnym graczom proponuję zmniejszenie wartości stałej TRD w linii 9, a wszystkim życzę miłej zabawy. 1 REM ******************************* 2 REM * * 3 REM * R U B I C O N 1992 * 4 REM * * 5 REM * autor: ALEKSANDER USIK * 6 REM * * 7 REM ******************************* 8 REM 9 TR=40:REM TR-STOPIEN TRUDNOSCI 10 GRAPHICS 0:GRAPHICS 18:ANTIC=PEEK(5 60)+256*PEEK(561):POKE 559,PEEK(559)-3 2 20 RESTORE 30:FOR R=1 TO 5:READ A:POKE ANTIC+R-3,A:NEXT R 30 DATA 112,112,70,70,158 40 POKE ANTIC+18,PEEK(ANTIC+18)-2:POKE 560,PEEK(560)-2:POKE 559,PEEK(559)+32 50 GOSUB 350:GOSUB 540 60 RESTORE 70:FOR R=0 TO 19:READ A:POK E 40518+R,A:NEXT R 70 DATA 0,50,117,162,233,163,111,46,0, 0,98,121,14,0,111,108,111,117,115,0 80 REM START GAME 90 POKE 764,255:GOSUB 490:GOSUB 790:PO KE PMOP+177,16+GAME:ZAP=89 100 GOSUB 190:GOSUB 220:GOSUB 190:A=US R(1536,PMOP,PM,240) 110 A=USR(1536,PM,PMOP,240):ST=STICK(0 ):GOSUB 140:IF PEEK(764)=28 THEN GOSUB 350:GOTO 80 120 GOTO 110 130 GOTO 130 140 IF ST=7 THEN ADDD=ADD2:SOUND 0,120 ,10,10:GOSUB 250 150 IF ST=11 THEN ADDD=ADD2:SOUND 0,95 ,10,10:GOSUB 300 160 IF ST=13 THEN ADDD=ADD1:SOUND 0,80 ,10,10:GOSUB 250 170 IF ST=14 THEN ADDD=ADD1:SOUND 0,24 1,10,10:GOSUB 300 180 SOUND 0,0,0,0:RETURN 190 PAZ=PEEK(PM+ZAP):FOR S=0 TO 3:SOUN D 0,80+S*20,12,15:POKE PM+ZAP,0:FOR Q= 0 TO 100:NEXT Q 200 SOUND 0,0,0,0:POKE PM+ZAP,PAZ:NEXT S 210 RETURN 220 REM ZAMIESZANIE 230 IF STRIG(0)=1 THEN POSITION 4,10:? #6;"press fire!":POSITION 4,10:? #6;" ":GOTO 230 240 FOR Z=1 TO TR:ST=INT(RND(0)*8+7):G OSUB 140:A=USR(1536,PM,PMOP,240):NEXT Z:RETURN 250 REM RUCH W PRAWO 260 IL=PEEK(ADDD):KP=PEEK(PMOP+PEEK(AD DD+IL)) 270 FOR X=IL TO 2 STEP -1:NW=PEEK(ADDD +X):ST=PEEK(ADDD+X-1):POKE (PMOP+NW),P EEK(PMOP+ST):NEXT X 280 POKE (PMOP+PEEK(ADDD+1)),KP 290 RETURN 300 REM RUCH W LEWO 310 IL=PEEK(ADDD):KL=PEEK(PMOP+PEEK(AD DD+1)) 320 FOR X=1 TO IL-1:NW=PEEK(ADDD+X):ST =PEEK(ADDD+X+1):POKE PMOP+NW,PEEK(PMOP +ST):NEXT X 330 POKE (PMOP+PEEK(ADDD+IL)),KL 340 RETURN 350 REM SZATA GRAFICZNA 360 POSITION 0,0:? #6;" -------------- ---- "; 370 ? #6;"- -"; 380 ? #6;"- -"; 390 ? #6;"- G -"; 400 ? #6;"- A -"; 410 ? #6;"- M -"; 420 ? #6;"- E -"; 430 ? #6;"- -"; 440 ? #6;"- ? -"; 450 ? #6;"- -"; 460 ? #6;"- -"; 470 ? #6;" ------------------ "; 480 PM=40560:PMOP=39424:POKE 708,14:PO KE 709,11:POKE 710,8:POKE 711,5:RETURN 490 POSITION 2,3:? #6;"prosze wybrac": POSITION 5,5:? #6;"zestaw !":POSITION 5,8:? #6;"1. 2. 3." 500 ZEST=PEEK(764):GAME=(ZEST=31)+2*(Z EST=30)+3*(ZEST=26) 510 IF GAME=0 THEN GOTO 500 520 POSITION 5,10:? #6;"esc-exit":POKE 764,255 530 FOR I=1 TO 500 STEP 5:SOUND 0,I,12 ,15:NEXT I:SOUND 0,0,0,0:GOSUB 350:RET URN 540 REM D A T A 1 2 3 550 POLD=155*256:RESTORE 580:II=0 560 READ A:IF A<0 THEN GOTO 640 570 POKE POLD+II,A:II=II+1:GOTO 560 580 DATA 19,146,145,144,124,104,84,64, 45,46,47,48,49,69,89,109,129,149,148,1 47 590 DATA 19,90,91,92,112,132,152,172,1 91,190,189,188,187,167,147,127,107,87, 88,89 600 DATA 19,146,145,144,124,104,84,64, 45,46,47,48,49,69,89,109,129,149,148,1 47 610 DATA 19,90,91,92,112,132,152,172,1 91,190,189,188,187,167,147,127,107,87, 88,89 620 DATA 20,105,85,65,45,46,47,48,49,6 9,89,109,129,149,169,168,167,166,165,1 45,125 630 DATA 24,90,91,92,112,132,131,130,1 29,128,127,126,125,124,123,122,102,82, 83,84,85,86,87,88,89,-1 640 KULD=156*256:RESTORE 670:II=0 650 READ A:IF A<0 THEN GOTO 730 660 POKE KULD+II,A:II=II+1:GOTO 650 670 DATA 47,47,47,47,47,47,47,47,47,47 ,47,47,47,47,47,47,47,47,10 680 DATA 10,10,10,10,10,10,10,10,10,10 ,10,10,10,10,10,10,10,10,47 690 DATA 175,175,175,175,175,175,175,1 75,175,47,47,47,47,47,47,47,47,47,10 700 DATA 138,138,138,138,138,138,138,1 38,138,10,10,10,10,10,10,10,10,10,47 710 DATA 53,48,53,43,78,78,78,33,52,33 ,50,41,78,1,1,1,1,1,78,42 720 DATA 78,78,78,78,78,37,35,41,46,45 ,37,42,33,52,78,78,78,78,78,48,78,78,7 8,33,-1 730 REM MOVE A=USR(1536,DO,Z,DL) 740 RESTORE 750:FOR I=1536 TO 1587:REA D A:POKE I,A:NEXT I 750 DATA 104,104,133,204,104,133,203,1 04,133,206,104,133,205,104,133,208,104 ,133,207 760 DATA 166,208,240,16,160,0,177,205, 145,203,200,208,249,230,204,230,206,20 2,208,240,160,0,177,205 770 DATA 145,203,200,24,196,207,144,24 6,96 780 RETURN 790 ADD1=POLD+40*(GAME=2)+80*(GAME=3): ADD2=ADD1+PEEK(ADD1)+1 800 KUL1=KULD+38*(GAME=2)+76*(GAME=3): KUL2=KUL1+PEEK(ADD1) 810 WK1=PEEK(ADD1)-1:WK2=PEEK(ADD2)-1 820 FOR W=0 TO WK1:POKE (PM+PEEK(ADD1 +1+W)),PEEK(KUL1+W):NEXT W 830 FOR W=0 TO WK2:POKE (PM+PEEK(ADD2 +1+W)),PEEK(KUL2+W):NEXT W 840 A=USR(1536,PMOP,PM,240) 850 RETURN Życzę przyjemnej zabawy! Aleksander Usik
|