home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
89xx
/
8902c.d64
/
break
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
3KB
|
124 lines
20 REM@ \WORD #:\FASTFOR:\SHORTIF
30 REM@ \BYTE X,SO,J,I2,IE,COUNT,LV,SL
40 POKE650,128
500 SO=15:BR=10:B2=BR-1
900 AP=1023:GOSUB5750
950 GOSUB5700
1000 JO=56320
1005 GOSUB12000
1010 GOSUB10000
1020 GOSUB5100:REM BERECHNEN
1030 GOSUB5200:REM TESTEN
1032 GOSUB8000:REM TASTATUR
1035 POKEAP,32:
1040 POKEPO,81:
1060 GOSUB 5000
1070 FORI=1TOSP:NEXT
1080 GOSUB 5000
1085 FORI=1TOSP:NEXT
1090 GOTO1020
5000 RI=0
5005 IF (PEEK(JO)AND4)=0 THEN 5030:REM JOYSTIC
5010 IF (PEEK(JO)AND8)=0 THEN 5040
5020 RETURN
5030 IFXC>1984THENXC=XC-1:RI=-128
5032 POKEXC,119:POKEXC+BR,32:RETURN
5040 IFXC<1984+40-BRTHEN XC=XC+1:RI=128
5042 POKEXC+B2,119:POKEXC-1,32:RETURN
5090 :
5100 REM BERECHNEN
5110 AX=X:AP=PO:PO=PO+DY
5120 XX=XX+DX:IFXXAND256THENXX=XXAND255:PO=PO+TX:X=X+TX
5130 REMPRINT" ";PO;X;XX;DX;TX
5140 RETURN
5190 :
5200 PN=PO+DY
5210 IF PEEK(PO)=204 OR PEEK(PO)=239 THEN GOSUB5600
5230 IF PO<1104THEN DY=40:GOSUB6000
5240 IF X=39 THEN IF TX=1 THEN DX=-DX:TX=-TX:GOSUB6000
5250 IF X=0 THEN IF TX=-1 THEN DX=-DX:TX=-TX:GOSUB6000
5255 IF PO>=1944THEN GOSUB 5270
5260 RETURN
5270 IF PEEK(PN)=119 THENGOTO5500
5275 IF PO>=1988THEN POKEAP,32:GOSUB5700:DX=0:TX=0:DY=0:IFSL=1THENGOSUB5950
5280 RETURN
5399 :
5500 DY=-40:GOSUB6200
5505 IF X=0AND TX=0 THEN DX=128:TX=1
5506 IF X=39AND TX=0 THEN DX=-128:TX=-1
5510 DX=DX+RI:TX=0
5515 IF DX+30000>30000THENTX=1
5520 IF DX+30000<30000THENTX=-1
5525 IF DX+30256<30000THENTX=-1:DX=-256::RETURN
5530 IF DX>256THEN IF DX<1000THEN DX=256:TX=1:RETURN
5590 RETURN
5600 DY=-DY:IFPO>=1104THENGOSUB6100
5610 P=(PO-X)+(XAND255-3):POKEP,32:POKEP+1,32:POKEP+2,32:POKEP+3,32
5630 COUNT=COUNT-1:PU=PU+1:PRINT""TAB(9)PU
5640 IFCOUNT>0THENRETURN
5650 SL=SL+1:PRINT"NAECHSTER LEVEL...":GOSUB5800:GOSUB10000:GOSUB5700
5660 LV=LV+1
5690 RETURN
5700 DY=-40:DX=256:TX=1:X=5:PO=1904+X:AP=1023
5710 XX=X*256:RETURN
5750 XC=1984+20:IF BR>19 THEN XC=1984
5760 IE=3:LV=1:SL=3:PU=0
5790 RETURN
5800 POKE198,0
5810 GETA$:IFA$=""THEN5810
5820 RETURN
5900 PRINT"[152] PUNKTE: [157]"PU"[157] LEVEL:"LV"[157] LEBEN:"SL"[157] ":RETURN
5950 PRINT" ENDE ":GOSUB5800
5960 GOSUB5700:GOSUB5750:GOSUB10000:RETURN
6000 :
6100 :
6200 :
6510 POKE54272+24,SO:SO=15-SO
6530 RETURN
6999 :
8000 IF PEEK(198)=0THEN RETURN
8005 GETA$
8010 IFA$="+"ANDBR<40THENBR=BR+1:IFXC>1984THENXC=XC-1
8020 IFA$="-"ANDBR>1THENBR=BR-1
8100 IF A$>="0" AND A$<="9" THEN GOSUB9000
8800 B2=BR-1:GOSUB11000
8850 IFDY<>0THENRETURN
8860 GOSUB5700:SL=SL-1:GOSUB5900
8870 AP=1023:LV=LV+1
8900 RETURN
9000 A=9-VAL(A$)
9010 SP=(2^A-1)*7+200*A:RETURN
10000 POKE53281,12:PRINT"[152][147]";
10002 GOSUB5900:PRINT""
10005 A$(1)="":A$(2)="[158]":A$(3)="[129]":A$(4)=""
10006 IE=IE+2:IFIE>15THENIE=15
10007 COUNT=IE*7
10010 FORI2=1TOIE:PRINTA$((I2AND3)+1);
10020 J=INT(RND(1)*3)*4
10030 PRINTTAB(J)"[204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][146]"
10040 IF (I2AND3)=3 THEN PRINT
10100 NEXTI2:PRINT"[152]";
10150 POKE53281,0:POKE53280,12
11000 FORI=1984TO2023:POKEI,32:NEXT
11010 FORI=0TOB2:POKEXC+I,119:NEXT
11020 RETURN
11110 FORI=0TOB2:POKE1984+XC+I,119:NEXT
12000 PRINT"[147]"CHR$(142)
12010 PRINT" SIMPELSTES BREAKOUT
12020 [153]" EINE DEMO ZUM BASIC-BOSS-COMPILER
12022 PRINT" (THILO HERRMANN, 1988)
12023 [153]"
12024 PRINT"
12025 [153]" DIESES SPIELCHEN DARF (UND SOLL)
12026 PRINT" BELIEBIG KOPIERT WERDEN.
12029 [153]" BEDIENUNG WAEHREND DES SPIELS:
12030 PRINT" +,- ... BREITE
12040 [153]" 0-9 ... GESCHWINDIGKEIT
12042 PRINT" DIE BEWEGUNGSRICHTUNG DES SCHLAEGERS
12043 [153]" BEEINFLUSST DEN ABPRALLENDEN BALL.
12044 PRINT" BITTE WAEHLEN SIE DIE
12045 [153]" STARTGESCHWINDIGKEIT:(0-9)
12047 PRINT" (BEI DER BASIC-VERSION BESSER '9')
12050 [161]A$:[139]A$[178]""[167]12050
12060 [137]9000