./ LEVELANDERFLAMETHRUSTPLOPXYYVELXVELBYTDATCURRENTTHRUSHITCLYSIZADRLANDEADRFLAMLANDEFLAMFUELLINFUELLINEBOLANDINPXVEYVEYPOXPOBURFUELABELPADWIDTPADALXLOXHIGSTARCNFRELUVERBUTTOLOSVOWHISTLETIMSCORBONUBOUNCYMOVBOUNCEMOVCRASDODOTCNOLDOLDTOTSCORWAICOUN@@@@@@  !"#$%&'()*+,-./0123456789:Xb))***********************************))** LEM -- The Moon Lander Game **))*********************************** +.. &ŠϠŠҠҠŠ   $RR JPlug in joystick number 1 and push its trigger button to start the game..   8jj bTo play, move the LEM left or right with the joystick (caution: it builds up velocity rapidly!).B LTT LMove the joystick up or down to changethe AMOUNT of thrust from your rocket.V[[ SPush the joystick button to turn the thrust on, release the button to turn it off.` jJJ BScore over 2500 on advanced level if you want NASA to notice you!t ~%%  󡡡8T:,98T:,"9Choose how to play game)8(T:,9)wait for button up +@6-+-@@+ @BEGINNER+-@@+ @ADVANCED+ +  Push stick to change level, ,  '8T:,'wait for button push /-@@%@$/ @>>'R:,@'Change level/-@@%@$/ @ ( 6-(228R:,@92wait to center stick<=F9PZ&&This is one program which reallyd''needs to RUN as fast as possible!nxV..We use full screen version of GRAPHICS 7++and the finer resolution P/M Graphics+@%@P@..Now set up all our strings, arrays, etc.as well as all constants((First, the stuff that needs a size&&;@&,;@&,9@,<<9@,9@,9@,9@,9@,((This DATA is for the bounce sounds67,37,30,25,21,16++And we use it to initialize our array"-@, "8, 6@--This DATA gives the shape of the landerJ//0,0,0,0,0,$80,$42,$C2,$5A,$BE,$3C,$7E,$7ET//$7E,$7E,$5A,$42,$42,$42,$42,$E7,0,0,0,0,0^h**So use the data to create the landerrimage within a string|-@@&"67,.>:, ((Now we have the data for the flame0,0,0,0,0,0,0,0,0,0,0$18,$18,$18,$18,$18,$180,0,0,0,0,0,0,0,0And we set up the flameimage within a string-@@&"67,.>:, ++Now set up the acceleration constants,,0.05,0.015,0,-0.015,-0.03,-0.045,-0.06&++0.015,0,-0.01,-0.02,-0.03,-0.04,-0.050$$Choose which acceleration data:#A D<#A0N=X##Then put it into thrust arrayb-@l "8,v 33Some miscellaneous constants, locations, etc.6-B2x6-@16-b:,&@16-b:@,&@ 6-C:,6-C:,(6-b:@,%@2(6-%AY))***********************************++The main loop...used once per landing-@@''Reestablish proper graphics modes +@%@P@''First, clear out all players,etc. -@*NR@Q4 >!!Then, set up various colorsHQO@@7O@@QO@@@RQ0@70@@Q0@@\**Ensure collision registers are clearfp**Set up initial conditions for landerz06-6-'6-@P0Always/6-]@W<A,/Somewhere on screen6-6-@6-A`##Set up fuel line on left side> BL%@&@6.FUEL-@B:,99L Bp%@:7,,$@%AR%$@@ Q@@H $$Set up terrain and landing pad  ##First, pick pad size and spot$ . ##Width of pad depends on level8 6-]@ <@,B <6-]@<@6,L =V 6-]@<AH&,` j ''And an initial height for terraint 6-]@<@ ,~ Draw left part of terrain '6-@6-&@' AA0 Then draw the pad @ -%+&@,  ,/&   ))And, finally, right side of terrain ! 6-%6-AY! AA0 ''Sprinkle some stars on the screen  @ !!-@]@0<@p, !!,]@<AY,]@,    Blink the landing pad( -@@2 -@6@< C0@C2AP&$@@@F  P  Z 40@@4Restore proper valued :%2:and turn off soundn x ))***********************************  ##The main lander movement loop  ,,This loop must be as tight as possible **so the code may get a little obscure  II8(Z<@,*(Z<@,*!@U* A*!@ L%@&Q !L%%@&!Q@ 6-`:, )! @)6-%@ ) !@)6-&@ T:,)(6- < 6- 6-%" !@6-&@, 6-&@&6 =@ =J '6-%a:,$?'6-%8,T  6-%6-%^ !!2@E@%h 9r ' 6-&6-&'Correct overshoot|  ))***********************************  We're down...somewhere   N@Turn off flame @.Z<@,*?*O:, ?0@REM not a crash What kind of landing? %?P%A very good landing ((We let the crowd give them a cheer -@? #2@%@#  and whistles -@@ 6-]@<@, 8]@, @ -@0@6? & 2@@ 0 -@@05? : 2@@ D 9N %%2@X #6-]@<A,# A@Pb  l Calm down the crowdv -@6? #2@%@#  ;6-AP;6-A$+?P&,%@$+@@&,  ++A bouncy landing...just so-so but fun  <6-P:, 77-P:@$+&?0,%?P,@6@ = -@6?%928,@=  6-?`$6-$@ -@ 6-&' L%@&   -@ 6-%' L%@&  *  4 C -@6?%?28,@C > ;6-A;6-A$+?&,%@$+@@&,H =from IF YVEL<=0.5R \ <from IF BUMP...f p --Crash landing! Call out the stretchersz  N -%@%@! %]AV,   Let it fly in pieces -@@ ''2@@%@ -68,-&@F-68,-'@&@ !8,!@!68,-@ !8, !68,-@ @68,-6@$H:,@68,-@$H:,&@P   6-@6-@ NN@8$-@@.3 AW32XAU@@88,)8,6-%@B 6-8,6-8,L68,-8,%8,V(68,-8,%?(68,-8,%8,` ,jG98,!AY)8,!@)8, )8, G6-&@t!68,-!68,-~< @,8,8,== 9%%2'6-6-'6-/Z<@,/6-@ $+@&,'='from IF BUMP ..., way up above+@%@ @ LANDING 1 @1 @U SCORE ####1 @1 @ULANDING BONUS #### 1 @1 @U FUEL BONUS ####5 @5 @U TOTAL ####%%6-%%%(3 @3 @UTOTAL FOR ROUND ####2#6-A@ A@@# A@@< FP))***********************************ZdAllow another gamen(-(*@A%x @ @&& @U FINAL SCORE #### @ @"" @ PUSH JOYSTICK%% @BUTTON TO PLAY AGAIN8T:,9%33*********************************************Delay subroutine&&Enter with ticks desired in WAIT6-+F:@ ,%,XAU8F:@ ,9$" Subroutine to draw terrain,6&&Draws terrain from XLOW to XHIGH@J @T -^ ,/&h8H:, ?P&6-%@8Drunkard's walkr<6-&@|=96-?$ )6-9Limits on ALT $ D:LEM2.BXE@@@