COLOR 2, 0 sk = 1 mk = 1 aaaa: CLS p = 4 PRINT "*** FLYING THUNDER MAIN MENU ***" PRINT PRINT PRINT " -> new game <-" PRINT " enter code" PRINT " high score" PRINT " help" PRINT " sounds" PRINT " creaters" PRINT " music" PRINT " save game" PRINT " load game" PRINT " quit" LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) ii: i$ = INKEY$: IF i$ = "" THEN GOTO ii LOCATE p, 4: PRINT SPACE$(2): LOCATE p, 18: PRINT SPACE$(2) SELECT CASE i$ CASE CHR$(0) + "P": p = p + 1 CASE CHR$(0) + "H": p = p - 1 CASE " ", CHR$(13): GOSUB vv CASE CHR$(27): GOTO lopeta END SELECT IF p = 3 THEN p = 13 IF p = 14 THEN p = 4 LOCATE p, 4: PRINT "->": LOCATE p, 18: PRINT "<-" GOTO ii vv: IF p = 4 THEN GOTO ng IF p = 5 THEN GOTO ec IF p = 6 THEN GOTO hs IF p = 7 THEN GOTO help IF p = 8 THEN GOTO so IF p = 9 THEN GOTO cre IF p = 10 THEN GOTO mu IF p = 11 THEN GOTO save IF p = 12 THEN GOTO load IF p = 13 THEN GOTO lopeta RETURN ng: vi = 1000 p = 10 ap = 50 pe: CLS FOR p = 1 TO 65 IF sk = 1 THEN PLAY "o1t255l16c" LOCATE 10, 40 PRINT "wait....." LOCATE 16, p FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 15, p + 3 PRINT CHR$(219) LOCATE 17, p + 3 PRINT CHR$(219) FOR delay = 1 TO 1000: NEXT delay CLS NEXT p p = 10 INPUT "what's your name"; ni$ CLS a: IF v = 0 THEN IF INT(RND * 10) < 2 THEN vy = 70: GOSUB vihulainen LOCATE 1, 1: PRINT "arrows destroyed "; a; " ammunition left "; ap IF p = 1 THEN p = 2 IF p = 21 THEN p = 20 LOCATE p, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE p - 1, 4 PRINT CHR$(219) LOCATE p + 1, 4 PRINT CHR$(219) i: i$ = INKEY$ FOR delay = 1 TO vi: NEXT delay IF aa = 1 THEN GOSUB ammu CLS IF v = 1 THEN GOSUB vihulainen SELECT CASE i$ CASE CHR$(0) + "P": p = p + 1 CASE CHR$(0) + "H": p = p - 1 CASE "p", "P": GOSUB pause CASE " ": IF ap <> 0 THEN aa = 1: GOTO a CASE CHR$(27): GOTO aaaa END SELECT IF p = vx AND vy = 5 THEN GOTO loppu IF p + 1 = vx AND vy = 3 THEN GOTO loppu IF p - 1 = vx AND vy = 3 THEN GOTO loppu GOTO a ammu: aa = 0: IF sk = 1 THEN PLAY "o0l20t255cdecde" FOR i = 7 TO 70 LOCATE p, i: PRINT "*" FOR delay = 1 TO 50: NEXT delay LOCATE p, i: PRINT " " NEXT i IF p = vx THEN vi = vi - 5: v = 0: a = a + 1: ap = ap + 1 ap = ap - 1 RETURN vihulainen: vy = vy - 1 vvv: IF v = 0 THEN vx = INT(RND * 20) + 1 IF vx = 1 THEN GOTO vvv v = 1 IF vy = 0 THEN v = 0: RETURN LOCATE vx, vy: PRINT CHR$(174); CHR$(196) RETURN loppu: CLS ep = p FOR p = ep TO 24 LOCATE p, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE p - 1, 4 PRINT CHR$(219) LOCATE p + 1, 4 PRINT CHR$(219) FOR delay = 1 TO 1000: NEXT delay CLS NEXT p PRINT "you died." IF mk = 1 THEN PLAY "l5t255o2c....cc>l1c....l1c....<" IF mk = 1 THEN PLAY "c...." GOSUB high RUN ec: CLS PRINT " *** ENTER CODE ***" PRINT PRINT LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) LOCATE 5, 5 INPUT "ENTER CODE"; c$ IF c$ = "zzaap" THEN vi = 1000: ap = 1000: GOTO pe IF c$ = "killer" THEN vi = 100: ap = 10: GOTO pe IF c$ = "lazy" THEN vi = 5000: ap = 10000: GOTO pe PRINT "sorry, wrong code" FOR delay = 1 TO 10000: NEXT delay RUN hs: f$ = "c:\masaltd\flythun.hi" OPEN f$ FOR INPUT AS #1 LINE INPUT #1, et$ LINE INPUT #1, en$ CLOSE #1 CLS PRINT " *** HIGH SCORE ***" PRINT PRINT PRINT " "; et$; " "; en$ PRINT PRINT PRINT "Press any key." LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) iii: i$ = INKEY$: IF i$ = "" THEN GOTO iii RUN hs2: high: f$ = "c:\masaltd\flythun.hi" OPEN f$ FOR INPUT AS #1 LINE INPUT #1, et$ LINE INPUT #1, en$ CLOSE #1 FOR i = 1 TO 10 IF a > VAL(en$) THEN GOSUB nhigh NEXT i SLEEP 3 RETURN nhigh: f$ = "c:\masaltd\flythun.hi" PRINT "NEW HIGH SCORE!!!" KILL f$ OPEN f$ FOR OUTPUT AS #1 PRINT #1, ni$ PRINT #1, a CLOSE #1 RETURN help: CLS PRINT " *** HELP ***" SHELL "type c:\thunder\flyohje.txt|more" RUN so: p = 3 so2: CLS PRINT " *** SOUNDS ***" PRINT PRINT " yes" PRINT " no" PRINT " cancel" LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) LOCATE p, 4: PRINT "->": LOCATE p, 15: PRINT "<-" iiiii: i$ = INKEY$: IF i$ = "" THEN GOTO iiiii SELECT CASE i$ CASE CHR$(0) + "P": p = p + 1 CASE CHR$(0) + "H": p = p - 1 CASE " ", CHR$(13): GOTO tark END SELECT IF p = 2 THEN p = 5 IF p = 6 THEN p = 3 GOTO so2 GOTO iiiii tark: IF p = 3 THEN sk = 1: p = 8: GOTO aaaa IF p = 4 THEN sk = 0: p = 8: GOTO aaaa IF p = 5 THEN GOTO aaaa GOTO iiiii pause: CLS LOCATE 20, 20 PRINT "game paused." PRINT " press any key to continue" LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) iiiiiii: i$ = INKEY$: IF i$ = "" THEN GOTO iiiiiii RETURN cre: CLS PRINT " *** CREATERS ***" LOCATE 5, 5: PRINT "programming:" LOCATE 6, 1: PRINT "Matti Virkkunen" LOCATE 8, 3: PRINT "English text:" LOCATE 9, 1: PRINT "Arja Ruuhinen" DO IF mk = 1 THEN PLAY "o4t200l8c...cc>c...<" IF mk = 1 THEN PLAY "ec" LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) LOOP WHILE INKEY$ = "" GOTO aaaa lopeta: CLS PRINT " *** QUIT ***" LOCATE 5, 10 IF sk = 1 THEN BEEP PRINT "ARE YOU SURE YOU WANT TO QUIT???" PRINT " (Y/N)" LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) s: i$ = INKEY$: IF i$ = "" THEN GOTO s IF i$ = "N" OR i$ = "n" THEN RUN IF i$ <> "Y" AND i$ <> "y" THEN GOTO lopeta END mu: p = 3 mu2: CLS PRINT " *** MUSIC ***" PRINT PRINT " yes" PRINT " no" PRINT " cancel" LOCATE p, 4: PRINT "->": LOCATE p, 15: PRINT "<-" LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) iiiiii: i$ = INKEY$: IF i$ = "" THEN GOTO iiiiii SELECT CASE i$ CASE CHR$(0) + "P": p = p + 1 CASE CHR$(0) + "H": p = p - 1 CASE " ", CHR$(13): GOTO tark2 END SELECT IF p = 2 THEN p = 5 IF p = 6 THEN p = 3 GOTO mu2 GOTO iiiiii tark2: IF p = 3 THEN mk = 1: p = 8: GOTO aaaa IF p = 4 THEN mk = 0: p = 8: GOTO aaaa IF p = 5 THEN GOTO aaaa GOTO iiiiii save: CLS PRINT " *** SAVE GAME ***" PRINT PRINT LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) LOCATE 4, 1 INPUT "file name"; fi$ fi2$ = "c:\thunder\" + fi$ + ".sav" OPEN fi2$ FOR OUTPUT AS #1 PRINT #1, a PRINT #1, p PRINT #1, vx PRINT #1, vy PRINT #1, v PRINT #1, ap PRINT #1, vi CLOSE #1 RUN load: CLS PRINT " *** LOAD GAME ***" PRINT PRINT LOCATE 20, 1 FOR i = 1 TO 4 PRINT CHR$(219); NEXT i PRINT CHR$(177); CHR$(180) LOCATE 19, 4 PRINT CHR$(219) LOCATE 21, 4 PRINT CHR$(219) LOCATE 20, 40: PRINT CHR$(174); CHR$(196) LOCATE 15, 15: PRINT CHR$(174); CHR$(196) LOCATE 4, 1 INPUT "file name"; fi$ fi2$ = "c:\thunder\" + fi$ + ".sav" OPEN fi2$ FOR INPUT AS #2 LINE INPUT #2, a$ LINE INPUT #2, p$ LINE INPUT #2, vx$ LINE INPUT #2, vy$ LINE INPUT #2, v$ LINE INPUT #2, ap$ LINE INPUT #2, vi$ a = VAL(a$) p = VAL(p$) vx = VAL(vx$) vy = VAL(vy$) v = VAL(v$) ap = VAL(ap$) vi = VAL(vi$) CLOSE #2 GOTO pe