'=========================================================================== ' Subject: KUNG FAN ZU (1-ON-1 FIGHTER) Date: 05-21-98 (14:00) ' Author: Volker Schmid Code: QB, QBasic, PDS ' Origin: hem.passagen.se/hedsen/ Packet: GAMES.ABC '=========================================================================== DECLARE SUB flashtitle (Xa!, Ya!, text$) DECLARE SUB hintergrund () DECLARE SUB figur1 (f, a, alt) DECLARE SUB figur2 (f, a, alt) : DIM SHARED fig1%(1 TO 244), fig2%(1 TO 244) DIM SHARED fig3%(1 TO 244), fig4%(1 TO 244) DIM SHARED fig5%(1 TO 244), fig6%(1 TO 244) DIM SHARED eny1%(1 TO 244), eny2%(1 TO 244) DIM SHARED eny3%(1 TO 244), eny4%(1 TO 244) DIM SHARED eny5%(1 TO 244), eny6%(1 TO 244) DIM SHARED dummy%(1 TO 244) DIM SHARED mov(20) DIM SHARED f(19) DIM b2%(130) : REM %%% decrease this faktor to speed up the game %%% speed = 10000 : FOR x = 1 TO 20 READ mov(x) NEXT x REM %%%% JUMP HIGHT FOR SPECIAL JUMP %%%%% DATA -3,-6,-8,-10,-11,-12,-13,-13,-12,-11 DATA -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 : GOSUB getsprites : neuesgame: GOSUB menu: REM %%%%%%%% JUMP TO MENU %%%%%%%%%%%%%% CLS REM %%%%%%%%%%%%%%%%%%%% ask for names %%%%%%%%%%%%%%%%%%%%%% IF comp = 2 THEN GOTO noname COLOR 10 LOCATE 11, 24: PRINT n1$ LOCATE 11, 10 COLOR 15 INPUT "Name Player 1:", a$: IF a$ <> "" THEN n1$ = a$ IF comp = 1 THEN GOTO noname COLOR 10 LOCATE 13, 24: PRINT n2$ LOCATE 13, 10 COLOR 15 INPUT "Name Player 2:", a$: IF a$ <> "" THEN n2$ = a$ noname: : f1 = 120: f2 = 200: REM start positions in x a1 = 1: a2 = 1 altf1 = f1 + 1: altf2 = f2 + 1 flen = 6: REM lenght of fist kick klen = 30: REM lenght of feet kick energyl = 100: energyr = 100: REM start energy must be 100 azl = 0: azr = 0 : : RANDOMIZE TIMER CLS CALL hintergrund: REM draw background COLOR 15 LOCATE 4, 2: PRINT n1$: REM print players names LOCATE 4, 27: PRINT n2$ GOSUB malstat: REM draw energylevels FOR x = 1 TO 5: a$ = INKEY$: NEXT x: REM delete keystrokes CALL flashtitle(16, 11, "LETS FIGHT") GOTO einstieg : REM %%%%%%%%%%%%%%%%%%%% MAIN PART %%%%%%%%%%%%%%%%%%%%%%%%% spiele: WAIT &H3DA, 8: REM reduces flicker by waiting for raster-ray CALL figur1(altf1, alta1, altaddl): REM delete left fighter CALL figur2(altf2, alta2, altaddr): REM delete right fighter einstieg: CALL figur1(f1, a1, yaddl): REM draw left fighter CALL figur2(f2, a2, yaddr): REM draw right fighter altf1 = f1: altf2 = f2 alta1 = a1: alta2 = a2: REM > save coordinates to delete altaddr = yaddr: altaddl = yaddl : nixdraw: GOSUB keys: REM show for keys GOSUB fight: REM the fightroutine IF energyl < 1 OR energyr < 1 THEN GOTO ende: REM someone ko? GOTO spiele : REM %%%%%%%%%%%%%%%%%%%%%% check keys %%%%%%%%%%%%%%%%%%%%%%%%% keys: a$ = INKEY$ IF a$ = "m" THEN IF music = 1 THEN music = 0 ELSE music = 1 IF a$ = CHR$(27) THEN GOTO neuesgame : REM %%%%%%%%%%%%%%% fighter left %%%%%%%%%%%%%%%%%%% IF comp = 2 THEN a$ = "": GOSUB computer2: REM fighter left computer IF a$ = "a" THEN f1 = f1 - 2: a1 = a1 + 1: IF a1 = 4 THEN a1 = 1 IF a$ = "d" AND f1 < f2 - 6 THEN f1 = f1 + 2: a1 = a1 - 1: IF a1 = 0 THEN a1 = 3 IF a$ = "s" AND lk = 0 THEN lk = 1: IF music = 1 THEN SOUND 80, .5 IF a$ = "w" AND lf = 0 THEN lf = 1: IF music = 1 THEN SOUND 120, .5 IF a$ = "e" AND sml = 0 AND RND < .2 AND azl < 3 THEN sml = 1: azl = azl + 1: IF music = 1 THEN SOUND 180, .5 IF a$ = "x" AND dfl = 0 THEN dfl = 1: IF music = 1 THEN SOUND 120, .5 IF a$ = "e" THEN GOSUB malstat: REM same again : REM %%%%%%%%%%%%%%%%%%%%%%% fighter right %%%%%%%%%%%%%%%%%%%%%%% REM %%% maybe your keypad is not german, you can change %%% REM %%% the keys here in the next lines for the right fighter %%% REM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IF comp > 0 THEN a$ = "": GOSUB computer: REM fighter right computer IF a$ = "l" AND f2 > f1 + 6 THEN f2 = f2 - 2: a2 = a2 - 1: IF a2 = 0 THEN a2 = 3 IF a$ = "„" THEN f2 = f2 + 2: a2 = a2 + 1: IF a2 = 4 THEN a2 = 1 IF a$ = "”" AND rk = 0 THEN rk = 1: IF music = 1 THEN SOUND 80, .5 IF a$ = "p" AND rf = 0 THEN rf = 1: IF music = 1 THEN SOUND 120, .5 IF a$ = "o" AND smr = 0 AND RND < .2 AND azr < 3 THEN smr = 1: azr = azr + 1: IF music = 1 THEN SOUND 180, .5 IF a$ = "." AND dfr = 0 THEN dfr = 1: IF music = 1 THEN SOUND 120, .5 IF a$ = "o" THEN GOSUB malstat: REM same again : IF f2 > 300 THEN f2 = 300: REM dont go too far IF f2 < f1 + 5 AND smr > 0 THEN f2 = f2 + 1: REM dont stand behind the other IF f1 > f2 - 5 AND sml > 0 THEN f1 = f1 - 1: REM " IF f1 < 1 THEN f1 = 1: REM dont go too far RETURN : fight: REM %%%%%%%%%%%%%%%% check if there is fight action %%%%%%%%%%%%%%%%%%% IF lk > 0 THEN a1 = 4: lk = lk + 1: IF lk > klen THEN lk = 0: a1 = 2 IF rk > 0 THEN a2 = 4: rk = rk + 1: IF rk > klen THEN rk = 0: a2 = 2 IF lf > 0 THEN a1 = 5: lf = lf + 1: IF lf > flen THEN lf = 0: a1 = 1 IF rf > 0 THEN a2 = 5: rf = rf + 1: IF rf > flen THEN rf = 0: a2 = 1 IF sml > 0 THEN a1 = 4: sml = sml + 1: yaddl = mov(sml): f1 = f1 + .5: IF sml = 20 THEN sml = 0: a1 = 1: yaddl = 0: IF f1 > f2 - 10 THEN energyr = energyr - 15: Xa = f2: GOSUB blut: GOSUB malstat IF smr > 0 THEN a2 = 4: smr = smr + 1: yaddr = mov(21 - smr): : f2 = f2 - .5: IF smr = 20 THEN smr = 0: a2 = 1: yaddr = 0: IF f2 < f1 + 10 THEN energyl = energyl - 15: Xa = f1: GOSUB blut: GOSUB malstat IF dfl > 0 THEN a1 = 6: dfl = dfl + 1: IF dfl > klen THEN dfl = 0: a1 = 1 IF dfr > 0 THEN a2 = 6: dfr = dfr + 1: IF dfr > klen THEN dfr = 0: a2 = 1 IF dfl > 0 AND dfl < 4 THEN f1 = f1 + 1 IF dfr > 0 AND dfr < 4 THEN f2 = f2 - 1 : IF lf = 0 AND rf = 0 AND lk = 0 AND rk = 0 AND dfl = 0 AND dfr = 0 THEN RETURN kt = CINT((klen / 2) + (klen / 4)) ft = CINT(flen / 2) IF kt = lk OR dfl = kt THEN GOSUB testlk: GOSUB malstat IF kt = rk OR dfr = kt THEN GOSUB testrk: GOSUB malstat IF ft = lf THEN GOSUB testlf: GOSUB malstat IF ft = rf THEN GOSUB testrf: GOSUB malstat RETURN : testlk: IF f2 - f1 < 12 AND f2 - f1 > 8 THEN tr = 1: trl = 1: ELSE tr = 0: trl = 0 IF tr = 1 THEN energyr = energyr - 10: f2 = f2 + 2: IF f2 > 300 THEN f2 = 300 RETURN : testrk: IF f2 - f1 < 12 AND f2 - f1 > 8 THEN tr = 1: trr = 1: ELSE tr = 0: trr = 0 IF tr = 1 THEN energyl = energyl - 10: f1 = f1 - 2: IF f1 < 1 THEN f1 = 1 RETURN : testlf: IF f2 - f1 < 10 AND f2 - f1 > 7 THEN tr = 1: trl = 1: ELSE tr = 0: trl = 0 IF tr = 1 THEN energyr = energyr - 5: f2 = f2 + 1: IF f2 > 300 THEN f2 = 300 RETURN : testrf: IF f2 - f1 < 10 AND f2 - f1 > 7 THEN tr = 1: trr = 1: ELSE tr = 0: trr = 0 IF tr = 1 THEN energyl = energyl - 5: f1 = f1 - 1: IF f1 < 1 THEN f1 = 1 RETURN : malstat: REM %%%%%%%%%%%%%%%%%%%%%%% DRAW ENERGYLEVELS %%%%%%%%%%%%%%%%%%%%%% COLOR 15 LINE (10, 10)-(112, 20), 4, BF LINE (10, 10)-(112, 20), 15, B LINE (11, 11)-(11 + energyl, 19), 14, BF LOCATE 1, 9: PRINT energyl; "% " LOCATE 1, 1: PRINT 3 - azl; "S" : LINE (208, 10)-(310, 20), 4, BF LINE (208, 10)-(310, 20), 15, B LINE (209, 11)-(209 + energyr, 19), 14, BF LOCATE 1, 27: PRINT energyr; "% " LOCATE 1, 35: PRINT 3 - azr; "S" : IF trl = 1 THEN Xa = f2: GOSUB blut: trl = 0 IF trr = 1 THEN Xa = f1: GOSUB blut: trr = 0 RETURN : blut: REM %%%%%%%%%%%%%%%%%%% DRAW BLOOD %%%%%%%%%%%%%%%%%%%%%%%%%%% GET (Xa, 80)-(Xa + 19, 99), dummy%: REM save the graphics Xa = Xa + 10: Ya = 86 FOR b = 1 TO 5: CIRCLE (Xa, Ya), b, 4: NEXT b: REM draw blood IF music = 1 THEN SOUND 50, 1 FOR b = 1 TO speed * 2: NEXT b PUT (Xa - 10, 80), dummy%, PSET: REM restore th graphics xblut = Xa: yblut = 86 RETURN : REM %%%%%%%%%%%%%%%%%%%%% END PART %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ende: FOR x = 1 TO 30 STEP .01 CIRCLE (xblut, yblut), x, 4 NEXT x GOSUB melter FOR x = 2 TO 198 STEP 2 FOR t = 1 TO 1000: NEXT t LINE (1, x)-(320, x), 0 LINE (1, 199 - x)-(320, 199 - x), 0 NEXT x CLS COLOR 14 IF music = 0 THEN GOTO nixmus3 FOR x = 1600 TO 100 STEP -200 SOUND x, .8 SOUND x + 100, .81 NEXT x nixmus3: IF energyl < 1 THEN CALL flashtitle(14, 11, n2$ + " WINS!"): CALL flashtitle(14, 11, n2$ + " WINS!") IF energyr < 1 THEN CALL flashtitle(14, 11, n1$ + " WINS!"): CALL flashtitle(14, 11, n1$ + " WINS!") CLS IF comp = 1 AND energyr < 1 THEN CALL flashtitle(16, 11, "NEXT ROUND"): GOTO noname IF comp = 0 THEN CALL flashtitle(17, 11, "REVENGE"): GOTO noname GOTO neuesgame : computer: REM %%%%%%%%%%%%%%%%%% RIGHT COMPUTER %%%%%%%%%%%%%%%%%%%%%%%%%%% IF f2 < f1 + 20 AND RND < .03 THEN a$ = "”" IF f2 < f1 + 20 AND RND < .01 THEN a$ = "." IF f2 < f1 + 20 AND RND < .05 THEN a$ = "p" IF f2 < f1 + 20 AND f2 > f1 + 15 AND RND < .05 THEN a$ = "o" : IF f2 > f1 + 8 AND RND < .08 THEN a$ = "l" IF f2 < f1 + 20 AND RND < .05 THEN a$ = "„" FOR x = 1 TO speed / 20: NEXT x RETURN REM %%%%%%%%%%%%%%%%%% LEFT COMPUTER %%%%%%%%%%%%%%%%%%%%%%%%%%% computer2: IF f2 < f1 + 20 AND RND < .03 THEN a$ = "s" IF f2 < f1 + 20 AND RND < .01 THEN a$ = "x" IF f2 < f1 + 20 AND RND < .05 THEN a$ = "w" IF f2 < f1 + 20 AND f2 > f1 + 15 AND RND < .05 THEN a$ = "e" : IF f2 > f1 + 8 AND RND < .08 THEN a$ = "d" IF f2 < f1 + 20 AND RND < .05 THEN a$ = "a" FOR x = 1 TO speed / 20: NEXT x RETURN : REM %%%%%%%%%%%%%%%%%%%%%%% START MENU %%%%%%%%%%%%%%%%%%%%%%%%%%%% menu: SCREEN 7 FOR x = 1 TO 30: a$ = INKEY$: NEXT x: REM delete keystrokes backmenu: COLOR 15, 0: CLS FOR x = 1 TO 300 STEP 40 FOR y = 1 TO 180 STEP 40 IF RND < .5 THEN CALL figur1(x, CINT(5 * RND(1)) + 1, y - 80) ELSE CALL figur2(x, CINT(5 * RND(1)) + 1, y - 80) NEXT y NEXT x : LOCATE 4, 13: PRINT " KUNG FAN ZU " COLOR 13 LOCATE 5, 13: PRINT "~~~~~~~~~~~~~" : COLOR 10 LOCATE 9, 10: PRINT " F1 = 1 Player Game " LOCATE 10, 10: PRINT " F2 = 2 Player Game " LOCATE 11, 10: PRINT " F3 = 0 Player Game " LOCATE 12, 10: PRINT " F4 = SFX: "; : IF music = 1 THEN PRINT "on " ELSE PRINT "off " LOCATE 13, 10: PRINT " F5 = Help " LOCATE 14, 10: PRINT " ESC = Quit " LOCATE 15, 10: PRINT " " COLOR 11 LOCATE 19, 3: PRINT "(W) & (C) in 1997 by Volker Schmid" : nixda: SLEEP 25 a$ = INKEY$: IF a$ = "" THEN GOSUB melter: a$ = CHR$(0) + "=" IF a$ = "" THEN GOTO nixda IF a$ = CHR$(0) + ";" THEN comp = 1: n2$ = "Computer": RETURN IF a$ = CHR$(0) + "<" THEN comp = 0: RETURN IF a$ = CHR$(0) + "=" THEN comp = 2: n1$ = "Computer": n2$ = n1$: RETURN IF a$ = CHR$(0) + ">" AND music = 1 THEN music = 0: LOCATE 12, 22: PRINT "off": GOTO nixda IF a$ = CHR$(0) + ">" AND music = 0 THEN music = 1: LOCATE 12, 22: PRINT "on ": GOTO nixda IF a$ = CHR$(0) + "?" THEN GOTO help IF a$ = CHR$(27) THEN CLS : END GOTO nixda : help: COLOR 15, 0 CLS PRINT : PRINT PRINT " Player 1 Player 2 " COLOR 11 PRINT "________________________________________" COLOR 15 PRINT PRINT " d = right „ = right " PRINT " a = left l = left " PRINT " s = kick ” = kick " PRINT " w = fist p = fist " PRINT " e = special 3x o = special 3x" PRINT " x = low . = low " COLOR 11 PRINT "________________________________________" PRINT COLOR 12 PRINT " maybe you have to change keys in code" PRINT " to play in other countrys. I hope not." PRINT COLOR 10 PRINT " Written and copyright in 1997 by:" COLOR 9 PRINT " Volker Schmid" PRINT " Waldshuterstraáe 8" PRINT " 78176 Blumberg" COLOR 15 PRINT PRINT " If you use one of my routines, please" PRINT " be fair and name me!" SLEEP 30: a$ = INKEY$ GOTO backmenu : melter: FOR x = 1 TO 50: a$ = INKEY$: NEXT x block = 20: REM max 20 xmitte = (320 - block) / 2 ymitte = (200 - block) / 2 xrange = 320 - block * 1.3 yrange = 199 - block * 1.3 r = 0 lop1: r = r + 1 Xa = INT(RND(1) * xrange) + block * .1 Ya = INT(RND(1) * yrange) + block * .1 GET (Xa, Ya)-(Xa + block, Ya + block), b2% xadd = (xmitte - Xa) / 150: yadd = (ymitte - Ya) / 150 xadd = RND(1) - .5 + xadd: yadd = RND(1) - .5 + yadd PUT (Xa + xadd, Ya + yadd), b2%, PSET IF r < 10000 AND INKEY$ = "" THEN GOTO lop1 RETURN : getsprites: REM You can change the shape of the objects by using an editor like REM my SPRITEED. If you want it, you can reach me in Germany under REM Volker Schmid Waldshuterstraáe 8 78176 Blumberg REM REM have fun... : RESTORE fig1data FOR sprite = 1 TO 244 READ fig1%(sprite) NEXT sprite : fig1data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24576, 0, 96, 8192, 0, 0,-12276 DATA 3072, 240, 4, 1024, 0,-4084, 2048, 240, 14, 512, 0, 24590, 1024, 96,-2041, 256, 152,-2041, 512, 96,-1021, 0, 4,-1021 DATA 0, 248,-512, 0, 2,-512, 0, 116,-2560, 0, 0,-2304, 0, 115,-4096, 0, 0,-3328, 0, 115, 0, 0, 240,-4096 DATA 0, 0,-4096, 0, 16, 4096, 0, 96,-2047, 0, 8, 2048, 0, 240,-1023, 0, 68, 17408, 0, 136,-9215, 0, 68, 17408 DATA 0, 136,-29181, 0, 130,-32256, 256, 4,-29181, 0, 130,-32256, 256, 4, 1799, 256, 1, 257, 512, 2, 0, 0, 0, 0 DATA 1792, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE fig2data FOR sprite = 1 TO 244 READ fig2%(sprite) NEXT sprite : fig2data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24576, 0, 96, 8192, 0, 0,-12276 DATA 3072, 240, 4, 1024, 0,-4084, 2048, 240, 14, 512, 0, 24590, 1024, 96,-2041, 256, 152,-2041, 512, 96,-1021, 0, 4,-1021 DATA 0, 248,-512, 0, 2,-512, 0, 116,-2560, 0, 0,-2304, 0, 115,-4096, 0, 0,-3328, 0, 115, 0, 0, 240,-4096 DATA 0, 0,-4096, 0, 16, 4096, 0, 96,-2048, 0, 8, 2048, 0, 112,-1024, 0, 36, 9216, 0, 72,-1024, 0, 32, 8192 DATA 0, 76,-1023, 0, 36, 9216, 0, 200,-10239, 0, 72, 18432, 0, 176,-16383, 0, 64, 16384, 0, 144, 0, 0, 0, 0 DATA 256, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE fig3data FOR sprite = 1 TO 244 READ fig3%(sprite) NEXT sprite : fig3data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24576, 0, 96, 8192, 0, 32,-12276 DATA 3072, 208, 4, 1024, 0,-4084, 2048, 240, 14, 512, 0, 24590, 1024, 96,-2041, 256, 152,-2041, 512, 96,-1021, 0, 4,-1021 DATA 0, 248,-512, 0, 2,-512, 0, 116,-2560, 0, 0,-2304, 0, 115,-4096, 0, 0,-3328, 0, 115, 0, 0, 240,-4096 DATA 0, 0,-4096, 0, 16, 4096, 0, 96,-2048, 0, 8, 2048, 0, 112,-1024, 0, 36, 9216, 0, 72,-1024, 0, 36, 9216 DATA 0, 72,-4608, 0, 34, 8704, 0, 68,-4608, 0, 34, 8704, 0, 68,-6400, 0, 33, 8448, 0, 66, 0, 0, 0, 0 DATA 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE fig4data FOR sprite = 1 TO 244 READ fig4%(sprite) NEXT sprite : fig4data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24576, 0, 96, 8192, 0, 0,-12288 DATA 0, 240, 0, 128,-32768,-4096, 224, 24816, 768, 128, 3, 25368, 6368,-8096,-249, 1920, 156,-225, 6272, 99,-241, 0, 0,-241 DATA 1792, 4348,-1017, 0, 0,-1017, 0, 4208,-4096, 96, 24592,-4096, 96, 4192,-3328, 240,-32749,-3328, 128, 24672, 3840, 224, 252,-1024 DATA 0,-32765,-256, 128, 0, 0, 0, 124,-1024, 0, 0, 0, 0, 120,-2048, 0, 32, 8192, 0, 64,-8192, 0, 32, 8192 DATA 0, 64,-8192, 0, 32, 8192, 0, 64,-8192, 0, 32, 8192, 0, 64,-8192, 0, 32, 8192, 0, 64, 0, 0, 0, 0 DATA 256, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE fig5data FOR sprite = 1 TO 244 READ fig5%(sprite) NEXT sprite : fig5data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24576, 0, 96, 8192, 0, 0,-12282 DATA 1536, 240, 5, 256, 0,-4089, 512, 240, 775, 384,-32765, 25351, 736, 24672,-249, 128, 156,-249, 992,-8093,-253, 192, 0,-253 DATA 192, 252,-1024, 0, 0,-1024, 0, 112,-4096, 0, 0,-4096, 0, 112,-4096, 0, 0,-4096, 0, 112, 0, 0, 240,-4096 DATA 0, 0,-4096, 0, 16, 4096, 0, 96,-2047, 0, 8, 2048, 0, 240,-1023, 0, 68, 17408, 0, 136,-9215, 0, 68, 17408 DATA 0, 136,-29181, 0, 130,-32256, 256, 4,-29181, 0, 130,-32256, 256, 4, 1799, 256, 1, 257, 512, 2, 0, 0, 0, 0 DATA 1792, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE fig6data FOR sprite = 1 TO 244 READ fig6%(sprite) NEXT sprite : fig6data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24576, 0, 96, 8192, 0, 0,-12288, 0, 240, 0, 0, 0,-4096 DATA 0, 240, 0, 0, 0, 24576, 0, 96,-256, 0, 31,-256, 192,-16288,-255, 0, 0,-255, 192,-16257,-253, 0, 16,-253 DATA 256, 96,-4095, 0, 16,-4095, 0, 96,-4096, 0, 16,-4096, 0, 96, 0, 0, 240,-4096, 0, 0,-511, 256, 14, 3585 DATA 256, 254,-253, 512, 1, 258, 768, 255,-241, 3072, 1, 268, 7936, 7, 1807, 0, 1, 256, 7680, 3, 6, 0, 0, 0 DATA 2048, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE eny1data FOR sprite = 1 TO 244 READ eny1%(sprite) NEXT sprite : eny1data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 96, 24576, 0, 0, 0, 0, 16, 28672, 0, 96, 16384, 0, 8,-17664 DATA 0, 243, 512, 0, 10,-1280, 0, 241, 1024, 0, 15, 27648, 0, 98,-26623, 256, 254,-26623, 0, 100, 2, 768, 252, 2 DATA 256, 240, 4, 1792, 240, 4, 512, 224, 0, 1536, 240, 8, 3072, 224, 0, 0, 240, 12, 3072, 224, 0, 0, 0, 0 DATA 0, 240,-4096, 0, 128,-32768, 0, 96,-2047, 256, 0, 1, 0, 240,-2045, 512, 32, 8194, 256, 16,-18429, 512, 32, 8194 DATA 256, 16, 7175, 1024, 16, 4100, 512, 8, 7175, 1024, 16, 4100, 512, 8, 3598, 2048, 8, 2056, 1024, 4, 0, 0, 0, 0 DATA 3584, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE eny2data FOR sprite = 1 TO 244 READ eny2%(sprite) NEXT sprite : eny2data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 96, 24576, 0, 0, 0, 0, 16, 28672, 0, 96, 16384, 0, 8,-17664 DATA 0, 243, 512, 0, 10,-1280, 0, 241, 1024, 0, 15, 27648, 0, 98,-26623, 256, 254,-26623, 0, 100, 2, 768, 252, 2 DATA 256, 240, 4, 1792, 240, 4, 512, 224, 0, 1536, 240, 8, 3072, 224, 0, 0, 240, 12, 3072, 224, 0, 0, 0, 0 DATA 0, 240,-4096, 0, 128,-32768, 0, 96,-4095, 256, 0, 1, 0, 224,-4093, 512, 64, 16386, 256, 32,-4093, 0, 64, 16384 DATA 768, 32,-2045, 512, 64, 16386, 256, 48,-18431, 256, 32, 8193, 0, 208, 14336, 0, 32, 8192, 0, 144, 0, 0, 0, 0 DATA 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE eny3data FOR sprite = 1 TO 244 READ eny3%(sprite) NEXT sprite : eny3data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 96, 24576, 0, 0, 0, 0, 16, 28672, 0, 96, 16384, 0, 72,-17664 DATA 0, 179, 512, 0, 10,-1280, 0, 241, 1024, 0, 15, 27648, 0, 98,-26623, 256, 254,-26623, 0, 100, 2, 768, 252, 2 DATA 256, 240, 4, 1792, 240, 4, 512, 224, 0, 1536, 240, 8, 3072, 224, 0, 0, 240, 12, 3072, 224, 0, 0, 0, 0 DATA 0, 240,-4096, 0, 128,-32768, 0, 96,-4095, 256, 0, 1, 0, 224,-4093, 512, 64, 16386, 256, 32,-4093, 512, 64, 16386 DATA 256, 32, 28679, 1024, 64, 16388, 512, 32, 28679, 1024, 64, 16388, 512, 32, 28686, 2048, 64, 16392, 1024, 32, 0, 0, 0, 0 DATA 3584, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE eny4data FOR sprite = 1 TO 244 READ eny4%(sprite) NEXT sprite : eny4data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 96, 24576, 0, 0, 0, 0, 16, 28672, 0, 96, 16384, 0, 8,-18432 DATA 0, 240, 16, 4096, 8,-1936, 24576, 240, 12, 7168, 8, 26988, 28800,-32671,-25085, 7936, 254,-24829, 3200,-32671, 0, 3840, 255, 0 DATA -32000, 254, 0, 768, 254, 0,-32768, 224,-32672, 24576, 240,-32672,-32768, 96,-32516, 7168, 240,-32740, 24576, 96, 127, 768, 0, 3 DATA 7168, 240,-4065, 0, 0, 0, 768, 224,-4093, 0, 0, 0, 256, 224,-4095, 0, 64, 16384, 0, 32, 28672, 0, 64, 16384 DATA 0, 32, 28672, 0, 64, 16384, 0, 32, 28672, 0, 64, 16384, 0, 32, 28672, 0, 64, 16384, 0, 32, 0, 0, 0, 0 DATA 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE eny5data FOR sprite = 1 TO 244 READ eny5%(sprite) NEXT sprite : eny5data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 96, 24576, 0, 0, 0, 0, 16, 28672, 0, 96, 16384, 0, 0,-18944 DATA 0, 246, 2048, 0, 10,-1024, 0, 244, 2076, 7168, 14, 26748, 24576, 100,-28669, 7936, 254,-28573, 31744, 108, 0, 16128, 252, 0 DATA 768, 240, 0, 768, 240, 0, 0, 224, 0, 0, 240, 0, 0, 224, 0, 0, 240, 0, 0, 224, 0, 0, 0, 0 DATA 0, 240,-4096, 0, 128,-32768, 0, 96,-2047, 256, 0, 1, 0, 240,-2045, 512, 32, 8194, 256, 16,-18429, 512, 32, 8194 DATA 256, 16, 7175, 1024, 16, 4100, 512, 8, 7175, 1024, 16, 4100, 512, 8, 3598, 2048, 8, 2056, 1024, 4, 0, 0, 0, 0 DATA 3584, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RESTORE eny6data FOR sprite = 1 TO 244 READ eny6%(sprite) NEXT sprite : eny6data: DATA 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 96, 24576, 0, 0, 0, 0, 16, 28672, 0, 96, 16384, 0, 8,-18432, 0, 240, 0, 0, 8,-2048 DATA 0, 240, 0, 0, 8, 26624, 0, 96,-32753, 3840, 240,-32705, 12288, 96, 0, 3840, 248, 48, 16128, 224,-32768, 3840, 252,-32768 DATA 0, 104,-32768, 0, 248,-32768, 0, 96,-32768, 0, 240,-32768, 0, 96, 0, 0, 0, 0, 0, 240,-2041, 1792, 8, 2055 DATA 1792, 248,-1009, 2048, 4, 1032, 3840, 252,-241, 2048, 3, 776, 3584,-32753, 3854, 2048, 0, 8, 3072,-32761, 1536, 0, 0, 0 DATA 3584, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 DATA 0, 0, 0, 0 : RETURN SUB figur1 (f, a, add) ON a GOTO l1, l2, l3, l4, l5, l6 GOTO endesub1 : l1: PUT (f, 80 + add), fig1% GOTO endesub1 l2: PUT (f, 80 + add), fig2% GOTO endesub1 l3: PUT (f, 80 + add), fig3% GOTO endesub1 l4: PUT (f, 80 + add), fig4% GOTO endesub1 l5: PUT (f, 80 + add), fig5% GOTO endesub1 l6: PUT (f, 80 + add), fig6% GOTO endesub1 endesub1: END SUB SUB figur2 (f, a, add) ON a GOTO r1, r2, r3, r4, r5, r6 GOTO endesub2 : r1: PUT (f, 80 + add), eny1% GOTO endesub2 r2: PUT (f, 80 + add), eny2% GOTO endesub2 r3: PUT (f, 80 + add), eny3% GOTO endesub2 r4: PUT (f, 80 + add), eny4% GOTO endesub2 r5: PUT (f, 80 + add), eny5% GOTO endesub2 r6: PUT (f, 80 + add), eny6% GOTO endesub2 endesub2: END SUB SUB flashtitle (Xa, Ya, text$) SHARED speed t = 0 f(1) = 0: f(2) = 1: f(3) = 9: f(4) = 3: f(5) = 11: f(6) = 15: f(7) = 14: f(8) = 12: f(9) = 4: f(10) = 0 flash: t = t + 1 COLOR f(t) LOCATE Ya, Xa: PRINT text$ FOR u = 1 TO speed * 2: NEXT u: REM waiting IF t = 6 THEN FOR u = 1 TO speed * 4: NEXT u IF t < 10 THEN GOTO flash END SUB SUB hintergrund LINE (1, 100)-(320, 200), 2, BF FOR x = 0 TO 90 STEP 1.5 wi = 3.1415 / 180 * x LINE (1, 102 + SIN(wi) * 98)-(320, 102 + SIN(wi) * 98), 0 NEXT x LINE (1, 100)-(320, 100), 10 FOR x = 1 TO 100 Xa = INT(319 * RND(1)) + 1 Ya = INT(79 * RND(1)) + 1 PSET (Xa, Ya), 8 NEXT x FOR x = 1 TO 50 Xa = INT(319 * RND(1)) + 1 Ya = INT(49 * RND(1)) + 1 PSET (Xa, Ya), 8 NEXT x FOR x = 1 TO 50 Xa = INT(319 * RND(1)) + 1 Ya = INT(29 * RND(1)) + 1 PSET (Xa, Ya), 8 NEXT x END SUB