' arcade '-----------SCREEN 9'_FULLSCREENCONST KEY_KP_LEFT& = 200004CONST KEY_KP_RIGHT& = 200006mus1$ = "MbO2L64cgdgbgag"mus2$ = "MbO3L64cgdgbgag"mus3$ = "MbO4L64cgdgbgag"mus4$ = "MbO5L64cgdgbgag"music$ = "mbO3L32P64afgcO2eaL64eccO4fgbb"mus5$ = "mbO3L32P64CDEFGCACDCECFCGO4CDECACDCFCDFDA"DEFINT A-Zccc = 1'==================== setup for new game ========================newgame:Shooter = 1 'How fast shooter moves vack and forthShot = 2 'speed of bulletdis = 1 'speed that targets moveball = 12 'number of bulletsscore = 0fall = 5 'targets go up and downr = 65 'size of targets, changes during the game'======================== setup for next level ===================start:r = r - 12 'size of targetsIF r < 12 THEN r = 65 dis = dis + 1 ccc = ccc + 1 IF dis > 4 THEN dis = 2END IFLINE (0, 0)-(640, 350), ccc, BFLINE (1, 335)-(640, 350), 0, BFLOCATE 25, 55PRINT "SCORE "; score;e = 300 ' position shooterw = 300d = 270'-----------------------u = 50 ' position targetsuu = 100i = 190ii = 280m = 370mm = 460x = 550xx = 640s = 0 ' reset counter -8 targets to shoot'----------------------h = 8 'color of targetsj = 9k = 10gg = 11hh = 12jj = 14kk = 13FOR turns = 1 TO ball 'play till run out of balls CIRCLE (turns * 15, 340), 4, 15 PAINT (turns * 15, 340), 7, 15NEXT turnsLINE (e, 310)-(e + 4, 320), 0, BF'==============================================================WHILE a$ <> "q" _LIMIT 120 a$ = INKEY$ 'need this if quit, Also asks at end of game if you want to quit Y/N IF a$ = LCASE$("q") THEN SYSTEM '----- Use Left and Right arrow keys to move the shooter IF _KEYDOWN(CVI(CHR$(0) + "M")) THEN LINE (e, 310)-(e + 4, 320), ccc, BF e = e + Shooter LINE (e, 310)-(e + 4, 320), 0, BF END IF IF _KEYDOWN(CVI(CHR$(0) + "K")) THEN LINE (e, 310)-(e + 4, 320), ccc, BF e = e - Shooter LINE (e, 310)-(e + 4, 320), 0, BF END IF '-------------------------------------------- IF b = 0 THEN FOR t = 1 TO 100 NEXT t END IF ' erase targets LINE (x, fall)-(x + dis, fall + 7), ccc, BF LINE (i, fall)-(i + dis, fall + 7), ccc, BF LINE (m, fall)-(m + dis, fall + 7), ccc, BF LINE (uu, fall)-(uu + dis, fall + 7), ccc, BF LINE (xx, fall)-(xx + dis, fall + 7), ccc, BF LINE (ii, fall)-(ii + dis, fall + 7), ccc, BF LINE (mm, fall)-(mm + dis, fall + 7), ccc, BF 'rotate targets to beginning of screen IF x > 640 THEN x = 0 IF u > 640 THEN u = 0 IF i > 640 THEN i = 0 IF m > 640 THEN m = 0 IF xx > 640 THEN xx = 0 IF uu > 640 THEN uu = 0 IF ii > 640 THEN ii = 0 IF mm > 640 THEN mm = 0 ' ---- targets move down or up randonly at random times rd = INT(RND * 500) IF rd = 25 THEN LINE (0, 0)-(640, 300), ccc, BF fall = INT(RND * 250) END IF x = x + dis u = u + dis m = m + dis i = i + dis xx = xx + dis uu = uu + dis mm = mm + dis ii = ii + dis ' draw targets going across the screen LINE (x, fall)-(x + r, fall + 7), h, BF LINE (i, fall)-(i + r, fall + 7), j, BF LINE (m, fall)-(m + r, fall + 7), k, BF LINE (uu, fall)-(uu + r, fall + 7), gg, BF LINE (xx, fall)-(xx + r, fall + 7), hh, BF LINE (ii, fall)-(ii + r, fall + 7), jj, BF LINE (mm, fall)-(mm + r, fall + 7), kk, BF 'Level up - fanfare to start next round IF s = 7 THEN b = 0 ball = ball + 12 IF ball > 12 THEN ball = 12 LINE (e, 310)-(e + 4, 320), ccc, BF PLAY music$ PLAY mus2$ PLAY mus$ PLAY mus3$ GOTO start END IF IF POINT(w + 3, d) <> ccc THEN IF POINT(w + 3, d) = h THEN h = ccc: s = s + 1: PLAY mus2$: score = score + 50 IF POINT(w + 3, d) = j THEN j = ccc: s = s + 1: PLAY mus3$: score = score + 50 IF POINT(w + 3, d) = k THEN k = ccc: s = s + 1: PLAY mus4$: score = score + 50 IF POINT(w + 3, d) = gg THEN gg = ccc: s = s + 1: PLAY mus1$: score = score + 50 IF POINT(w + 3, d) = hh THEN hh = ccc: s = s + 1: PLAY mus2$: score = score + 50 IF POINT(w + 3, d) = jj THEN jj = ccc: s = s + 1: PLAY mus3$: score = score + 50 IF POINT(w + 3, d) = kk THEN kk = ccc: s = s + 1: PLAY mus4$: score = score + 50 END IF IF POINT(w - 3, d) <> ccc THEN IF POINT(w - 3, d) = h THEN h = ccc: s = s + 1: PLAY mus2$: score = score + 50 IF POINT(w - 3, d) = j THEN j = ccc: s = s + 1: PLAY mus3$: score = score + 50 IF POINT(w - 3, d) = k THEN k = ccc: s = s + 1: PLAY mus4$: score = score + 50 IF POINT(w - 3, d) = gg THEN gg = ccc: s = s + 1: PLAY mus1$: score = score + 50 IF POINT(w - 3, d) = hh THEN hh = ccc: s = s + 1: PLAY mus2$: score = score + 50 IF POINT(w - 3, d) = jj THEN jj = ccc: s = s + 1: PLAY mus3$: score = score + 50 IF POINT(w - 3, d) = kk THEN kk = ccc: s = s + 1: PLAY mus4$: score = score + 50 END IF '------------------------------------------- IF a$ = " " THEN b = 1: w = e a$ = "" IF _KEYDOWN(CVI(CHR$(0) + "M")) THEN LINE (e, 310)-(e + 4, 320), ccc, BF e = e + Shot IF e > 630 THEN e = 630 LINE (e, 310)-(e + 4, 320), 0, BF END IF IF _KEYDOWN(CVI(CHR$(0) + "K")) THEN LINE (e, 310)-(e + 4, 320), ccc, BF e = e - Shot IF e < 10 THEN e = 5 LINE (e, 310)-(e + 4, 320), 0, BF END IF IF b = 1 THEN PAINT (w, d), ccc, ccc CIRCLE (w, d), 4, ccc d = d - Shot CIRCLE (w, d), 4, 15 PAINT (w, d), 15, 15 IF d < fall + 1 THEN LOCATE 25, 62 PRINT score; b = 0 PAINT (w, d), ccc, ccc CIRCLE (w, d), 4, ccc d = 270 w = 300 ball = ball - 1 IF ball < 0 THEN GOTO choice LINE (1, 335)-(400, 600), 0, BF FOR turns = 1 TO ball CIRCLE (turns * 15, 340), 4, 15 PAINT (turns * 15, 340), 7, 15 NEXT turns END IF END IF _DISPLAYWENDchoice:_AUTODISPLAYLOCATE 25, 25PRINT "Play again ? Y)es or N)o";PLAY "p64l64o4cbagfeo3cbagfeo2cbagfeo1cbagfe"c1:a$ = INKEY$IF LCASE$(a$) = "y" THEN: ccc = 1: GOTO newgameIF LCASE$(a$) = "n" THEN SYSTEMGOTO c1