'=========================================================================== ' Subject: FIGHTER ATTACK! Date: 06-11-96 (18:55) ' Author: Brian Hof/Connor Reynolds Code: QB, QBasic, PDS ' Origin: dean@marshallnet.com Packet: GAMES.ABC '=========================================================================== BEGIN: CLS COLOR 12: PRINT "Micro"; : COLOR 11: PRINT "Hof"; : COLOR 14: PRINT " presents..." COLOR 10 PRINT PRINT "Fighter Attack! "; : COLOR 2: PRINT "v1.0"; : COLOR 9: PRINT " by"; : COLOR 11: PRINT " Brian Hof" COLOR 10 PRINT "---------------------" PRINT COLOR 7 PRINT " There you are, on your starbase, when WHAM! Here comes an attack of TIE" PRINT "fighters! You hop into your trusty X-Wing and take off to destroy the little" PRINT "boogers." PRINT " An endless stream of TIE's will fly toward you. Navigate around, and" PRINT "fire at the suckers, and if you're lucky, you'll hit one. Be careful, they" PRINT "chase you around no matter where you move to. And, LOOK OUT for their fire!" PRINT "Firing a Proton Torpedo will stop the TIE fighters for a short amount of time," PRINT "and disarm them for awhile." PRINT " At random time intervals, power-ups will appear near you. Here's a list" PRINT "of their functions :" PRINT COLOR 9 PRINT ""; : COLOR 15: PRINT " ="; : COLOR 9: PRINT " Shields Up"; : COLOR 4: PRINT "  "; : COLOR 15: PRINT "= "; : COLOR 4 PRINT "Fire Power Up "; : COLOR 14: PRINT " í"; : COLOR 15: PRINT " ="; : COLOR 14 PRINT " Score + 10"; : COLOR 10: PRINT " +"; : COLOR 15: PRINT " ="; : COLOR 10: PRINT " Proton Torpedo" PRINT COLOR 14 PRINT " ARROW KEYS = Navigate ESCAPE = Quit " PRINT " SPACE BAR = Fire Blaster ENTER = Fire P.T. P = Pause" PRINT PRINT COLOR 9: PRINT "May the Force be with you. Watch your shields! "; : COLOR 8: PRINT " Hit a key..." DO: B$ = INKEY$: LOOP UNTIL NOT B$ = "" CLS COLOR 6 PRINT "How many TIE's do you want coming at you at a time?"; : COLOR 14: PRINT " (3-15)" LOCATE 23, 1 COLOR 8 PRINT "Programmed and compiled using"; : COLOR 7: PRINT " QuickBasic"; : COLOR 8: PRINT " v4.5." PRINT "TIE Fighters, X-Wings, and the Force are copyrights of"; : COLOR 7: PRINT " Lucasfilm, Ltd"; : COLOR 8: PRINT "."; LOCATE 3, 1 COLOR 9 PRINT "The more, the merrier!" LOCATE 2, 1 COLOR 5 PRINT "Number of fighters "; : COLOR 13: PRINT "[ENTER=10]"; : COLOR 5: PRINT " : "; COLOR 15 INPUT "", MAX IF MAX > 15 THEN MAX = 15 IF MAX = 1 OR MAX = 2 THEN MAX = 3 IF MAX < 1 THEN MAX = 10 LOCATE 5, 1 COLOR 2 PRINT "Select Skill Level :" COLOR 10 PRINT "------------------" COLOR 12 PRINT "(1)"; : COLOR 4: PRINT " Novice" COLOR 12 PRINT "(2)"; : COLOR 4: PRINT " Amateur" COLOR 12 PRINT "(3)"; : COLOR 4: PRINT " Expert" PRINT STARTAGAIN: DO: B$ = INKEY$: LOOP UNTIL B$ = "1" OR B$ = "2" OR B$ = "3" SKILL = VAL(B$) SCORE = 0 KILLS = 0 SHIELDS = 10 IF SKILL = 1 THEN SHIELDFACT = 2 IF SKILL = 2 THEN SHIELDFACT = 1 IF SKILL = 3 THEN SHIELDFACT = .5 IF SKILL = 1 THEN LASERFACT = 20 IF SKILL = 2 THEN LASERFACT = 15 IF SKILL = 3 THEN LASERFACT = 10 IF SKILL = 1 THEN PROTONS = 3 IF SKILL = 2 THEN PROTONS = 2 IF SKILL = 3 THEN PROTONS = 1 IF SKILL = 1 THEN LASER = 75 IF SKILL = 2 THEN LASER = 60 IF SKILL = 3 THEN LASER = 50 COLOR 5 PRINT "Skill level"; SKILL; " :" COLOR 13 PRINT "-------------" COLOR 14 PRINT "Initial Fire Power ="; : COLOR 9: PRINT LASER; : COLOR 14: PRINT " Initial P.T.'s ="; : COLOR 9: PRINT PROTONS COLOR 14 PRINT "Fire Power Up = "; : COLOR 9: PRINT LASERFACT; : COLOR 14: PRINT " Shield Power Up ="; : COLOR 9: PRINT SHIELDFACT COLOR 8 PRINT PRINT "Accept? "; : COLOR 15: PRINT "["; : COLOR 9: PRINT "Y"; : COLOR 14: PRINT "/"; : COLOR 9: PRINT "N"; : COLOR 15: PRINT "]"; DO: B$ = INKEY$: B$ = UCASE$(B$): LOOP UNTIL B$ = "Y" OR B$ = "N" IF B$ = "N" THEN LOCATE 11, 1 PRINT STRING$(79, " "); LOCATE 12, 1 PRINT STRING$(79, " "); LOCATE 13, 1 PRINT STRING$(79, " "); LOCATE 14, 1 PRINT STRING$(79, " "); LOCATE 16, 1 PRINT STRING$(79, " "); LOCATE 11, 1 GOTO STARTAGAIN END IF CLS LOCATE 23, 1 PRINT STRING$(80, " "); LOCATE 23, 1 COLOR 14, 1 PRINT " Shields"; : COLOR 15: PRINT " :"; : COLOR 8: PRINT " ["; : COLOR 11: PRINT "()()()()()()()()()()"; : COLOR 8: PRINT "]"; : COLOR 14: PRINT " Fire Power "; COLOR 15: PRINT ":"; : COLOR 8: PRINT " ["; : COLOR 11: PRINT "50"; : COLOR 8: PRINT "] "; : COLOR 14: PRINT " Proton Torpedoes"; : COLOR 15: PRINT " : "; : COLOR 8: PRINT "["; : COLOR 11: PRINT "+++"; : COLOR 8: PRINT "] " COLOR 0 PRINT "Ä" + STRING$(78, "Ä") + "Ä"; LOCATE 25, 1 PRINT STRING$(80, " "); LOCATE 25, 1 COLOR 15 PRINT " Score"; : COLOR 14: PRINT " : "; : COLOR 8: PRINT "["; COLOR 12: PRINT "0"; : COLOR 8: PRINT "]"; : COLOR 15: PRINT " Kills"; COLOR 14: PRINT " :"; : COLOR 8: PRINT " ["; : COLOR 12: PRINT "0"; COLOR 8: PRINT "] "; : COLOR 12, 1: PRINT " Micro"; : COLOR 11: PRINT "Hof"; COLOR , 0 GOSUB RESCORE RANDOMIZE TIMER MAXFIR = 10 REDIM SX(40) REDIM SY(40) REDIM SC(40) REDIM SCHAR$(40) REDIM HITS(MAX) REDIM TIEx(MAX) REDIM TIEy(MAX) REDIM FIRE$(MAX) REDIM Fx(MAX) REDIM Fy(MAX) REDIM TFBACK(MAX) REDIM TFBACKCOL(MAX) REDIM FIREY$(MAXFIR) REDIM YFx(MAXFIR) REDIM YFy(MAXFIR) REDIM FBACK(MAXFIR) REDIM FBACKCOL(MAXFIR) REDIM TBACK(MAX) REDIM TBACKCOL(MAX) FOR I = 1 TO MAXFIR FIREY$(I) = "NO" NEXT I Y = 11 X = 1 FOR I = 1 TO 40 SY(I) = INT(RND * 22) + 1 SX(I) = INT(RND * 79) + 1 SC(I) = INT(RND * 3) + 1 SCHAR = INT(RND * 3) IF SCHAR = 1 THEN SCHAR$(I) = "." IF SCHAR = 2 THEN SCHAR$(I) = "+" IF SCHAR = 3 THEN SCHAR$(I) = "ù" IF SC(I) = 1 THEN SC(I) = 8 IF SC(I) = 2 THEN SC(I) = 7 IF SC(I) = 3 THEN SC(I) = 15 COLOR SC(I): LOCATE SY(I), SX(I): PRINT SCHAR$(I); NEXT I YBACK = SCREEN(11, 1, 0) YBACKCOL = SCREEN(11, 1, 1) FOR I = 1 TO MAX TIEx(I) = INT(RND * 50) + 30 TIEy(I) = INT(RND * 22) + 1 TIEF = INT(RND * 2) IF TIEF = 1 THEN FIRE$(I) = "YES" IF TIEF = 0 THEN FIRE$(I) = "NO" TBACK(I) = SCREEN(TIEy(I), TIEx(I), 0) TBACKCOL(I) = SCREEN(TIEy(I), TIEx(I), 1) COLOR 8 LOCATE TIEy(I), TIEx(I): PRINT "è"; NEXT I PLAY "MF" LOCATE Y, X: COLOR 7: PRINT "X"; PX = 1 PY = 1 WAITTILL = TIMER PROTONOUT$ = "NO" CRAP = TIMER DO IF TIMER > CRAP + 30 THEN FOR I = 1 TO 40 COLOR SC(I) LOCATE SY(I), SX(I) PRINT SCHAR$(I); NEXT I CRAP = TIMER END IF IF TIMER > WAITTILL + 10 THEN WAITTILL = TIMER PLAY "L32A" LOCATE PY, PX: PRINT " "; PICKOVER: PY = INT(RND * 22) + 1 PX = INT(RND * 10) + 1 IF CHR$(SCREEN(PY, PX)) = "+" OR CHR$(SCREEN(PY, PX)) = "." OR CHR$(SCREEN(PY, PX)) = "ù" THEN GOTO PICKOVER IF Y = PY AND X = PX THEN GOTO PICKOVER TYP = INT(RND * 10) + 1 IF LASER < 10 THEN COLOR 4 LOCATE PY, PX: PRINT ""; GOTO SKIPDAT END IF IF SHIELDS < 1 THEN COLOR 9 LOCATE PY, PX: PRINT ""; GOTO SKIPDAT END IF IF TYP = 2 OR TYP = 5 OR TYP = 9 THEN COLOR 4 LOCATE PY, PX: PRINT ""; END IF IF TYP = 1 OR TYP = 7 OR TYP = 6 THEN COLOR 9 LOCATE PY, PX: PRINT ""; END IF IF TYP = 3 OR TYP = 8 THEN COLOR 14 LOCATE PY, PX: PRINT "í"; END IF IF TYP = 4 OR TYP = 10 THEN COLOR 10 LOCATE PY, PX: PRINT "+"; END IF SKIPDAT: ZZ = 0 END IF FOR I = 1 TO MAX B$ = INKEY$ IF UCASE$(B$) = "P" THEN COLOR 31, 1 LOCATE 25, 47: PRINT "[ PAUSED ]"; DO: G$ = INKEY$: LOOP UNTIL G$ <> "" LOCATE 25, 47 PRINT " "; COLOR 7, 0 END IF IF B$ = CHR$(0) + "K" OR B$ = CHR$(0) + "M" OR B$ = CHR$(0) + "H" OR B$ = CHR$(0) + "P" THEN LOCATE Y, X COLOR YBACKCOL PRINT CHR$(YBACK); IF B$ = CHR$(0) + "K" THEN X = X - 1 IF B$ = CHR$(0) + "M" THEN X = X + 1 IF B$ = CHR$(0) + "H" THEN Y = Y - 1 IF B$ = CHR$(0) + "P" THEN Y = Y + 1 IF X = 0 THEN X = 1 IF Y = 0 THEN Y = 1 IF X = 21 THEN X = 20 IF Y = 23 THEN Y = 22 YBACK = SCREEN(Y, X, 0) YBACKCOL = SCREEN(Y, X, 1) IF YBACK = 232 AND PROTONOUT$ = "NO" THEN SHIELDS = SHIELDS - 1 GOSUB RESCORE YBACK = 32 YBACKCOL = 7 END IF IF YBACK = 237 THEN IF NOT SCORE + 10 > 9999999 THEN SCORE = SCORE + 10 GOSUB RESCORE YBACK = 32 PLAY "L32C" END IF IF YBACK = 3 THEN LASER = LASER + LASERFACT IF LASER > 100 THEN LASER = 100 GOSUB RESCORE YBACK = 32 PLAY "L32C" END IF IF YBACK = 15 THEN SHIELDS = SHIELDS + SHIELDFACT IF SHIELDS > 10 THEN SHIELDS = 10 GOSUB RESCORE YBACK = 32 PLAY "L32C" END IF IF YBACK = ASC("+") AND YBACKCOL = 10 THEN PROTONS = PROTONS + 1 GOSUB RESCORE IF PROTONS = 4 THEN PROTONS = 3 YBACK = 32 PLAY "L32C" END IF IF YBACK = ASC("X") OR YBACK = ASC("Í") OR YBACK = ASC("=") THEN YBACK = 32 LOCATE Y, X COLOR 7 PRINT "X"; END IF IF B$ = CHR$(27) THEN GOTO QUIT IF B$ = CHR$(13) AND PROTONS > 0 AND PROTONOUT$ = "NO" THEN PROTONOUT$ = "YES" YYY = TIMER PROTONS = PROTONS - 1 IF PROTONS < 0 THEN PROTONS = 0 GOSUB RESCORE END IF IF B$ = CHR$(32) AND LASER > 0 THEN FOR G = 1 TO MAXFIR IF FIREY$(G) = "NO" THEN FIREY$(G) = "YES" LASER = LASER - 1 GOSUB RESCORE YFx(G) = X + 1 YFy(G) = Y FBACK(G) = SCREEN(YFy(G), YFx(G), 0) FBACKCOL(G) = SCREEN(YFy(G), YFx(G), 1) IF FBACK(G) = 205 THEN FBACK(G) = 32: FBACKCOL(G) = 7 IF FBACK(G) = 232 THEN FOR U = 1 TO MAX IF TIEy(U) = YFy(G) AND TIEx(U) = YFx(G) THEN GOTO OUTTOF22 NEXT U OUTTOF22: LOCATE TIEy(U), TIEx(U) COLOR TBACKCOL(U) PRINT CHR$(TBACK(U)); TIEy(U) = INT(RND * 22) + 1 TIEx(U) = 80 TBACK(U) = 32 TBACKCOL(U) = 7 IF FIRE$(U) = "YES" THEN LOCATE Fy(U), Fx(U) COLOR TFBACKCOL(U) PRINT CHR$(TFBACK(U)); END IF Fy(U) = TIEy(U) Fx(U) = TIEx(U) YG = INT(RND * 2) FIRE$(U) = "NO" IF YG = 1 AND PROTONOUT$ = "NO" THEN FIRE$(U) = "YES" YFy(G) = 0 YFx(G) = 0 FIREY$(G) = "NO" KILLS = KILLS + 1 IF NOT SCORE + 10 > 9999999 THEN SCORE = SCORE + 10 GOSUB RESCORE END IF GOTO SHOTIT END IF NEXT G END IF SHOTIT: IF PROTONOUT$ = "YES" THEN IF TIMER > YYY + 10 THEN PROTONOUT$ = "NO" END IF IF PROTONOUT$ = "YES" THEN GOTO PROTONPAUSE LOCATE TIEy(I), TIEx(I) COLOR TBACKCOL(I), 0 PRINT CHR$(TBACK(I)); TIEx(I) = TIEx(I) - 1 IF INT(RND * 15) + 1 = 5 THEN IF Y < TIEy(I) THEN TIEy(I) = TIEy(I) - 1 IF Y > TIEy(I) THEN TIEy(I) = TIEy(I) + 1 END IF IF TIEy(I) = 0 THEN TIEy(I) = 1 IF TIEy(I) = 23 THEN TIEy(I) = 22 IF TIEx(I) = 0 THEN TIEx(I) = 80 TIEy(I) = INT(RND * 22) + 1 YG = INT(RND * 2) IF YG = 0 THEN FIRE$(I) = "YES" IF YG = 1 THEN FIRE$(I) = "NO" Fy(I) = TIEy(I) Fx(I) = TIEx(I) END IF COLOR 8 TBACK(I) = SCREEN(TIEy(I), TIEx(I), 0) TBACKCOL(I) = SCREEN(TIEy(I), TIEx(I), 1) IF TBACK(I) = 232 OR TBACK(I) = 205 THEN TBACK(I) = 32: TBACKCOL(I) = 0 IF TBACK(I) = ASC("X") THEN TBACK(I) = 32 SHIELDS = SHIELDS - 1 IF SHIELDS < 0 THEN GOTO DEAD SCORE = SCORE - 50 IF SCORE < 0 THEN SCORE = 0 GOSUB RESCORE END IF IF TBACK(I) = ASC("=") THEN U = 0 FOR U = 1 TO MAXFIR IF TIEy(I) = YFy(U) AND TIEx(I) = YFx(U) THEN GOTO OUTTOF NEXT U OUTTOF: LOCATE YFy(U), YFx(U) COLOR FBACKCOL(U) PRINT CHR$(FBACK(U)); YFy(U) = 0 YFx(U) = 0 FIREY$(U) = "NO" TIEy(I) = INT(RND * 22) + 1 TIEx(I) = 80 TBACK(I) = 32 TBACKCOL(I) = 7 IF FIRE$(I) = "YES" THEN LOCATE Fy(I), Fx(I) COLOR TFBACKCOL(I) PRINT CHR$(TFBACK(I)); END IF Fy(I) = TIEy(I) Fx(I) = TIEx(I) YG = INT(RND * 2) FIRE$(I) = "NO" IF YG = 1 AND PROTONOUT$ = "NO" THEN FIRE$(I) = "YES" KILLS = KILLS + 1 IF NOT SCORE + 10 > 9999999 THEN SCORE = SCORE + 10 GOSUB RESCORE GOTO SHOTONE END IF COLOR 8 LOCATE TIEy(I), TIEx(I): PRINT "è"; SHOTONE: PROTONPAUSE: NEXT I FOR I = 1 TO MAX IF FIRE$(I) = "YES" AND Fy(I) = 0 OR FIRE$(I) = "YES" AND Fx(I) = 0 THEN Fy(I) = TIEy(I) Fx(I) = TIEx(I) TFBACK(I) = 32 TFBACKCOL(I) = 8 END IF NEWSHOT: IF FIRE$(I) = "NO" THEN GOTO SKIPFIRE LOCATE Fy(I), Fx(I): COLOR TFBACKCOL(I): PRINT CHR$(TFBACK(I)); Fx(I) = Fx(I) - 1 IF Fx(I) = 0 THEN IF PROTONOUT$ = "YES" THEN FIRE$(I) = "NO": GOTO SKIPFIRE Fy(I) = TIEy(I) Fx(I) = TIEx(I) IF TIEx(I) < 10 THEN FIRE$(I) = "NO" TFBACK(I) = 232 TFBACKCOL(I) = 8 GOTO NEWSHOT END IF TFBACK(I) = SCREEN(Fy(I), Fx(I), 0) IF TFBACK(I) = 205 OR TFBACK(I) = ASC("=") THEN TFBACK(I) = 32 IF TFBACK(I) = 232 AND PROTONOUT$ = "NO" THEN TFBACK(I) = 32 IF TFBACK(I) = ASC("X") THEN TFBACK(I) = 32 FIRE$(I) = "NO" SHIELDS = SHIELDS - .5 GOSUB RESCORE GOTO NEWSHOT END IF TFBACKCOL(I) = SCREEN(Fy(I), Fx(I), 1) LOCATE Fy(I), Fx(I) COLOR 10 PRINT "Í"; LOCATE Fy(I), Fx(I): COLOR TFBACKCOL(I): PRINT CHR$(TFBACK(I)); Fx(I) = Fx(I) - 1 IF Fx(I) = 0 THEN IF PROTONOUT$ = "YES" THEN FIRE$(I) = "NO": GOTO SKIPFIRE Fy(I) = TIEy(I) Fx(I) = TIEx(I) IF TIEx(I) < 10 THEN FIRE$(I) = "NO" TFBACK(I) = 232 TFBACKCOL(I) = 8 GOTO NEWSHOT END IF TFBACK(I) = SCREEN(Fy(I), Fx(I), 0) IF TFBACK(I) = 205 OR TFBACK(I) = ASC("=") THEN TFBACK(I) = 32 IF TFBACK(I) = 232 AND PROTONOUT$ = "NO" THEN TFBACK(I) = 32 IF TFBACK(I) = ASC("X") THEN TFBACK(I) = 32 FIRE$(I) = "NO" SHIELDS = SHIELDS - .5 GOSUB RESCORE GOTO NEWSHOT END IF TFBACKCOL(I) = SCREEN(Fy(I), Fx(I), 1) LOCATE Fy(I), Fx(I) COLOR 10 PRINT "Í"; SKIPFIRE: NEXT I FOR G = 1 TO MAXFIR IF FIREY$(G) = "NO" THEN GOTO ONEPASSED LOCATE YFy(G), YFx(G): COLOR FBACKCOL(G): PRINT CHR$(FBACK(G)) YFx(G) = YFx(G) + 1 IF YFx(G) = 81 THEN FIREY$(G) = "NO": GOSUB ONEPAST FBACK(G) = SCREEN(YFy(G), YFx(G), 0) FBACKCOL(G) = SCREEN(YFy(G), YFx(G), 1) IF FBACK(G) = 205 OR FBACK(G) = ASC("X") OR FBACK(G) = ASC("=") THEN FBACK(G) = 32 IF FBACK(G) = 232 THEN FOR U = 1 TO MAX IF TIEy(U) = YFy(G) AND TIEx(U) = YFx(G) THEN GOTO OUTTOF2 NEXT U OUTTOF2: IF U > MAX THEN LOCATE YFy(G), YFx(G) PRINT " "; GOTO SKIPTIE END IF LOCATE TIEy(U), TIEx(U) COLOR TBACKCOL(U) PRINT CHR$(TBACK(U)); TIEy(U) = INT(RND * 22) + 1 TIEx(U) = 80 TBACK(U) = 32 TBACKCOL(U) = 7 IF FIRE$(U) = "YES" THEN LOCATE Fy(U), Fx(U) COLOR TFBACKCOL(U) PRINT CHR$(TFBACK(U)); END IF YG = INT(RND * 2) FIRE$(U) = "NO" IF YG = 1 AND PROTONOUT$ = "NO" THEN FIRE$(U) = "YES" Fy(U) = TIEy(U) Fx(U) = TIEx(U) SKIPTIE: YFy(G) = 0 YFx(G) = 0 FIREY$(G) = "NO" KILLS = KILLS + 1 IF NOT SCORE + 10 > 9999999 THEN SCORE = SCORE + 10 GOSUB RESCORE GOTO ONEPASSED END IF COLOR 4 LOCATE YFy(G), YFx(G) PRINT "="; ONEPASSED: NEXT G PLAY "MFP16" COLOR 7 LOCATE Y, X: PRINT "X"; LOOP RESCORE: IF PROTONS > 3 THEN PROTONS = 3 IF SHIELDS < 0 THEN GOTO DEAD SHIELD$ = "()()()()()()()()()()" LASER$ = LTRIM$(RTRIM$(STR$(LASER))) Proton$ = STRING$(PROTONS, "+") + STRING$(3 - PROTONS, " ") SCORE$ = LTRIM$(RTRIM$(STR$(SCORE))) KILLS$ = LTRIM$(RTRIM$(STR$(KILLS))) LOCATE 23, 13 COLOR 11, 1 'PRINT SHIELD$ PRINT LEFT$(SHIELD$, 2 * SHIELDS); : COLOR 0: PRINT RIGHT$(SHIELD$, 2 * (10 - SHIELDS)); LOCATE 23, 49 COLOR 8: PRINT "["; : COLOR 11: PRINT LASER$; : COLOR 8: PRINT "] "; LOCATE 23, 75 COLOR 11 PRINT Proton$; LOCATE 25, 10 COLOR 8 PRINT "["; : COLOR 12: PRINT SCORE$; : COLOR 8: PRINT "]"; LOCATE 25, 28 PRINT "["; : COLOR 12: PRINT KILLS$; : COLOR 8: PRINT "]"; COLOR , 0 RETURN ONEPAST: FIREY$(G) = "NO" LOCATE YFy(G), 80 PRINT " "; YFx(G) = 0 YFy(G) = 0 FBACK(G) = 0 FBACKCOL(G) = 0 RETURN ONEPASSED: DEAD: GOSUB TOPTEN CLS COLOR 10 PRINT " TOP TEN SCORES " COLOR 2 PRINT " --- --- ------" OPEN "ATTACK!.TTL" FOR INPUT AS #1 FOR I = 1 TO 10 INPUT #1, A$ INPUT #1, A AA$ = LTRIM$(RTRIM$(STR$(A))) COLOR 9 IF I = FACT - 1 THEN COLOR 11 PRINT A$; : COLOR 7: PRINT STRING$(40 - LEN(A$) - LEN(AA$), "."); : COLOR 12: PRINT AA$ NEXT I CLOSE PRINT COLOR 8 PRINT "Press"; : COLOR (8 + 16): PRINT " ESC "; : COLOR 8: PRINT "to continue..." DO: B$ = INKEY$: LOOP UNTIL B$ = CHR$(27) CLS COLOR 4 PRINT "You"; : COLOR 20: PRINT " DIED!"; : COLOR 4: PRINT " How could you?!"; : COLOR 12: PRINT " Better luck next time." PRINT COLOR 2 PRINT "Final Score :"; : COLOR 10: PRINT SCORE COLOR 2 PRINT "Total Kills :"; : COLOR 10: PRINT KILLS COLOR 5: PRINT STRING$(79, "Ä") COLOR 14 PRINT "Thank you for playing"; : COLOR 2: PRINT " *"; : COLOR 10: PRINT "Fighter Attack!"; : COLOR 2: PRINT "*"; : COLOR 14: PRINT " by "; : COLOR 12: PRINT "Micro"; : COLOR 11: PRINT "Hof"; : COLOR 14: PRINT "!"; COLOR 5: PRINT STRING$(79, "Ä") COLOR 12 PRINT "Micro"; : COLOR 11: PRINT "Hof"; : COLOR 14: PRINT " is "; : COLOR 4: PRINT " For more product info, write :" PRINT "-----------"; : COLOR 12: PRINT " Brian Hof" COLOR 11: PRINT "*"; : COLOR 9: PRINT " Brian Hof"; : COLOR 12: PRINT " 212 S 11 St " COLOR 11: PRINT "*"; : COLOR 9: PRINT " Connor Reynolds"; : COLOR 12: PRINT " Marshalltown, IA 50158" COLOR 5: PRINT STRING$(79, "Ä") COLOR 15 PRINT "OR write to "; : COLOR 8: PRINT ":"; : COLOR 12: PRINT " dean"; : COLOR 4: PRINT "@"; : COLOR 12: PRINT "marshallnet.com" COLOR 5: PRINT STRING$(79, "Ä") COLOR 7 END END QUIT: GOSUB TOPTEN CLS COLOR 10 PRINT " TOP TEN SCORES " COLOR 2 PRINT " --- --- ------" OPEN "ATTACK!.TTL" FOR INPUT AS #1 FOR I = 1 TO 10 INPUT #1, A$ INPUT #1, A AA$ = LTRIM$(RTRIM$(STR$(A))) COLOR 9 IF I = FACT - 1 THEN COLOR 11 PRINT A$; : COLOR 7: PRINT STRING$(40 - LEN(A$) - LEN(AA$), "."); : COLOR 12: PRINT AA$ NEXT I CLOSE PRINT COLOR 8 PRINT "Press"; : COLOR (8 + 16): PRINT " ESC "; : COLOR 8: PRINT "to continue..." DO: B$ = INKEY$: LOOP UNTIL B$ = CHR$(27) CLS COLOR 5: PRINT STRING$(79, "Ä") COLOR 14 PRINT "Thank you for playing"; : COLOR 2: PRINT " *"; : COLOR 10: PRINT "Fighter Attack!"; : COLOR 2: PRINT "*"; : COLOR 14: PRINT " by "; : COLOR 12: PRINT "Micro"; : COLOR 11: PRINT "Hof"; : COLOR 14: PRINT "!"; COLOR 5: PRINT STRING$(79, "Ä") COLOR 2 PRINT "Final Score :"; : COLOR 10: PRINT SCORE; : COLOR 14: PRINT " Nice Aim!" COLOR 2 PRINT "Total Kills :"; : COLOR 10: PRINT KILLS COLOR 5: PRINT STRING$(79, "Ä") COLOR 12 PRINT "Micro"; : COLOR 11: PRINT "Hof"; : COLOR 14: PRINT " is "; : COLOR 4: PRINT " For more product info, write :" PRINT "-----------"; : COLOR 12: PRINT " Brian Hof" COLOR 11: PRINT "*"; : COLOR 9: PRINT " Brian Hof"; : COLOR 12: PRINT " 212 S 11 St " COLOR 11: PRINT "*"; : COLOR 9: PRINT " Connor Reynolds"; : COLOR 12: PRINT " Marshalltown, IA 50158" COLOR 5: PRINT STRING$(79, "Ä") COLOR 12 COLOR 15 PRINT "OR write to "; : COLOR 8: PRINT ":"; : COLOR 12: PRINT " dean"; : COLOR 4: PRINT "@"; : COLOR 12: PRINT "marshallnet.com" COLOR 5: PRINT STRING$(79, "Ä") COLOR 7 END TOPTEN: REDIM TSCORE(11) REDIM TSCORE$(11) REDIM TEMPSC(10) REDIM TEMPSC$(10) OPEN "ATTACK!.TTL" FOR RANDOM AS #1 CLOSE PEWP: OPEN "ATTACK!.TTL" FOR INPUT AS #1 FOR I = 1 TO 10 IF EOF(1) THEN CLOSE OPEN "ATTACK!.TTL" FOR OUTPUT AS #1 FOR Z = 1 TO 10 PRINT #1, "Empty" PRINT #1, "0" NEXT Z CLOSE GOTO PEWP END IF INPUT #1, TSCORE$(I) INPUT #1, TSCORE(I) NEXT I CLOSE #1 IF SCORE = 0 THEN GOTO SKIPTHIS FOR I = 1 TO 10 IF SCORE >= TSCORE(I) THEN TEMPSC(I) = SCORE: FACT = I: GOTO DONEHERE TEMPSC(I) = TSCORE(I) TEMPSC$(I) = TSCORE$(I) NEXT I IF I = 10 THEN RETURN DONEHERE: CLS COLOR 13 PRINT "You made a high score!" RETRY: COLOR 4 PRINT "Enter your name"; : COLOR 12: PRINT " (20 characters)"; : COLOR 8: PRINT " : "; COLOR 15 INPUT "", TEMPSC$(FACT) IF LEN(TEMPSC$(FACT)) > 20 THEN GOTO RETRY FACT = FACT + 1 FOR I = FACT TO 10 TEMPSC(I) = TSCORE(I - 1) TEMPSC$(I) = TSCORE$(I - 1) NEXT I HEH: KILL "ATTACK!.TTL" OPEN "ATTACK!.TTL" FOR OUTPUT AS #1 FOR I = 1 TO 10 PRINT #1, TEMPSC$(I) PRINT #1, TEMPSC(I) NEXT I CLOSE SKIPTHIS: RETURN