!----------------------------------------------------------------------------- ! MODIFIED [01/28/90] by Grant Thomson-T F Business Computers, Toronto, Canada ! ! Replaced Line numbers with labels (mostly meaningful ones) ! Added Fuel gauge, Kill gauge. ! Added High Score Tracker. ! Number of Enemies and Fuel proportional to skill rating. ! A few cosmetic changes. ! Program is now both AlphaBASE Pre-compiler compatible as well as pure ! AlphaBASIC compatible to encourage enhancements (other scenarios?) ! REMEMBER TO LOAD INKEY.SBR INTO MEMORY as suggested by Marc (see below) !----------------------------------------------------------------------------- ! This program was originally written in MICROSOFT BASIC for CP/M ! and was first distributed by the HEATH USERS GROUP (HUG). I found it ! titled: OSZ-JEDI.BAS (FOR THE OSBORNE-1) and modified it to run on my ! ALPHA MICRO AM1000. The line #'s are choppy due to my editing, but ! have remained largely unchanged due to the number of line # calls. ! ! There may still be a bug or two - if you find 'em, fix 'em! ! ! Makes use of TCRT calls and GRAPHICS CHARACTERS FOR AM-62 TERMINAL ! Makes use of INKEY.SBR (from AMUS) (Thanx, Mr. Jarboe!) ! ! I suggest you copy the following into a .CMD file to load and start the ! program. It runs a great deal faster with INKEY.SBR resident in memory. ! ! DEL * ! LOAD INKEY.SBR ! :R ! RUN JEDI ! ! ENJOY! ! ! Marc McCauley MARY/AM 12/30/85 ! MAP1 A$,S,2 MAP1 B$,S,1 MAP1 E$,S,1,CHR$(27) MAP1 ED,F ! enemies destroyed - mod line 3280 for more MAP1 CD,F MAP1 CT,F ! timer - mod line 2910 for longer game MAP1 KM,F MAP1 BR,F MAP1 EV,F MAP1 DG,F MAP1 FQ,F MAP1 FX,F MAP1 FY,F MAP1 FZ,F MAP1 X,F MAP1 Y,F MAP1 A9,F MAP1 FL$,S,1 MAP1 DM$,S,1 MAP1 H'ED(7),B,3 ! History of most enemies destroyed MAP1 H'CT(7),B,3 ! History of Fuel remaining for high scorer MAP1 HU$(7),S,10 ! High Scorers Name MAP1 SAV$,S,10 ! High Scorers Name For Input RANDOMIZE GOSUB STAR'WARS PRINT ,"A long time ago in a galaxy far, far away, a great":GOSUB DELAY PRINT ,"adventure took place. It is a period of civil war.":GOSUB DELAY PRINT ,"Rebel space ships striking from a hidden base have":GOSUB DELAY PRINT ,"won their first victory against the evil galactic ":GOSUB DELAY PRINT ,"empire. During the battle, rebel spies managed to":GOSUB DELAY PRINT ,"steal secret plans to the empire's ultimate weapon":GOSUB DELAY PRINT ,"The Death Star, an armoured space station with the":GOSUB DELAY PRINT ,"fire power to destroy an entire planet. ":GOSUB DELAY:PRINT PRINT ," Your mission as one of the rebel pilots is to":GOSUB DELAY PRINT ,"attack and destroy the `Death Star'. While making":GOSUB DELAY PRINT ,"your attack you have encountered `Darth Vader' and":GOSUB DELAY PRINT ,"his Imperial storm troopers in their tie fighters.":GOSUB DELAY PRINT ,"You must destroy them before they can destroy you.":PRINT PRINT ," GOOD LUCK, AND MAY THE `FORCE' BE WITH YOU " FOR I=1 TO 11000:NEXT I PRINT TAB(-1,0) ! ! INSTRUCTION ROUTINE *** ! !Old PRINT E$;"=*6";"DO YOU NEED:":PRINT PRINT TAB(10,30);"F - FULL INSTRUCTIONS" PRINT TAB(11,30);"B - BRIEF INSTRUCTIONS" PRINT TAB(12,30);"N - NO INSTRUCTIONS" GET'INSTR'TYP: ! INPUT A$:IF A$=" " THEN A$="N" ?tab(-1,28); ?TAB(8,26);"CHOOSE ONE OF THE FOLLOWING: N";TAB(-1,5); INPUT LINE "",A$ if A$="" THEN A$="N" ! Default IF UCS(A$)="F" THEN GOTO FULL'INSTR IF UCS(A$)="B" THEN GOTO BRIEF'INSTR IF UCS(A$)<>"N" THEN GOTO GET'INSTR'TYP SKILL'LEVEL: PRINT TAB(19,20);"PLEASE ENTER A SKILL RATING FROM 1 TO 9:" ! PRINT PRINT TAB(19,62);"1";TAB(-1,5); INPUT LINE "",A$ IF A$="" THEN A$="1" ! Default=1 ?tab(-1,29); ! Turn cursor OFF IF A$<"1" OR A$>"9" THEN GOTO USER'SCREW'UP A$=A$+"0":A9=INT(VAL(A$)):A9=A9-12336:GOTO DRAW'GRID USER'SCREW'UP: PRINT PRINT TAB(26);"EVIDENTLY YOU NEED INSTRUCTIONS!" FOR I=1 TO 3000:NEXT I:PRINT FULL'INSTR: PRINT TAB(-1,0) PRINT "You have been equipped with an X-wing As in a real DOG-FIGHT you must lead" PRINT "Fighter by the Rebel Alliance. Your the target when firing your laser. If" PRINT "fighter is computer controlled by the you wait until he is exactly centered" PRINT "NUMERIC KEYPAD on your keyboard. The to fire, then you will miss him. You" PRINT "display you will see is your ON-BOARD may continue to fire at him, but when" PRINT "SCANNER. In order to kill an enemy you are firing your weapon, your con-" PRINT "fighter he must receive a DIRECT HIT trol of direction is not as good as" PRINT "OR MULTIPLE DAMAGING HITS. He will when you aren't Firing and the Target" PRINT "receive damage if hit when he is +/- may fly out of your sights." PRINT "10 DEGREES IN ELEVATION and he is +/-" PRINT "9 DEGREES IN BEARING. In addition to In order to CENTER your target on the" PRINT "this, he MUST BE WITHIN 7500 KMS. Scanner, you must fly towards him." PRINT " To do this you PRESS THE KEY ON THE" PRINT "WARNING: The `Tie' Fighter has the NUMERIC KEY PAD THAT IS IN HIS DIREC-" PRINT "capability to pop in and out of hyp- TION. ie: IF HE IS IN THE UPPER RIGHT" PRINT "erspace. Therefore he may disappear QUADRANT YOU WOULD PRESS KEY 9 TO FLY" PRINT "right from before your sights. Also, TOWARDS HIM. IF HE IS BELOW, PRESS 2." PRINT "you are given a limited amount of NOTE: At higher skill levels, you" PRINT "fuel. Your gauge will indicate fuel will be thrust into a more intense" PRINT "remaining. battle (more Tie Fighters to destroy)" PRINT " ":PRINT INPUT " MAY THE FORCE BE WITH YOU Press RETURN to Continue ",NADA BRIEF'INSTR: PRINT TAB(-1,0) PRINT ," UP & UP UP &" PRINT TAB(17);" LEFT";TAB(-1,23);" rzzzzzs rzzzzzs rzzzzzs ";TAB(-1,24);"RIGHT" PRINT TAB(17);TAB(-1,23);" v v v v v v" PRINT TAB(17);" qzzzzzu qzzzzzu qzzzzzu" PRINT ," rzzzzzs rzzzzzs rzzzzzs";TAB(-1,24) PRINT ," LEFT ";TAB(-1,23);"v v v v v v";TAB(-1,24);" RIGHT" PRINT TAB(-1,23)," qzzzzzu qzzzzzu qzzzzzu" PRINT ," rzzzzzs rzzzzzs rzzzzzs" PRINT TAB(17);" v v v v v v" PRINT TAB(-1,24)," DOWN";TAB(-1,23);" qzzzzzu qzzzzzu qzzzzzu ";TAB(-1,24);"DOWN" PRINT ," & LEFT";TAB(-1,23);" rzzzzzs";TAB(-1,24);" DOWN & RIGHT" PRINT TAB(-1,23);" v v" PRINT " qzzzzzu";TAB(-1,24) PRINT ," FIRE" PRINT TAB(4,33);"7";TAB(4,41);"8";TAB(4,49);"9" PRINT TAB(7,33);"4";TAB(7,41);"5";TAB(7,49);"6" PRINT TAB(10,33);"1";TAB(10,41);"2";TAB(10,49);"3";TAB(13,33);"0" PRINT TAB(17,20);"<>":PRINT PRINT:PRINT:PRINT !!! PRINT TAB(20);"PLEASE ENTER A SKILL RATING FROM 1 TO 9:":PRINT PRINT TAB(27);"NOVICE = 1 EXPERT = 9":PRINT PRINT "AFTER SCANNER CONSTRUCTION IS COMPLETE, PRESS ANY NUMBER KEY TO START." ?tab(-1,28); ! Turn cursor ON GOTO SKILL'LEVEL !GET'INSTR'TYP2: ! INPUT "SKILL LEVEL > ",A$:IF A$<"1" OR A$>"9" THEN GOTO GET'INSTR'TYP2 ! A$=A$+"0":A9=INT(VAL(A$)):A9=A9-12336 DRAW'GRID: ! GRID CONSTRUCTION ROUTINE *** ED=0:CT=0 PRINT TAB(-1,0);TAB(-1,29);TAB(-1,11); PRINT TAB(1,2);"RANGE: KM ELEVATION: DEG BEARING: DEG FUEL: KILLS:" PRINT PRINT TAB(8);"-90 -75 -60 -45 -30 -15 0 +15 +30 +45 +60 +75 +90" PRINT TAB(5);"+90 ";TAB(-1,23);"r0000b0000b0000b0000b0000b0000b0000b0000b0000b0000b0000b0000s";TAB(-1,24);" +90" PRINT TAB(9);TAB(-1,23);"v";SPACE(59);"v":PRINT TAB(9);"v";SPACE(59);"v";TAB(-1,24) PRINT TAB(5);"+60 ";TAB(-1,23);"x";SPACE(59);"x";TAB(-1,24);" +60" PRINT TAB(9);TAB(-1,23);"v";SPACE(59);"v":PRINT TAB(9);"v";SPACE(59);"v";TAB(-1,24) PRINT TAB(5);"+30 ";TAB(-1,23);"x";SPACE(59);"x";TAB(-1,24);" +30" PRINT TAB(9);TAB(-1,23);"v";SPACE(59);"v":PRINT TAB(9);"v";SPACE(59);"v";TAB(-1,24) PRINT TAB(6);"0 ";TAB(-1,23);" x";SPACE(59);"x ";TAB(-1,24);" 0" PRINT TAB(9);TAB(-1,23);"v";SPACE(59);"v":PRINT TAB(9);"v";SPACE(59);"v";TAB(-1,24) PRINT TAB(5);"-30 ";TAB(-1,23);"x";SPACE(59);"x";TAB(-1,24);" -30" PRINT TAB(9);TAB(-1,23);"v";SPACE(59);"v":PRINT TAB(9);"v";SPACE(59);"v";TAB(-1,24) PRINT TAB(5);"-60 ";TAB(-1,23);"x";SPACE(59);"x";TAB(-1,24);" -60" PRINT TAB(9);TAB(-1,23);"v";SPACE(59);"v":PRINT TAB(9);"v";SPACE(59);"v";TAB(-1,24) PRINT TAB(5);"-90 ";TAB(-1,23);"q]]]]a]]]]a]]]]a]]]]a]]]]a]]]]a]]]]a]]]]a]]]]a]]]]a]]]]a]]]]u";TAB(-1,24);" -90" PRINT TAB(8);"-90 -75 -60 -45 -30 -15 0 +15 +30 +45 +60 +75 +90";TAB(-1,12) ! ! *** INPUT CONTROL SCAN ROUTINE *** ! CD=200+(A$[1,1]*10)+INT(200+RND(1)):FL$="5" !2910 !Old CD=200+INT(200+RND(1)):FL$="5" !2910 IN'LOOP: IF CT=CD THEN GOTO FAILED ELSE CT=CT+1 : CALL DSP'TIME IF FL$="0" THEN GOTO FIRE XCALL INKEY,B$ IF B$>="0" AND B$<="9" THEN FL$=B$ ELSE IF B$<>"" THEN DM$=B$ IN'LOOP2: XCALL INKEY,B$ IF B$>"0" AND B$<="9" THEN FL$=B$ ELSE IF B$<>"" THEN DM$=B$ GOSUB POS'UPDATE PRINT E$;"=&3+";E$;"=23+";E$;"=)=+";E$;"=/=+";E$;"=,G+";E$;"=)Q+";E$;"=/Q+";E$;"=&[+";E$;"=2[+"; FOR I=1 TO 100:NEXT I GOTO IN'LOOP FIRE: ! *** FIRE WEAPON ROUTINE *** FOR I=8 TO 1 STEP -1 PRINT E$;"=";CHR$(44+I);CHR$(71-I);TAB(-1,23);"a"; PRINT E$;"=";CHR$(44+I);CHR$(71+I);"a";TAB(-1,24); IF I>6 THEN GOTO NXTI'1 PRINT E$;"=";CHR$(46+I);CHR$(69-I);" "; PRINT E$;"=";CHR$(46+I);CHR$(73+I);" "; NXTI'1: NEXT I PRINT E$;"=.E ";E$;"=.I ";E$;"=-F ";E$;"=-H "; IF FX<>44 OR FY<>70 THEN GOTO L'3290 IF KM>5000 THEN GOTO IN'LOOP2 DESTROYED: PRINT TAB(25,31);TAB(-1,32);" ENEMY DESTROYED ";TAB(-1,33);:DG=0 ED=ED+1 PRINT E$;"=";CHR$(FX-1);CHR$(FY);"<|>" PRINT E$;"=";CHR$(FX);CHR$(FY-1);" " PRINT E$;"=";CHR$(FX+1);CHR$(FY);">|<" FOR I=1 TO 50:PRINT CHR$(7);:NEXT I PRINT E$;"=";CHR$(FX);CHR$(FY);"***" FOR I=1 TO 50:NEXT I PRINT E$;"=";CHR$(FX-1);CHR$(FY);" " PRINT E$;"=";CHR$(FX);CHR$(FY-1);"***" PRINT E$;"=";CHR$(FX+1);CHR$(FY);" " FOR I=1 TO 50:NEXT I PRINT E$;"=";CHR$(FX);CHR$(FY);" " FQ=0:IF ED=3*A$[1,1] THEN GOTO MISSION'DONE ELSE GOSUB DSP'KILLS : GOTO IN'LOOP2 !3280 L'3290: IF FX<43 OR FX>45 THEN GOTO L'3410 IF FY<68 OR FY>72 THEN GOTO L'3410 DG=DG+1:IF DG=3 THEN GOTO DESTROYED PRINT E$;"=";CHR$(FX-1);CHR$(FY);"[=]" PRINT E$;"=";CHR$(FX);CHR$(FY-1);"I" PRINT E$;"=";CHR$(FX);CHR$(FY+3);"I" PRINT E$;"=";CHR$(FX+1);CHR$(FY);"]*[" FOR I=1 TO 50:NEXT I PRINT E$;"=";CHR$(FX-1);CHR$(FY);" " PRINT E$;"=";CHR$(FX);CHR$(FY-1);" " PRINT E$;"=";CHR$(FX);CHR$(FY+3);" " PRINT E$;"=";CHR$(FX+1);CHR$(FY);" ":GOTO IN'LOOP2 L'3410: PRINT E$;"=8 ";E$;"T"; GOTO IN'LOOP2 POS'UPDATE: ! *** FIGHTER POSITION UPDATE *** IF FQ=1 THEN GOTO POS'1 ELSE FQ=1 POS'LOOP'1: LET FX=INT(100*RND(1)) IF FX<36 OR FX>52 THEN GOTO POS'LOOP'1 POS'LOOP'2: LET FY=INT(200*RND(1)) IF FY<44 OR FY>97 THEN GOTO POS'LOOP'2 LET KM=INT(10000*RND(1)) FZ=INT(16*RND(1)) POS'1: IF INT(100*RND(1))>6 THEN GOTO POS'2 FZ=INT(16*RND(1)) POS'2: IF INT(10*RND(1))>A9 X=FX:Y=FY:GOTO POS'3 IF FZ=0 THEN X=FX-1:Y=FY+1 IF FZ=1 THEN X=FX:Y=FY+1 IF FZ=2 THEN X=FX+1:Y=FY+1 IF FZ=3 THEN X=FX+1:Y=FY IF FZ=4 THEN X=FX+1:Y=FY-1 IF FZ=5 THEN X=FX:Y=FY-1 IF FZ=6 THEN X=FX-1:Y=FY-1 IF FZ=7 THEN X=FX-1:Y=FY IF FZ=8 THEN X=FX-1:Y=FY+2 IF FZ=9 THEN X=FX-1:Y=FY+3 IF FZ=10 THEN X=FX+1:Y=FY+3 IF FZ=11 THEN X=FX+1:Y=FY+2 IF FZ=12 THEN X=FX+1:Y=FY-2 IF FZ=13 THEN X=FX+1:Y=FY-3 IF FZ=14 THEN X=FX-1:Y=FY-3 IF FZ=15 THEN X=FX-1:Y=FY-2 POS'3: IF FL$="1" THEN X=X-1:Y=Y+1 IF FL$="2" THEN X=X-2:Y=Y IF FL$="3" THEN X=X-1:Y=Y-1 IF FL$="4" THEN X=X:Y=Y+2 IF FL$="6" THEN X=X:Y=Y-2 IF FL$="7" THEN X=X+1:Y=Y+1 IF FL$="8" THEN X=X+2:Y=Y IF FL$="9" THEN X=X+1:Y=Y-1 IF X>39 AND X<50 AND Y>55 AND Y<87 THEN GOTO POS'4 IF SGN(KM)=+1 THEN KM=KM+INT(200*RND(1)) IF SGN(KM)=-1 THEN KM=KM-INT(200*RND(1)) IF KM<10000 THEN GOTO POS'5 ELSE GOTO POS'6 POS'4: IF SGN(KM)=+1 THEN KM=KM-INT(200*RND(1)) IF SGN(KM)=-1 THEN KM=KM+INT(200*RND(1)) POS'5: IF X<36 OR X>52 OR Y<42 OR Y>98 THEN GOTO POS'6 IF X=FX AND Y=FY THEN RETURN PRINT E$;"=";CHR$(FX);CHR$(FY);" ":FX=X:FY=Y PRINT E$;"=";CHR$(FX);CHR$(FY);TAB(-1,23);"4/9";TAB(-1,24) PRINT TAB(1,8);KM EV=10*(44-FX):PRINT TAB(1,31);EV BR=3*(FY-70):PRINT TAB(1,51);BR:RETURN POS'6: PRINT E$;"=";CHR$(FX);CHR$(FY);" "; FQ=0:RETURN PRINT E$;"=8 ";E$;"T"; RETURN MISSION'DONE: FOR I=1 TO 500:NEXT I:PRINT E$;"= ";TAB(-1,0) PRINT TAB(-1,12);E$;"=( "; PRINT TAB(-1,0) PRINT TAB(2,1); PRINT TAB(2,20);"CONGRATULATIONS ON A JOB WELL DONE. YOU HAVE" PRINT TAB(3,20);"DESTROYED DARTH VADER AND HIS STORM TROOPERS," PRINT TAB(4,20);"AND SAVED THE REBELLION.":GOTO END'YN FAILED: PRINT TAB(-1,0) PRINT TAB(2,20);"YOU HAVE ONLY DESTROYED";ED;"TIE FIGHTERS AND" PRINT TAB(3,20);"YOU LET DARTH VADER GET AWAY. OH WELL, I GUESS" PRINT TAB(4,20);"WE WANT HIM AROUND FOR THE SEQUEL ANYWAY!" END'YN: CALL HIGH'SCORE PRINT "" PRINT TAB(-1,28);TAB(17,20);"DO YOU WANT TO PLAY AGAIN (Y/N): Y";TAB(-1,5); INPUT LINE "",A$ if A$="" THEN A$="Y" ! Default IF UCS(A$)="Y" THEN B$=" ":GOTO SKILL'LEVEL PRINT TAB(-1,0);TAB(-1,28) PRINT TAB(5,5);"FIGHTING EVIL CAN BE TIRING...COME BACK WHEN YOU'RE READY FOR";TAB(-1,21);"ACTION !";TAB(-1,22) END DELAY: FOR I=1 TO 1000:NEXT I:PRINT RETURN DSP'TIME: ?tab(1,66);CD-CT; RETURN DSP'KILLS: ?tab(1,77);ED; RETURN HIGH'SCORE: LOOKUP "JEDI.SCO",HSTRY ! If NO history, then New high score IF HSTRY=0 THEN CALL CREATE'HIGH OPEN #1,"JEDI.SCO",INPUT H'FLG=0 ! High scored attained? 0=NO 1=LEVEL OF HIGH FOR I=1 to 7 ! See if high score attained INPUT #1,HU$(I),H'ED(I),H'CT(I) IF H'FLG > 0 THEN GOTO NXTI'2 IF ED > H'ED(I) THEN H'FLG=I ! New high by no. of kills IF ED=H'ED(I) AND CD-CT > H'CT(I) THEN & H'FLG=I ! New high by kills and fuel remaining NXTI'2: NEXT I CLOSE #1 IF H'FLG > 0 GOTO NEW'HIGH DSP'HIGH: ? TAB(6,1);TAB(-1,9);TAB(6,30);"HIGH SCORES: " ? TAB(8,1);TAB(-1,9);TAB(8,22);"NAME: KILLS: FUEL REMAINING:" FOR I=1 TO 7 ?TAB(20);HU$(I);TAB(32);H'ED(I) USING "###";TAB(45);H'CT(I) NEXT I RETURN NEW'HIGH: ? TAB(6,20);"YOU ARE A NEW REBEL LEADER!" ?tab(-1,28); ! Turn Cursor OFF ? TAB(8,20)"YOUR NAME (10 DIGITS MAX): "; INPUT LINE "",SAV'HU$ FOR I=7 to 2 STEP -1 ! Shuffles High Scores to insert new IF I > H'FLG THEN & HU$(I)=HU$(I-1) : & H'ED(I)=H'ED(I-1) : & H'CT(I)=H'CT(I-1) NEXT I HU$(H'FLG)=SAV'HU$ : H'ED(H'FLG)=ED : H'CT(H'FLG)=CD-CT ! Insert new OPEN #1,"JEDI.SCO",OUTPUT FOR I=1 TO 7 ? #1,HU$(I);",";H'ED(I);",";H'CT(I) NEXT I CLOSE #1 ?tab(-1,29); ! Turn Cursor ON GOTO DSP'HIGH CREATE'HIGH: ! Setup system generated high scores OPEN #1,"JEDI.SCO",OUTPUT FOR I=1 TO 7 ? #1,"SKYWALK, 3 , 50 " HU$(I)="SKYWALK" H'ED(I)=3 H'CT(I)=50 NEXT I CLOSE #1 RETURN STAR'WARS: ?TAB(-1,36); ! Turn Screen OFF PRINT TAB(-1,0) PRINT ,TAB(2,14);TAB(-1,32);SPACE(8);TAB(-1,33); PRINT ,TAB(2,25);TAB(-1,32);SPACE(10);TAB(-1,33); PRINT ,TAB(2,39);TAB(-1,32);SPACE(6);TAB(-1,33); PRINT ,TAB(2,49);TAB(-1,32);SPACE(9);TAB(-1,33); PRINT ,TAB(3,13);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(3,21);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(3,29);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(3,38);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(3,44);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(3,49);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(3,57);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(4,13);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(4,29);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(4,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(4,45);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(4,49);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(4,57);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(5,14);TAB(-1,32);SPACE(8);TAB(-1,33); PRINT ,TAB(5,29);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(5,37);TAB(-1,32);SPACE(10);TAB(-1,33); PRINT ,TAB(5,49);TAB(-1,32);SPACE(9);TAB(-1,33); PRINT ,TAB(6,21);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(6,29);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(6,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(6,45);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(6,49);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(6,55);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(7,13);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(7,21);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(7,29);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(7,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(7,45);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(7,49);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(7,56);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(8,14);TAB(-1,32);SPACE(8);TAB(-1,33); PRINT ,TAB(8,29);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(8,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(8,45);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(8,49);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(8,57);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(10,13);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(10,21);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(10,27);TAB(-1,32);SPACE(6);TAB(-1,33); PRINT ,TAB(10,37);TAB(-1,32);SPACE(9);TAB(-1,33); PRINT ,TAB(10,50);TAB(-1,32);SPACE(8);TAB(-1,33); PRINT ,TAB(11,13);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(11,21);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(11,26);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(11,32);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(11,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(11,45);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(11,49);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(11,57);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(12,13);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(12,21);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(12,25);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(12,33);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(12,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(12,45);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(12,49);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(13,13);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(13,17);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(13,21);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(13,25);TAB(-1,32);SPACE(10);TAB(-1,33); PRINT ,TAB(13,37);TAB(-1,32);SPACE(9);TAB(-1,33); PRINT ,TAB(13,50);TAB(-1,32);SPACE(8);TAB(-1,33); PRINT ,TAB(14,13);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(14,17);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(14,21);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(14,25);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(14,33);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(14,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(14,44);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(14,57);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(15,14);TAB(-1,32);SPACE(8);TAB(-1,33); PRINT ,TAB(15,25);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(15,33);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(15,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(15,45);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(15,49);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(15,57);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(16,15);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(16,19);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(16,25);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(16,33);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(16,37);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(16,46);TAB(-1,32);SPACE(2);TAB(-1,33); PRINT ,TAB(16,50);TAB(-1,32);SPACE(8);TAB(-1,33); PRINT ?TAB(-1,37); ! Turn Screen ON GOSUB DELAY RETURN .