Sys 9/10)^DExecOV DDfn1OV  DDfn2OV DGfidOV DEmsgOV DTestOV! DEditOV# DBfunOV+ DBslvOV3 DBerrOV9 DBfilOV= EBASICGOC$0TRFSYSTEMSYgCOPYGOj00PRINTGOl00BLCKJACKBSoHAMURABIBSWUMPUSBSHANGMANBSREVERSEBS BACKBSINITIALBSSEAWARBSDROODLEGO00HORSEBS STARTREKBS#LANDERBS2STARTREKBSIBLCKJACKBS^HORSEBS^Exec!@!: R!2-:-x#!I%:-@ :-;##:-@ !!@-"-@G%:-Z F%:-(<2-:-@>2-'xA !@-T$:-ʆ "$͞#ږ !A !-~*--!² ʟ ʟ ÿ!< !ʿ!1ڿ!4ҿ!O:-2-!ʿ!>¿!!ʿ!.ʟ!x ҿ!! !-xʿ!w:-!!~o>g^#V!}!!-:-$O!:-!!-~wA :-¿!~g~Bp!#~S#>2-:-2-~_-"-!-w# ”!A ! ! !¿! !!!6"-!-~w~# ,+!*-Emsg> $ A !A * * !!-~w!-:->2-."~w>&2-!*@N"Q"!-@N"Q"!"-@@2-*-@‡">/6+g"!-~w@‡"@w*-y !G@‡">¿!>"!>!>!>!>!>Dfn1!!@-"Edit!!-~wɯ!>!>!>!>!>Dfn2!TestBASICGO!">$!:- 2-"!0!#!0:-7#:-7#!"!02-~/wR#/wR##A#+"-:-2-2-!U%@ INITIAL !n#~#!҉#>@2-!p#@->2-~# Ô#~ ʱ# ʱ# µ###Þ#F# ## ¹#"-$#7Ox # # #+#,#! õ#> "-$! `i͞##!^#VDISABLE 3"MEMTEST "INIT "IMAGE "SetSys "flip C"fold 8"RESET ENABLE 0"FULL N"DONT x"VERIFY U"; CONTINUE"START #REENTER #ZAP ]"GET "LIST "list "SAVE "DELETE "UNDELETE"TYPE "PACK "HELP "RENAME "EDIT "Sniff "$$(Exec/4D) -top of RAM is Dfn1Ç!!@-':@-Y N 77?".!@- '@-! ^ k 0% T % % ))))o: *.> $ |} ! " r ʐ ʐ r 2.~ o>g32(2-:.2-O>!(ڰ! Which drive (1,2 or 3)?Disk name (up to 8 characters)?From address = Start address = Load address = # of sectors (1-7F) = File name (1 to 31 characters) = (Cleaning disk) From To !".9".!!"-_!!^#V:""!?$S%'2-Emsg> $ *.o 2.!d"-!(>,6#!2-!i! !Z(:.O>ڰ!++++|!!" (!(" ( !@- '@-!( 7"w# *"ã  !0" " .!" " . !" " .0!! " X"X"".!G! !OG->Gfidڰ!!-~ w+~#!ڡ"ð!{°!z°!* (".".!-~_.w#"* .*.:-O:.ڰ!!->Gfidڰ!!z! o :.2.!! o !d"-!T" .>2-2-0* .:.O> ڰ!0* .:.O> ڰ!* ." .|##!0:.O> ڰ!!0:.O> ڰ!*$,ʘ#"$~ʆ#*.|¤#7+".*.#".+&>ڰ!!&"$~ʆ#Htxtx!#>!ڰ!!.~##!%"$~# !@-#$ ;$;$#)$ ;$;$$%#,$> Î$#$͆#څ$ E$͆#څ$.E$͆#څ$.E$!%͆#څ$|$ ʎ$#i$~ ʎ$E$#!$ ͆#$ Ž$͆#.’$͆#.!$  Xx> $ Î$Type X to abort, anything else to continue:No text found for ...~W#~$  %#>.$ ~$ #~$ System file-not renamed! renamed to !d"-!@-#\%.>Gfidڰ!->Gfidڰ!!.:-G~2.°!#~§%#~*&+~<_~*»%#~j'!.~#!ڰ!".!-~#!Ұ!*.~@°!~O:-&:-*>&ð! &چ&D&*.%!F% *.~O:-)& #-w# -&ͣ *.%! *.%~G:-G~w* (X" (>,ʰ!*.#w+yu&zu&&*.%:-G~G/_* (" (*.#*.#H ~#>,²&*.~G:-w&:.°!!-~°!!!:.!{°!!(~'͗ &*.~<_~'#~!'&~@5'%!+% '%!F% !-~g* (>,6#B 32(2-:-O2->!( !(~ʀ z 0 p z Disk has files on it. Size Name Size Addr La Sa Name sectors in use, deleted. GfidEmsg> $ *.2-~#  ,+>2.!@-!! [![!!I! .! .! [! 1 4 2.! :.!! { ! !(~ʈ!$ #{!# * (> o&# * (r&! #!(~!!0 ó!O N#F û!r& :-! !! !(> 2.~x"\"@~ ":-~\"_b":-7"~_e"###e"#e" ":.=2.\">2.>.$ >$ 0 ! ^#Vxu&> $ > $ ! { 2.!d"-!(~"ʳ"0 Ô"2.w""Ü":.< undeleted x"><$ x0$ >>$ ~O## "#~">.$ ### ~$ !@-! #- 2.:-D#!-~g~*D#2.:-2-$!-~V##~*z##:.q#!-~#!q##`#~#,#!-~ ~#!V#!-~_V#^".!(~q##0 ã#*.~@#~g~##~«##ë#!-~#! ~@ ~w< $:-G" deleted. !-~#! ~@P$0 ~q#~#$-G~#$#-#$#E$~w< :-G$"#$!!d"-j ".~ _" .~*.»$" (~_~/_#~ͩ$< s$* (+" (/W* (" (~_^#V".#^#V".*.".* ({/_z/W" .* .|$}$>G:.O&*.x &*. _*.".*."./_* ." .|$*.}/_|ͩ$*.* .~#|,W%*.~ʄ%O N#F+ s#r d%" (< s$*.,".ʟ%~ʍ%*.| +".*.#".+':-O> Ø%!@-!%->@ !'".!-~@ ~_^#V#".^#V".͍%$ & &>.$ Xx>$ &2i&:i&2j&2h&x‰&>2h&Ì&2g&"d&!0&"@&2f&2k&!B&"b&@'*d&&:f&¾&<*@&60#"@&G:h&&:g&&O> $ &*@&6!0& T]bk>*b&+N+F"b& '2k&#"@&x&y&:l&G:j&R'*m&"b&!T]{/_z/W*b&r#s#"b&:j&2l&}'U'*b&"m&!G҉'ط{_zWxÀ'!!]!:.Oxҿ'>/$ > $ +|Ü'Gfid2$"" """"""_!, ^#V*""* ":$"f !~2-" "# , +!!!!!2-* "76+#6l ʈ 2-!@-" "('*""* "0 ¥ ʒ ʒ S < 0 J 1J 4J 0 J >J 0 S .a!x M 0 *""~wxS #w:$" !y!~_*"#r#s:$"@X!+~#!5! G*""#w*!V!{V!zV!* (*""#~_s#r* ">2-0 P .P 0 .P 0 P ~J J #!Ҳ!{] z] :$"] !:$"Y * "#"!* (* "#">,V " (6* (#" (!^#V* (" (32(2-:-O!(>] ~ G~#"Emsg d *-"-"-:-@@2-d ~[ 5 #~@ +##~6 #$ # ?No message for error !D I can't run that fileI can't find that fileDisk directory unreadable!Disk directory destroyed!I can't read directory-no disk or door open!Disk directory unreadable!DIO says: Bad parameters!DIO says: No disk or door open!DIO says: Hard error! Preamble bad!DIO says: Checksum error!DIO says: Verify error!DIO says: Write protected!Dont what?Nothing to run!Gfid says: Bad disk identifierGfid says: Name too longGfid says: Illegal extensionGfid says: Name null or wierd!What?That file already existsThat file does not existI can't: the disk is fullI can't: the directory is fullI can't rename across drives: use copyNo new extension givenI can't do that to a system fileOutput file not specifiedOutput file already existsInput file not specifiedInput file does not existTest*-"-!:-v 4  Ɛ'@'$ {/_/_AF ?F F 4 !! >" > # :.! :-! # y< U͚ ͚ ͚ ͚ !! :+! :*! # A*-!#T!"s+ #z¦ >~ + #z¹ =ù C**!, $ "*!> $ z { >/$  >/$ x Test - Cl= Errors= U!# V!# W!# X!#^#VQ!!########!!" S#!ASMB `)EDIT )RUN 'EXIT LIST (PRINT''INIT P(COPY ,RENAM'DELET.MERGE&.DUMP ,LOAD D,CHGATj'CREAT(XGEN M,HOME (BUILDb*RUNGO)VIEW *Editk Edit/31 ! z{}o|g $"Z$ "# M#M#M#M#M##%#*#### ##z# 00>Edit  !\ 0~#{ ̈́%Җ Emsg> $ * .".0!7" 0"(0*-"*0*.0*  "&036ͩ$"!2@3!@"&0"ͩ$:`0,!%!%,!'>20 6!"$0*(0""03!7 T!>2'0*"0*(0 ʐ!*- ڢ!~ ʫ! ʱ!!#i!>`i"&0!**0#i!> !Ң!?ô!?{!y´!#i!!3 !w*.0 w>*(0+~*$0 ! !#"@!}o"$0N"**0#~ " $"*$0+"$0N"?&"*$0!3+zJ"~J"?E"?{.""$0:%0ڍ""@*"0~#""0 x"x" ["xG["!"$0Í"*(0""0!"$0*&0!3: ~ʩ"ë"ʹ"w*&0*.0w* 0*(0 +"(0~**0w+"*0*-**0 #"*0~*(0w#"(0#͐""ͽ"͐""Á""!ͽ""#*(0+~ ##J#**0#~ *#*(0+~ J##:#xg#**0*(0 xw#"(0!* 0*(0 +"(0~ "g#*(0+~ z#g#*(0+~0:ډ#_A[ډ#*-**0 #~ -wì##¾#*##*(0**0 ",06#"(0!0"00^! K$.$G*(0**0 #p#!'*00 #p#"00"(0#*(0*,0# #+"(0*00+"00#*00+*,0"(0"20**0!0*- ʥ$~#^$*20 #a$**0 +",0^!#͐"*,0",0ڒ$^!"*(0",0**0 ||g}o#͐"z$&$w#"(0 $$$$>2`0*(0*,0 ʁ"ͽ"$"**0",0*- ||g}o#͐"zG%#~&2%"*0",0 %%%"*0{|%$' !' !0' '!0)&Emsg_%> $ F'„%2_02`02020!' "0+> T'#XT40>`Gfid%! }&!' *0)&>2_0!50~_"g0a0~#%!1"e0> #!&!50~w+>Gfid!' *0)&!' !' XT>`i0GfidQ'! }&>20!' !j0~_"00~#~!"0!2"07:_0ʤ&*e0,ʜ&"e0~ʌ&*c0|¨&7Ø&+"c0*a0#"a0+:40O>1GM%!1"e0Ó&Gx:0&*0w,"0&x>20*0:i0O2>M%*0#"0*0#"020ɯ&'*0*0##s#r#w3'!i0>Gfid~# ,!Emsg> $ 7 Exiting... Hit ESC again to leave Output disk is full. New file name: Input file: opened not found Creating output file: deleted Bfuno&) ^#V!3!J!\"i"i}"""""#<$$d%%6&&F !&'NG2@.>͢ HE͌El *RͲA"Rr NGG /{F:@./+w *-p->• .?:-ʟ "-!/z¢5{ ڿ 6#s#6Ҽ " !R._^#V"/>2/ 6x#6ù Ҽ  $  !B. NGHENGsENGHE%!NG!*!8G%EU@iG* 8G8G" 8G>:6E+\!"fQ!͗!;B"!*!+|"!*!!!!x™5y05{5Q"e!*fQ6E ʓ5›!NG#"!HE6E2“5"fQͩDiG*! "!NGz™5{5HENGz™5{05HENGkSY{O>/ "&h))))))G: WY{x/"!V"O F~O@B"?{xR"?w" ɱM" E;B¥5*!E;B¥5zʢ5n&*!iG>͢ 2A./o&8G!ʣ"G oÎ"*-:-ʴ".Î".Î"ͻD*jQ*R)F8GiGnÎ"E!"R!Q7WB!pQQO5!pQͩD-!BK $J*RͩD $KiG{27R8G $ͥIͯJ:7RP# $ͯJ !,$͔D*RͩDPYͥIͥI'$JͥI"$JͥI$JͥI*RͩD;$JͥI6$JͥI1$JKͥIͯJ*R"R# :7R pycAP@0BCBH@30Fp6$ xCrD$Q8QG4@pBE&BCBK$ͥI!c%ʔDͩD͟Dͺ?͟DͯJiGz.J{@.JQ!$> ́&!Q~wD!c%͔DQK@#XVA&PA 4AiATxTa@f!$@V#?PsX8DA?$$Kʙ55>@BKQ!J%>́&Q!c%>́&QQK@%/<o&8G;D QJF#58@T0QEAE?S@Fqh?u2r>BWc@BPA'tAA5@t%́&>Q͔DQQKQQͯJ$QͥIQQJ=‹%!Q͔DwTB@TBA %PY!c%ÔDG&$&(A&ͩDiGQ͔DQͥI &ͩD$!pQ;DͥIF$Q&͟DBK&ͥIiG+"RT&ͻD*R}-`&?|g}oZ&"R#8G͟DBK&KeS`E"Q͔DͥI*Q"QJ=Ì&!d".!"@.CHHE*.&CH&&#"Q/E ™52ZQ~QsEtQͤ6#!tQ\E͖I͑I&! ".".H('".HE('Hڙ5|ʢ5"./E ™5F*.~m'###"fQ6E 9'1HE'FE'E'*.*fQ++s#r#E'*.DM*.*.~#s#r#oҊ'$ y'Bslvo&) ^#V N" !b.^#V#!. >/< 7#'#S d! 6#wd! 6#~d:.i 7o 5!T" ͑ @͑ @ o != " !5 ( ~#£ íG( :. " G ± ( !#>? !$2.".!_ ".HEx% t!/E*fQ"~#>! !!,!! !! ʴH!"fQGy3!>  %!x,d!*.!0G~P!<#C!Ó5#~`! ʴHP!!6EB} Pʆ Ó5!"aE͑I>O( =!y!%:.2.ͯ "2.!%x%~$ # ®!!%z!# ¼!:%O:%==9"='"==!}!*%*.ͯ +:.!".:%#͑I}!o :."755Working..."<":.9"*fQ6 7͑I:.o *.67o *.~\"5!i ".!#".2.6E,|";“5>>2.% >2%!"%"%*."%*. )F"%!"aE͑I*%|")F"%2%E#*%"%ò"}2%E#<2%:.2%E#O~#G, "x/<, d# #G####x0$ ! ~,#4#w! ~;#5#~>!:%#͑I!+|U#@>, ]#>, >!%":%*%*%"*%#"%>, , , o 5 -SB> Gfid5~#!*%w,"%*%}#6,#"%*%#"%+:%O>5*%#"%~ $#6 !%͛#$5{5:-2%!"%"%!/"%* ("%"%*.~_$tQͤ6#tQͽ# Q$@$:.{$>Rͽ#>Uͽ#>Nͽ#> ͽ#:%#!"%!-~ w_%w#$>!-Gfid5~ $#6 !x%͛#5~_%~# $!%5# $:-2%!/"%!Q$%w #%5%aP7%r5%*%,6%"%~$%*%|N%:.<2.'"+"%*%#"%+/:%O>5!/"%~$%Berr I!_! ^#V( # * v:^QF *R"jQ*Rs#r#!"@.̀I:ZQ’ 2.:`Q’ `itQͤ6͑I!tQ\E͑I:.?ʒ W> $  >$ ͑I!"@. ë !"@.aE:`Q‘I:ZQʑI!?!aE  o gtQZH> !tQ\EÑI*.DM^!fQ#z+ { *-"-"-I!~3!!#~!+##~!#!# +~e!.! rror*-Emsg in line "Syntax eSyntax eSubscript eBad argument eDimension eFunction definition eOut of bounds eType eFormat e I can't find that line  FOR-NEXT e RETURN without GOSUB Division by zero Function definition eMissing matching NEXTRead eOops...BASIC goofed!Oops...BASIC goofed!Input eOut of memoryI cant do that directlyArgument mismatch eThat line was too long!Overflow eTape checksum eTape verify eCan't continue!That's not a BASIC file!Nothing to save!That channel not open!That channel not open for inputThat channel not open for output End of file on that channel!Input eCan't do that to an OUT file BfilO: n5y! ͦ$ !d d d d !.ͦ${G !Dr+s}6#I :@._!.^#V2@.!r._~ {O!. ^#V!. ^{ʡ 6#Œ :@.! Õ3T Q#~+ G~#¯ !:@._!.^#Vs#r!Q>Gfid5:@.!r._6!b.is#r~ C3 /E:“56ENGz¢5{ʢ55Ң52@.HE“5/E\ʓ5 ʓ5"O0#R{"C"PT!Ó56E/EO“56E/ES“56EHE“5NG{̔":@.G!r.o~@5H!~. N#F+zګ!²!{!Ҳ!͔":@.^2G!~²!#~+²!x «!:@.O!r. ~́$:@.O!.ͦ$!.ͦ$}|!.F$!.ͦ$F$!.ͦ$|F$6E/EL“56E/EO“56E/ES“56E/EE“56E:@.O!r. ~!b.ͦ$!n":@.:@._!r.66E/EE“56E/EW“56E:@._!r.~5~5~@5~5~"{T #~C3T #xc$:@._!b.^#V!""6EHE“5NG ":@.O!b.F$!B.F$!R.F$!r.66E/EP“56E/EE“56E/EN“56EHE“5͌E“5*RͲA"RQ:@.ړ5zʄ#~+w#> HE“5"6E#ʬ$I“5/EN“56E/E“56E[$T |#!,Dr+s!QTD>`Gfidͻ#5~2A.#~_^#V:@.O!~. :A.w!.F$#^#V!.F$y, :@.O!.F$!r. 6^2!R.F$L$i!b. s#r!~.F$!.F$:@.#2@.OS3!B.F$>Q!b.F$!r. 6!.ͦ$!.F$!.ͦ$!.F$!.ͦ$!.F$ ^#Vͻ#%{5z5~2A.#~_^#V#6$:@.O!.F$, !.F$!r. 6S3!B.F$!.F$L$>Q!b.F$!~. :A.w5 2"2! "System 88 BASIC version A01.",FREE(0)," bytes free." 7?2Q 77-Q7m7?7/Qx89<99<@>;::/;;T=<=<>=>=<<=>NOT^INTLENCALLRNDSGNSINSQRTFREEINPPEEKABSCOSLOGEXPTIME ? IJ?J? K AA~?mAyA?"AAA"AA@AA Aj?e?o?Ay???Q?.7!9".!D2"-!d".*-VR4>?2ZQ*.x$ ^#Vɷ G_!r.N!.V2+yʲ2X!.~ѻ•2#r+ò2s#r ­2!~.X4­2#4y3yOX2!.V2{3r+sX!.V2y2r+sX!~.N!.XV2>5X!r.~wÕ27X!.V2X!.V2X!~.N>5X!r.~wM2O_!r.~3!.V2xr+s!.Y~3#r+yÕ3x_!.V2r+s_!.V2r+s_!.V2_!~.N>5Ï3~ 4~3Y!.V2Y!.V2|3}3~w 4~wY!.V2Y!.V2!~. Nx5!.OYV2xFD4 ʭ4Ox yʪ4w#r+s!.OY~3d4Ï3s#ry_!.V2r+s_!~.N>5_O!r.~w!.V2r+s|(5Ï3O!.YV26#{4~ º4D4+d4S3".*."dQ475*.~4Q4".75 72.EͱEͫA*dQ!"@.̀I>2`Q!5".!".".2ZQ:.O5>?I:aQO5?I͗H͑I:Q @55l57aP5r55!tQ"fQ/E>0j8R8/E !_Q!!!!!!!! ! ! ! !!!! 5*.+"fQ5>5>Berr5!Q"fQH"rQ*fQtQ͜60G 6#6<665~ ʐ6 #"5~ ʐ6 #"5*6x `6`6`6`6`65͜6"fQH>D}*fQ5  x ͜6,5# `6> !qQq# ~ ʙ6#{EZH##:fQ:gQ6:.6{u?2.~76 6:.{u2.î6!0#6~6#6î6#{EZHì6{7*.6".{7*-6+"R*.#"jQ!4D2aQ5!B.b75b7ib7b7!.b7!M2"D.!S3"B.s#r#d7Exec!D2"-!b.^#V#!7>/<7!"@.{7###"fQ:aQ52`Q2ZQ!d"."fQC8*."dQ!d".vCH«57͑I*.~5+"fQ"hQ6 2ZQ2`Q2aQͫAC98ʟ5'EC9D 5!D E͒BD8ͤ7EͱE͖IR8ͮCC8Ø<> 2_Q2^Q/Ex8ғ5T06Eo&{E&;B>6E,8“5>Ÿ8*fQ8?*R".>*."R;Dí8|8*fQ6E ʓ5\ʓ58>WB*fQ"."fQ|8᯼“5*."fQF;Bʥ5'E?;D'E?>JE49!AͩD79?D*fQ".ͮCڮ5r+s+r+s+6"fQGCx9^9_9Å9*."fQ5F2Q*R#~®5#Cڦ9BsE®5N#F:QJ~{E9DM(A9"R{EͮC"fQC8͌E:?ͻD'E:pQz:>2_Q1H:[8*RͲA6Eғ5ړ5@#{E###*RͲAxZ:zu:~++ B:`:z`:7!n:!pQ6A>"R9<`:/Eˆ:ͤ7z: 6Ey:z:z:>2_Q :1Hړ5F.G###9NGʢ5z¢5'E1Hړ5 :,6E¢5:F&;F*R#~¤:"R:FD1Hړ5"bQͮCDMp+q+6*bQ"fQ.Gͤ79F*R#~ʱ5M;^;6;#^#V"R~9Ø<#~G_>Ww#k;"R#~ʚ;ͲAͮCͬ;*RQ"R+#?ͮCͬ;éD#^#V"fQ#~"R#^#V"R;D*Rö;F ;\/E ȸ6E;>;C<9DҜ5 ENGʜ5%E͉BHE;y O9DҜ5 E!DNG!D͒BHEI2aQ*fQ!9"dQ:ZQ€<*."fQ̀I!@:ZQ>2ZQ5!@5F2aQ5FDHEҴ<CD5;BD"WBDHEҥ<1H*..G+"hQ;E!"@./E ʑI\ʑI/E \!_Q:;=6ENGz¢5{5Ң52@.HE“5=>%K=͋=`=͌Ei=?ͻD*RNaEHE=ÑI*RͲA"Rz`=F?I:@.̖I+u=E6EH=D=!RZ=@C= =$=# >~wÎ=;EÎ=|¨5}Ҩ52R6EI>E=F¨5Hڨ5|¨5}!RҨ52 R2R!RF~wxıE6E ENG%Ez¢5!z.:@.O ~`= ?I3>!"@.*fQ!9"bQ>:JEx>NGz¢5{Ң552A.?>1!?".JE>"JE ??:A.?I͗HđIQ;B>O>HE>x,ʣ> >:A.>??IÏ>F> WB"fQ ñ>x!d". :A.!5!'?aEđI"fQ@>#aE#"fQ,'EØ>*bQ+"fQc< Input error-retype "FD;F5ò?>ò?>ò?>ò?>ò?>ò?>ò?>ò?> ò?> ò?> ò?> ò?> ò?>ò?>ò?>ò?>ò?>ò?>ò?>ò?>BfunA?Gx?O&?$ ??$ ?%BK@J!1!"952]Q:]QU@C$@Bʥ5ͩDU@k@EU@0FU@/E[?M?`?t?!1@/Ek@Ҹ@:]Qʓ5*]Q-ʋ@ʉ@ʋ@“56E @> @6E?~͟D¯@"R DM! @#{E6E*]Q-ʓ5@ E?%Eß@O!1 in line "Stop"Interrupted"*Aw*Aw>Aw*Aw*Aw*Aw*Aw>;A ;APYDMg `A`A! `A# UA$D> PYÑD tAtABKtAD!@ÔDA!"RɯŷEA“5/EB.B>0FB;B¥5zB*RDM)FD"R*R~ #zAB>JEҹAENGDs%EBE?HEBB%'E͋=%EͻD*RNX"RA*RͳA*R"R!9sEuBԒB*Rz~+~B!Ds#r#^#V#!D## ͒BG͒B##DCړ5C/C/E>JEB9D(C!D(C> O9DܜB##NGsEҖ5##N#FxCG+,'EB%E#VE9D ܉B͗B"R͗B"R"R>JE?ҢCNGʢ5!RsEhC–5*R+"RHEڍCNGʖ5!RsEډC–5"R%E*R)F5#"R"R7*R*R>=6E\ C!_Q“5;îC~?Ҥ7"fQuDG͂D?OCړ5>$JEyOCy@O;ͮC6EȹC7/E $D6EDC 5ʟ5'ExA*.#QT]{E|WD~#DD##!D"R"R͒Bq###>2^Q7/EA[?ҌD/E0:?#"fQ!A~+ –D*R T]D͔D<2]Q!pQ*R "RÔD*RD"R*fQ*hQ"fQ"hQ*jQD"jQ͂E!jQsEE!RsE*-+"R56E'E)6EÓ56E+C*fQ~# 9E 9EC>,6E+7C VE cE"~G ʓ5?I#cE#z+{~#fo6#z‚E/E6EuDڡE͂D6E"fQ"$*R"!R*R"#R*!R"R*#R"R!#"R/E!pQO"fQ!pQéDE>""EJE*fQ"RG~#F ʓ5F"fQ*R:_Q H?:`Q5}o|gW>JEFC59Dڟ5͗B ED6F;BFʔFͩDDr+s+6?;D6E,œFFHEF^F>WBÀF)“5F>)JEFDr+s+w!9DS w +Fr+61>JEI8/;F5"lQ"nQ*fQ"fQ*nQ*lQ*.".*.Ny7#sE+?*.*.ڢ5". GFګ5«5QZH> !pQOéD*R*R*R?"R"R"R͟Dͺ?ͻD~5O #~ͣGڢ5 G~ͣGڢ5 Gzbk)ڿG)ڿGڿG)ڿG_zWpQ͔Dͺ?(AxGz¢5{YGXG|¢5}gâ5ByG!T)H H/E"0RP?ͣGڢ5PH*0R+"fQ>JE7#^#V#"fQ/E *.Hڙ5Fګ5ɯHHHHH>0"[Q ڂH*[QBѰ>0!Q:.H:A.¹HIP' 5_!R.^#V!QH:A.H!r.:A._~ w> Hw# >H6 >2.:- I0w# ILOAD,I 2->2./Iw#$I@-w #2I:@.!B._^#V!UI oI :@.!z._4:@.!z._6!z.:@._~ ?I:ZQ:`Q€6+=¶I!JRBJ>!BR IO͟J>w IIIRO͟J I+=I;RfJ;R͑JG~@9J3J>9J5G怰?RÔDO+wFJ+w!~|JP+>ÅJ>'w+ >…J !T]AJշ'w+¢J!MRw+ ºJMR Jo`iJ/< JÔDVBR+~ J!BRKO+ KK#T]BJ~P+uJF+K7>'+ 4K^Kx'w+ ?PKT]#wdK#~}K nK…K xwK6›KBJ+ÖD'+¦KڽKÖD>~|Jx.JpAJʴ5 ! ",R!RRw+K6!JRBJ!CRw+L w+L6>R!RRtLG!IRtL*,Rw#",R LfJ͑JgoArLkL>rL.JW{怲 7>'+~LwL͟Jy"7RG!R6": RʴL+60ʨ5=æL+6."2R"4R".RL+6 L",R+6!*7R~BMAM0ͬM LH MͬMLAMMM+~. M, M")M1ͬM!R:R#TM:RlM~0`M6 +TM:R#lM#6"+~"4R.M+~ ʈM!M##60ÍM>0ͬM*7R~>-M*,R/GM>0MàM:R@M!6R5M6>,M*.R+W~!ʨ5".Rr*4R#W~"M"4Rrz5BM M>W>0x=_*7R~ N0>26R>2)R:RIʚN#jNEʳN:R͙L:R CN~>+M>$M*,R:R#]N#~ UN+T]"aN!"R~ʚNIҳNG+~N~NxAڳNG,NG¨52 R:R<͙L>"2R2N~2)R~2)RAw:R͙L*4R~.N#6E#:)R+NAN-/"2N O O2(R2'R2)R>2+R+HOHOCO-IO>2(R",R>+6=NO".R"0RPڈO.mOPvO7!)R5PoOOEOûOPʅOږO.sOÁO1P!)R4PږO.OEO!)R@mO!(R*,Rw*0R:*RGPO1POEOíOPO+OO-OmO2'RPmO_PPͣGP:'R{ʮO/<îO*0R~2*R#"0R:0?7G!+R4~*.RQPIPxw~w#".RxtJ#6!)R4*rQ*.~ʄP#sE+ʙPڙP~QhP:qQQ*.P6".F"%R:qQ ʲPʫPPPG:qQxQ*%R Q*.".QP/<Q Q*%RP6".*%R:qQqQOw# xPw+ xQ:.O:.GɅo$*.Q!-sEEɯ!>!>Bslv>Bfil!T">2!mR4  ~# bR0͞R͊RS >ͭ@v:SŠR!d" :R2S2S!T">2!S"= >2< :R!RF#< Rɍ2 1 1 1 !1 )1 11 91 A1 I1 Q10 :R> |S> S:SSx S |SzS:yRo:zRzS-4S:{RzS:|Ro:zRzS-HS2S:S=2SS> zS:~Ro:}RGS-jS:R2SSS ڌS:S<2S:S¯S>2ŚR!S" !/"S"S>#*Sw,:SSvïS"SG*S:SSS2Sd~,"SdOVRLY OVENT SBUF1(KBUF-CMND-@MEMTOP-KBIP-KBIG-KBEX-CMDF-CMDD-CMDP-CMDA-CMDN-DONT-PVEC-UVEC-SCHR-UCHR-ERROR-LERR-JOBST-NFDIR-NFCK-MTO-RAW-TRIES-SINT-ONCE-ňLUSER-ƈCMPTR-LjEFLG1-ɈEFLG2-ʈEICEERR@FILE-ˈDIRTY-SCREENWH0 WH1 $IORETdSTACKWarmDioWait Msg ErrOvrtoGoverRtnKilliFlushLook!Runr$Rlwe'Fold*Flip-Rlgc0Ckdr3Iexec6RTM 00!@-0ͬ000 0,1W10> +k1#w1>@Gfidn1> #e11>@Gfidh1!x1~_"11~#c0!1~_"11~#~:10*1*1+w+w!"1!2"1!3"1*1,ʾ0"1~*1|07ú0+"1*1#"1+:w1O>2G!2"1ù0Gx*1w,"1'1*1:1O3>*1#"1*1#"1x*1"1*1"1*1##1w#B1!1>Gfid~# ,!!!Ñ1"0 >ͭ@v:s2"0!d" :02o22y2!0"= >2< :0!^0~#< S0ɍ2 1 1 1 !1 )1 11 91 A1 I1 Q10 :0> 1> ͯ0:y2á0 ʗ0 1 1:0o:0 1-0:0 1:0o:0 1-02y2:o2=2o2X1> 1:0o:0ͯ0-0:02o2X1X1 1:y2<2y2:s2?1>2s20!\1" !/"k2"m2>#*m2w,:k2U1v?1"m2*k2:m2v1f12s2d~,"k2d~# ,+!9"2!1"-!@-̀1¡1->@Gfid[260!3"~2!-~@[2~_^#V"z2#^#V"|222ͯ01...Aborted *k2"m2!/6,2!1 "0*2*~2,"~2-2~2*|2|827+"|2*z2#"z2+3:-Ox[2&2Emsg*2> $ 90 PRINT CHR$(12), 100 DIM D(208),H(16),O(16),P(16,11),Q(11),S(16),X(16) 170 PRINT "WELCOME TO LAS VEGAS BLACKJACK.HERE ARE OUR RULES:" 180 GOSUB 3840 190 R=16 195 PRINTCHR$(12)\PRINT 200 INPUT "HOW MANY DECKS? (1-4) ",N 220 IF N>0 THEN 250 230 PRINT "1 TO 4 DECKS" 240 GOTO 200 250 IF N>4 THEN 230 260 E=N*52 \GOSUB 1840 280 B=1 290 GOSUB 1920 310 PRINT 320 G=1 330 INPUT "BET PLEASE ",U 340 IF U>0 THEN 400 360 IF U=0 THEN 3780 370 B=1 380 GOSUB 1920 390 GOTO 330 400 IF U<501 THEN 430 405 PRINT"HOUSE LIMIT $500,",\GOTO 330 430 GOSUB 2030 440 H(1)=U 450 N=Q(2) 460 PRINT "MY UP CARD ", 470 GOSUB 2470 480 N=P(R,1) 490 PRINT "YOUR 1ST CARD ", 500 GOSUB 2470 510 N=P(R,2) 520 PRINT "YOUR 2ND CARD ", 530 GOSUB 2470 540 GOSUB 2810 550 IF M=11 THEN 560 ELSE 570 560 GOSUB 3650 570 IF W=21 THEN 580 ELSE 660 580 PRINT "I HAVE BLACKJACK, ", 590 IF X(1)=21 THEN 600 ELSE 630 600 PRINT "SO DO YOU,WE PUSH ON THE HAND." 610 GOSUB 3550 620 GOTO 310 630 PRINT "YOU LOSE" \V=V-U \ GOTO 610 660 IF X(1)=21 THEN 670 ELSE 700 670 PRINT "YOU HAVE BLACKJACK.YOU WIN." 680 V=V+3*U/2 690 GOTO 610 700 PRINT "PLAY ", 710 IF R=1 THEN 730 720 PRINT " FOR HAND ",G," ", 730 INPUT F \ IF F>-1 THEN 770 750 PRINT "ONLY 0-4 IS VALID.RE-ENTER" \ GOTO 730 770 IF F>3 THEN 750 780 IF F=1 THEN 800 ELSE 1110 800 IF A<=E THEN 820 810 GOSUB 2920 820 M=S(G) 830 M=M+1 840 S(G)=M 850 N=D(A) 860 P(G,M)=N 870 PRINT "YOUR CARD IS ", 880 GOSUB 2470 890 GOSUB 2370 900 A=A+1 910 IF N=11 THEN 920 ELSE 930 920 O(G)=O(G)+1 930 X(G)=X(G)+N 940 IF X(G)<22 THEN 700 950 IF O(G)=0 THEN 990 960 O(G)=O(G)-1 970 X(G)=X(G)-10 980 GOTO 940 990 PRINT "YOU BUSTED WITH ",X(G) 1000 X(G)=0 \ Y=Y-1 1030 IF G0 THEN 1180 1120 IF X(G)<22 THEN 1030 1140 IF O(G)=0 THEN 990 1150 X(G)=X(G)-10 1160 O(G)=O(G)-1 1170 G=G+1 1180 IF F=2 THEN 1190 ELSE 1400 1190 IF S(G)=2 THEN 1230 1200 PRINT "DOUBLE ON 1ST 2 CARDS ONLY" \GOTO 700 1230 IF A<=E THEN 1250 1240 GOSUB 2920 1250 H(G)=2*U 1260 N=D(A) 1270 P(G,3)=N 1280 A=A+1 1290 PRINT "YOU DRAW THE ", 1300 GOSUB 2470 1310 GOSUB 2370 1320 IF N<>11 THEN 1340 1330 O(G)=O(G)+1 1340 X(G)=X(G)+N 1350 IF X(G)<22 THEN 1030 1360 IF O(G)=0 THEN 990 1370 O(G)=O(G)-1 \ X(G)=X(G)-10 \ GOTO 1350 1400 N=P(G,1) 1410 Y=Y+1 1420 GOSUB 2370 1430 M=N 1440 N=P(G,2) 1450 GOSUB 2370 1460 IF M=N THEN 1500 1470 PRINT "YOU MAY ONLY SPLIT PAIRS" \ GOTO 700 1500 R=R+1 \ Y=Y+1 \ P(R,1)=P(G,2) \ S(G)=1 \ S(R)=1 1550 X(G)=X(G)/2 1560 X(R)=X(G) 1570 H(R)=U 1580 IF N=11 THEN 1600 ELSE 700 1600 IF A<=E THEN 1620 1610 GOSUB 2920 1620 N=D(A) \ P(G,2)=N 1640 PRINT "1ST ACE GETS A ", 1650 GOSUB 2470 1660 GOSUB 2370 1670 IF N=11 THEN 1680 ELSE 1690 1680 N=1 1690 X(G)=X(G)+N 1700 A=A+1 1710 IF A<=E THEN 1730 1720 GOSUB 2920 1730 N=D(A) 1740 P(R,2)=N 1750 PRINT "2ND ACE GETS A ", 1760 GOSUB 2470 1770 GOSUB 2370 1780 IF N=11 THEN 1790 ELSE 1800 1790 N=1 1800 X(R)=X(R)+N 1810 A=A+1 1820 GOTO 1040 1830 REM BUILD DECKS OF CARDS 1840 FOR I=1 TO N 1850 J=(I-1)*52 1860 FOR K=1 TO 52 1870 D(K+J)=K 1880 NEXT K 1890 NEXT I 1900 RETURN 1920 PRINT "SHUFFLING" 1930 FOR I=B TO E 1940 C=RND(0)*E 1950 IF C10 THEN 2610 2560 PRINT N,\GOTO 2680 2610 IF N>11 THEN 2640 2620 PRINT "JACK ",\GOTO 2680 2640 IF N>12 THEN 2670 2650 PRINT "QUEEN ",\GOTO 2680 2670 PRINT "KING", 2680 PRINT " OF ", 2690 IF I=0 THEN 2700 ELSE 2720 2700 PRINT "SPADES" \RETURN 2720 IF I=1 THEN 2730 ELSE 2750 2730 PRINT "HEARTS" 2740 RETURN 2750 IF I=2 THEN 2760 ELSE 2780 2760 PRINT "DIAMONDS" 2770 RETURN 2780 PRINT "CLUBS" 2790 RETURN 2810 O(G)=0 2820 X(G)=0 2830 FOR I=1 TO 2 2840 N=P(G,I) 2850 GOSUB 2370 2860 X(G)=X(G)+N 2870 IF N=11 THEN 2880 ELSE 2890 2880 O(G)=O(G)+1 2890 NEXT I 2900 RETURN 2910 REM SAVE THE CARDS DEALT AND SHUFFLE 2920 K=T 2930 FOR I=1 TO R 2940 K=K+S(I) 2950 NEXT 2960 FOR I=1 TO K 2970 A=A-1 2980 J=D(I) 2990 D(I)=D(A) 3000 D(A)=J 3010 NEXT 3020 N=K+1 3030 GOSUB 1920 3040 RETURN 3050 REM DEALERS LOGIC 3060 N=Q(1) 3070 PRINT "MY HOLE CARD IS ", 3080 GOSUB 2470 3090 IF Y=0 THEN 3330\REM 3100 IF W<17 THEN 3150 3110 IF W >17 THEN 3260 3120 IF Z=0 THEN 3320 3130 W=W-10 3140 Z=Z-1 3150 IF A<=E THEN 3170 3160 GOSUB 2920 3170 N=D(A) 3180 T=T+1 3190 A=A+1 3200 Q(T)=N 3210 GOSUB 2370 3220 IF N=11 THEN 3230 ELSE 3240 3230 Z=Z+1 3240 W=W+N 3250 GOTO 3100 3260 IF W<22 THEN 3320 3270 IF Z=0 THEN 3310 3280 Z=Z-1 3290 W=W-10 3300 GOTO 3100 3310 PRINT "I BUSTED ", 3320 PRINT "MY TOTAL IS ",W 3330 FOR I=1 TO R 3340 PRINT "YOU ", 3350 IF X(I)<>0 THEN 3390 \ REM 3360 PRINT "LOST ", 3370 V=V-H(I) 3380 GOTO 3480 3390 IF W<22 THEN 3430 \ REM 3400 PRINT "WON ", 3410 V=V+H(I) 3420 GOTO 3480 3430 IF W=X(I) THEN 3440 ELSE 3460 3440 PRINT "PUSHED ON ", 3450 GOTO 3480 3460 IF W0 THEN 3590 3570 PRINT "EVEN" 3580 RETURN 3590 IF V>0 THEN 3620 3600 PRINT "BEHIND $",V 3610 RETURN 3620 PRINT "AHEAD $",V 3630 RETURN 3640 REM INSURANCE ROUTINE 3650 INPUT "INSURANCE ? (YES OR NO) ",A$ 3660 IF A$="YES" THEN 3690 ELSE RETURN 3690 PRINT "YOUR INSURANCE BET ", 3700 IF W=21 THEN 3710 ELSE 3740 3710 PRINT "WINS!" 3720 V=V+U 3730 RETURN 3740 PRINT "LOSES" 3750 V=V-U/2 3760 RETURN 3780 PRINT \ PRINT 3790 PRINT "THANKS FOR PLAYING" 3800 PRINT "HERE'S YOUR FINAL STANDING" \ GOSUB 3550 3820 GOTO 9999 3840 REM INSTRUCTIONS 3850 PRINT "THE DEALER STANDS ON 17 OR MORE," 3860 PRINT " BUT WILL HIT A SOFT 17" 3870 PRINT "YOU MAY SPLIT ANY PAIR." 3880 PRINT "YOU MAY DOUBLE ON THE FIRST TWO CARDS," 3890 PRINT " AND GET ONLY ONE MORE CARD." 4000 PRINT 4010 PRINT "USE THESE CODES TO PLAY" 4020 PRINT " 0 - STAND" 4030 PRINT " 1 - HIT" 4040 PRINT " 2 - DOUBLE DOWN" 4050 PRINT " 3 - SPLIT A PAIR" 4060 PRINT 4070 PRINT "A ZERO BET ENDS THE GAME" 4080 PRINT "A NEGATIVE BET FORCES A SHUFFLE." 4090 PRINT "PRESS RETURN TO CONTINUE. READY", 4100 FOR R=1 TO PEEK(3072)\N=RND(0)\NEXT 4110 INPUT A$ 4120 RETURN 9999 STOP RUN 40 PRINTCHR$(12) 50 PRINT "HAMURABI: DO YOU WISH TO VISIT THE ORACLE TO HEAR" 60 PRINT "REVELATIONS CONCERNING THE WISE AND PROFITABLE RULE" 70 INPUT"OF ANCIENT SUMERIA DURING YOUR TEN YEAR TERM? (Y OR N)",A$ 80 IF A$(1)="Y" THEN GOSUB 1300 90 B=RND(TIME(0)/65536)\D1=0\P1=0 100 Z=0\P=95\S=2800\H=3000\E=H-S 110 Y=3\A=H/Y\I=5\Q=1 120 D=0 130 PRINTCHR$(12) 140 PRINT\PRINT\PRINT "HAMURABI: I BEG TO REPORT TO YOU,"\Z=Z+1 150 PRINT "IN YEAR",Z,",",D," PEOPLE STARVED,",I," CAME TO THE CITY." 160 P=P+I 170 IF Q>=0 THEN 200 180 P=INT(P/2) 190 PRINT "A HORRIBLE PLAGUE STRUCK! HALF THE PEOPLE DIED." 200 PRINT "POPULATION IS NOW",P,"." 210 PRINT "THE CITY NOW OWNS",A," ACRES." 220 PRINT "YOU HARVESTED",Y," BUSHELS PER ACRE." 230 PRINT "RATS ATE",E," BUSHELS." 240 PRINT "YOU NOW HAVE",S," BUSHELS IN STORE."\PRINT 250 IF Z=11 THEN GOTO 1030 260 C=INT(10*RND(0))\Y=C+17 270 PRINT "LAND IS TRADING AT",Y," BUSHELS PER ACRE." 280 PRINT "HOW MANY ACRES DO YOU WISH TO BUY", 290 INPUT Q\IF Q<0 THEN 1000 300 IF Y*Q<=S THEN 330 310 GOSUB 920 320 GOTO 280 330 IF Q=0 THEN 360 340 LET A=A+Q\S=S-Y*Q\C=0 350 GOTO 420 360 PRINT "HOW MANY ACRES DO YOU WISH TO SELL", 370 INPUT Q\IF Q<0 THEN 1000 380 IFQC/2 THEN 730 710 REM THE RATS ARE RUNNING WILD 720 E=INT(S/C) 730 S=S-E+H 740 GOSUB 980 750 REM LET'S HAVE SOME BABIES. 760 I=INT(C*(20*A+S)/P/100+1) 770 REM HOW MANY PEOPLE HAD FULL TUMMIES. 780 C=INT(Q/20) 800 Q=INT(10*(2*RND(0)-.3)) 810 IF P.45*P THEN 860 840 P1=((Z-1)*P1+D*100/P)/Z 850 P=C\D1=D1+D\GOTO 140 860 PRINT\PRINT "YOU STARVED",D," PEOPLE IN ONE YEAR!!!" 870 PRINT "WHAT DID THE ORACLE TELL YOU?" 880 PRINT "DUE TO THIS EXTREME MISMANAGEMENT YOU HAVE NOT ONLY" 890 PRINT "BEEN IMPEACHED AND THROWN OUT OF OFFICE BUT YOU " 900 PRINT "HAVE ALSO BEEN EXILED TO PERSIA!" 910 GOTO 1280 920 PRINT "HAMURABI: THINK AGAIN. YOU HAVE ONLY" 930 PRINT S," BUSHELS OF GRAIN. NOW THEN," 940 RETURN 950 PRINT "HAMURABI: THINK AGAIN. YOU OWN ONLY",A," ACRES." 960 PRINT "NOW THEN," 970 RETURN 980 C=INT(RND(0)*5)+1 990 RETURN 1000 PRINT\PRINT "HAMURABI: I CANNOT DO WHAT YOU WISH." 1010 PRINT "GET YOUSELF ANOTHER STEWARD!!!!" 1020 GOTO 1280 1030 PRINT "IN YOUR TEN YEAR TERM OF OFFICE,",P1," PERCENT OF" 1040 PRINT "THE POPULATION STARVED PER YEAR ON THE AVERAGE." 1050 PRINT "A TOTAL OF",D1," PEOPLE DIED!!"\L=A/P 1060 PRINT "YOU STARTED WITH TEN ACRES PER PERSON AND ENDED" 1070 PRINT "WITH",L," ACRES PER PERSON."\PRINT 1080 INPUT"DO YOU WISH TO HEAR THE ORACLE'S EVALUATION?",A$ 1090 IF A$(1)<>"Y" THEN GOTO 1280 1100 PRINTCHR$(12) 1110 IF P1>33 THEN 880 1120 IF L<7 THEN 880 1130 IF P1>10 THEN 1210 1140 IF L<9 THEN 1210 1150 IF P1>3 THEN 1250 1160 IF L<10 THEN 1250 1170 PRINT "A FANTASTIC PERFORMANCE! CHARLEMANE, DISRAELI," 1180 PRINT "AND JEFFERSON COMBINED COULD NOT HAVE DONE BETTER!" 1190 PRINT "THE ORACLE OF SUMERIA IS PLEASED." 1200 GOTO 1280 1210 PRINT "YOUR HEAVY-HANDED PERFORMANCE SMACKS OF NERO AND" 1220 PRINT "IVAN IV. THE PEOPLE (REMAINING) FIND YOU AN" 1230 PRINT "UNPLEASANT RULER, AND, FRANKLY, HATE YOUR GUTS!" 1240 GOTO 1280 1250 PRINT "YOUR PERFORMANCE COULD HAVE BEEN SOMEWHAT BETTER," 1260 PRINT "BUT REALLY WASN'T TOO BAD AT ALL.",INT(P*.8*RND(0)) 1270 PRINT "PEOPLE WOULD DEARLY LIKE TO SEE YOU ASSASSINATED." 1280 PRINT "SO LONG -- BACK TO BASIC." 1290 PRINT\PRINT\PRINT\GOTO 1420 1300 PRINT CHR$(12) 1310 PRINT "YOUR STEWARD IS WISE AND DEVOTED TO BRING YOU TO VISIT." 1320 PRINT "HEED MY ADVICE WELL, HAMURABI." 1330 PRINT\PRINT\PRINT\PRINT "TO AVOID IMMEDIATE EXILE, DO NOT STARVE MORE THAN" 1340 PRINT"HALF THE PEOPLE DURING ANY SINGLE YEAR." 1350 PRINT\PRINT "TO AVOID EXILE AFTER TEN YEARS, KEEP THE AVERAGE RATIO OF" 1360 PRINT"ACRES TO PEOPLE AT LEAST SEVEN TO ONE." 1370 PRINT\PRINT 1380 INPUT"DO YOU WISH TO BEGIN YOUR FIRST YEAR? (Y OR N)",A$ 1390 IF A$="Y" THEN RETURN 1400 GOTO 1280 1410 STOP 1420 PRINT "" RUN 100 REM *** WUMPUS *** 110 DIM P(5) 120 K=RND(TIME(1)/65536) 130 PRINTCHR$(12),TAB(22),"HUNT THE WUMPUS" 140 INPUT"WOULD YOU LIKE INSTRUCTIONS? (Y OR N)",I$ 150 IF I$="N" THEN 170 ELSE GOSUB 690 160 REM-SET UP CAVE (DODECAHEDRAL NODE LIST) 170 DIM S(20,3) 180 FOR J=1 TO 20 190 FOR K=1 TO 3 200 READ S(J,K)\NEXT\NEXT 210 DATA 2,5,8,1,3,10,2,4,12,3,5,14,1,4,6 220 DATA5,7,15,6,8,17,1,7,9,8,10,18,2,9,11 230 DATA 10,12,19,3,11,13,12,14,20,4,13,15,6,14,16 240 DATA 15,17,20,7,16,18,9,17,19,11,18,20,13,16,19 250 DEF FNA(X)=INT(20*RND(0))+1 260 DEF FNB(X)=INT(3*RND(0))+1 270 DEF FNC(X)=INT(4*RND(0))+1 280 REM-LOCATE L ARRAY ITEMS 290 REM-1-YOU,2-WUMPUS,3&4-PITS,5&6-BATS 300 DIM L(6)\DIM M(6) 310 FOR J=1 TO 6 320 L(J)=FNA(0) 330 M(J)=L(J)\NEXT 340 REM-CHECK FOR CROSSOVERS (I.E. L(1)=L(2),ETC.) 350 FOR J=1 TO 6 360 FOR K=J TO 6 370 IF J=K THEN 390 380 IF L(J)=L(K) THEN 310 390 NEXT\NEXT 400 REM-SET # ARROWS 410 A=5 420 L=L(1) 430 REM-RUN THE GAME 440 PRINT "HUNT THE WUMPUS!" 450 REM-HAZARD WARNINGS & LOCATION 460 GOSUB 1160 470 REM-MOVE OR SHOOT 480 GOSUB 1310 490 ON O GOTO 510,550 500 REM-SHOOT 510 GOSUB 1370 520 IF F=0 THEN 480 530 GOTO 570 540 REM-MOVE 550 GOSUB 1650 560 IF F=0 THEN 460 570 IF F>0 THEN 620 580 REM-LOSE 590 PRINT "HA HA HA - YOU LOSE!" 600 GOTO 630 610 REM-WIN 620 PRINT "HEE HEE HEE - THE WUMPUS'LL GETCHA NEXT TIME!!" 630 FOR J=1 TO 6 640 L(J)=M(J) 650 NEXT J 660 INPUT "SAME SET-UP (Y-N)",I$ 670 IF I$<>"Y" THEN 310 680 GOTO 410 690 REM-INSTRUCTIONS 700 PRINT "WELCOME TO 'HUNT THE WUMPUS'" 710 PRINT " THE WUMPUS LIVES IN A CAVE OF 20 ROOMS. EACH" 720 PRINT "ROOM HAS 3 TUNNELS LEADING TO OTHER ROOMS. (LOOK" 730 PRINT "AT A DODECAHEDRON TO SEE HOW THIS WORKS-IF YOU" 740 PRINT "DON'T KNOW WHAT A DODECAHEDRON IS, ASK SOMEONE)" 750 PRINT 760 PRINT " HAZARDS:" 770 PRINT "BOTTOMLESS PITS - TWO ROOMS HAVE BOTTOMLESS PITS", 780 PRINT " IN THEM." 790 PRINT " IF YOU GO THERE, YOU FALL INTO THE PIT (& LOSE!)" 800 PRINT "SUPER BATS - TWO OTHER ROOMS HAVE SUPER BATS. IF YOU" 810 PRINT " GO THERE, A BAT GRABS YOU AND TAKES YOU TO SOME", 820 PRINT " OTHER" 830 PRINT " ROOM AT RANDOM. (WHICH MIGHT BE TROUBLESOME)" 840 GOSUB 1920 850 PRINT " WUMPUS:" 860 PRINT "THE WUMPUS IS NOT BOTHERED BY THE HAZARDS (HE HAS", 870 PRINT " SUCKER" 880 PRINT "FEET AND IS TOO BIG FOR A BAT TO LIFT). USUALLY HE" 890 PRINT "IS ASLEEP. TWO THINGS WAKE HIM UP: YOUR ENTERING" 900 PRINT "HIS ROOM OR YOUR SHOOTING AN ARROW." 910 PRINT " IF THE WUMPUS WAKES, HE MOVES (P=.75) ONE ROOM" 920 PRINT "OR STAYS STILL (P=.25). AFTER THAT, IF HE IS WHERE YOU" 930 PRINT "ARE, HE EATS YOU UP (AND YOU LOSE!)." 940 PRINT 950 PRINT " YOU:" 960 PRINT "EACH TURN YOU MAY MOVE OR SHOOT A CROOKED ARROW." 970 PRINT " MOVING: YOU CAN GO ONE ROOM (THRU ONE TUNNEL)" 980 GOSUB 1920 990 PRINT " ARROWS:" 1000 PRINT "YOU HAVE 5 ARROWS. YOU LOSE WHEN YOU RUN OUT. EACH" 1010 PRINT "ARROW CAN GO FROM 1 TO 5 ROOMS. YOU AIM BY TELLING" 1020 PRINT "THE COMPUTER THE ROOM #S YOU WANT THE ARROW TO GO TO." 1030 PRINT "IF THE ARROW CAN'T GO THAT WAY(IE NO TUNNEL) IT MOVES" 1040 PRINT "AT RANDOM TO THE NEXT ROOM." 1050 PRINT "IF THE ARROW HITS THE WUMPUS, YOU WIN." 1060 PRINT "IF THE ARROW HITS YOU, YOU LOSE." 1070 PRINT 1080 PRINT " WARNINGS:" 1090 PRINT "WHEN YOU ARE ONE ROOM AWAY FROM WUMPUS OR HAZARD," 1100 PRINT "THE COMPUTER SAYS:" 1110 PRINT "WUMPUS- 'I SMELL A WUMPUS'" 1120 PRINT "BAT - 'BATS NEARBY'" 1130 PRINT "PIT - 'I FEEL A DRAFT'" 1140 GOSUB 1920 1150 RETURN 1160 REM-PRINT LOCATION & HAZARD WARNINGS 1170 PRINT 1180 FOR J=2 TO 6 1190 FOR K=1 TO 3 1200 IF S(L(1),K)<>L(J) THEN 1270 1210 ON J-1 GOTO 1220,1240,1240,1260,1260 1220 PRINT "I SMELL A WUMPUS!" 1230 GOTO 1270 1240 PRINT "I FEEL A DRAFT" 1250 GOTO 1270 1260 PRINT "BATS NEARBY!" 1270 NEXT\NEXT 1280 PRINT "YOU ARE IN ROOM ",L(1) 1290 PRINT "TUNNELS LEAD TO ",S(L,1),S(L,2),S(L,3) 1300 PRINT\RETURN 1310 REM-CHOOSE OPTION 1320 INPUT "SHOOT OR MOVE (S-M)?",I$ 1330 IF I$<>"S" THEN 1350 1340 O=1\RETURN 1350 IF I$<>"M" THEN 1320 1360 O=2\RETURN 1370 REM-ARROW ROUTINE 1380 F=0 1390 REM-PATH OF ARROW 1400 INPUT "# OF ROOMS (1-5)?",R 1410 IF ((R<1)OR(R>5)) THEN 1400 1420 FOR K=1 TO R 1430 INPUT "ROOM #?",P(K) 1440 NEXT 1450 REM-SHOOT ARROW 1460 A=A-1\L=L(1)\K=1 1470 FOR Q=1 TO 3 1480 IF S(L,Q)=P(K) THEN L=P(K)\GOTO 1520 1490 NEXT 1500 REM-NO TUNNEL FOR ARROW 1510 L=S(L,FNB(1)) 1520 IF L<>L(2) THEN 1540 1530 PRINT"HURRAY! YOU GOT THE WUMPUS!"\F=1\RETURN 1540 IF L=L(1) THEN PRINT"OUCH! ARROW GOT YOU!"\GOTO 1590 1550 K=K+1\IF K<=R THEN 1470 1560 PRINT"MISSED!" 1570 GOSUB 1600 1580 IF A>0 THEN RETURN ELSE PRINT"OUT OF ARROWS!" 1590 F=-1\RETURN 1600 REM-MOVE WUMPUS ROUTINE 1610 K=FNC(0)\IF K=4 THEN 1640 ELSE L(2)=S(L(2),K) 1620 IF L(2)<>L THEN 1640 1630 PRINT "TSK TSK TSK - WUMPUS GOT YOU!"\F=1 1640 RETURN 1650 REM-MOVE ROUTINE 1660 F=0 1670 INPUT "WHERE TO? ",L 1680 IF (L<1) OR (L>20) THEN 1670 1690 FOR K=1 TO 3 1700 REM- CHECK IF LEGAL MOVE 1710 IF S(L(1),K)=L THEN 1750 1720 NEXT 1730 IF L=L(1) THEN 1750 ELSE PRINT"NOT POSSIBLE-",\GOTO 1670 1740 REM-CHECK FOR HAZARDS 1750 L(1)=L 1760 REM-WUMPUS 1770 IF L<>L(2) THEN 1830 1780 PRINT "...OOPS! BUMPED A WUMPUS!" 1790 REM-MOVE WUMPUS 1800 GOSUB 1610 1810 IF F=0 THEN 1830 ELSE RETURN 1820 REM-PIT 1830 IF ((L<>L(3)) AND (L<>L(4))) THEN 1870 1840 PRINT "YYYIIIIEEEE...FELL IN PIT" 1850 F=-1\RETURN 1860 REM-BATS 1870 IF ((L<>L(5)) AND (L<>L(6))) THEN 1910 1880 PRINT "ZAP--SUPER BAT SNATCH! ELSEWHERESVILLE FOR YOU!" 1890 L=FNA(1) 1900 GOTO 1750 1910 RETURN 1920 INPUT "TYPE RETURN NOW TO CONTINUE......",C$\PRINTCHR$(12) 1930 RETURN RUN 90 PRINT CHR$(12)\PRINT "WELCOME TO HANGMAN !" 100 GOSUB 1150\ REM: SETUP WORD VECTOR 110 DIM M(7,13,2) 120 Z=RND(ABS(SIN(TIME(0)))) 130 GOSUB 980 140 F2=0 \ REM: HANGMAN LOGIC 150 GOSUB 390\ GOSUB 600 160 C=0 170 K=LEN(W$)\G$=""\FOR I=1TOK\G$=G$+"-"\NEXT 180 F1=1\ GOTO 250 190 A$=FNI$(0)\ F=0\F1=0 200 FOR I=1 TO K\IF W$(I,I)<>A$(1,1) THEN 220 210 F=1\G$(I,I)=A$(1,1) 220 IF G$(I,I)="-" THEN F1=1 230 NEXT 240 IF F=0 THEN GOSUB 350 250 PLOT 0,30,0\PRINTG$\PLOT 0,27,0 260 IF F1=1 THEN 190 270 PLOT 0,15,0\PRINT"CONGRATULATIONS! " 280 PRINT"THERE MAY BE SOME HOPE FOR YOU AFTER ALL!" 290 FOR I=1 TO 2500\NEXT\PRINTCHR$(12)\PLOT 0,43,0 300 PLOT 26,32,0\ INPUT "CARE TO TRY AGAIN, TURKEY? ",B$ 310 B$=B$+" "\ IF B$(1,1)<>"N" THEN 150 320 PRINT\PRINT\PRINT" SO LONG CHICKEN! COME BACK NEXT TIME YOU" 330 PRINT" HAVE GALLOWS FEVER!"\PRINT\PRINTTAB(40),"- THE HANGMAN -" 340 GOTO 1240 350 U$=U$+A$\ C=C+1 360 PLOT 0,15,0\PRINT"USED LETTERS: ",U$\PLOT 0,12,0 370 Z=FNH(C)\ IF Z=0 THEN RETURN 380 GOTO 290 390 IF F2=1 THEN 560 400 PRINTCHR$(12)\PRINT\PRINT\PRINT\PRINTTAB(15),"WELCOME TO THE HANGMAN!" 410 PRINT\PRINT\PRINT 420 PRINT"THIS IS MY TERRITORY, AND I DON'T WELCOME INTRUDERS!" 430 PRINT\PRINT"IF YOU WISH TO LIVE TO SEE ANOTHER SUNSET, YOU MUST PROVE" 440 PRINT"YOUR WORTH. IF YOU CAN GUESS MY WORD WITHOUT MAKING 7 MISTAKES" 450 PRINT"YOU MAY STAY. IF NOT, MY EXECUTIONS ARE SWIFT AND IMMEDIATE!" 460 PRINT\PRINTTAB(40),"SINCERELY,"\PRINTTAB(40),"-THE HANGMAN-" 470 FOR I=1 TO 1500 480 IF INP(0)<>0 THEN Z=INP(1)\ GOTO 500 490 NEXT 500 PRINTCHR$(12)\PLOT0,43,0\PLOT26,24,0\PRINT"YOU WILL BEGIN IMMEDIATELY!" 510 PLOT 0,21,0 520 RESTORE 1150\READ Q\ FORI=1TOQ 530 READ J$ 540 IF LEN(J$)<10 THEN J$=J$+" "\ GOTO 540 550 L$=L$+J$\ NEXT 560 G$=""\ U$="" 570 A=FNH(0) 580 F2=1 590 RETURN 600 W=INT(RND(0)*314)\ W=W-(INT(W/Q)*Q)+1 610 W$="" 620 K=(W-1)*10\ FOR I=1TO10 630 IF L$(K+I,K+I)=" " THEN RETURN ELSE W$=W$+L$(K+I,K+I) 640 NEXT 650 RETURN 660 DEF FNI$(X) 670 PLOT 0,24,0\PRINT"GUESS?"\PLOT 0,21,0 680 IF INP(0)=0 THEN 680 ELSE Z=INP(1) 690 IF Z>128 THEN Z=Z-128 700 IF Z<65 OR Z>91 THEN 680 710 PLOT 0,24,0\PRINT" "\PLOT 0,21,0 720 RETURN CHR$(Z) 730 FNEND 740 DEF FNH(X) 750 IF X<>0 THEN GOTO 840 760 PRINTCHR$(12)\PLOT0,44,0 770 FOR I=1TO6\ PLOT 40,I,1\ NEXT 780 FOR I=40 TO 127\ PLOT I,7,1\ NEXT 790 FOR I=1 TO 47\PLOT 127,I,1\NEXT 800 FOR I=127 TO 50 STEP -1\PLOT I,47,1\NEXT 810 FOR I=47 TO 44 STEP -1\PLOT 50,I,1\NEXT 820 FOR I=47 TO 39 STEP -1\PLOT 83,I,1\ NEXT 830 RETURN X 840 IF X=7 THEN 890 ELSE I=1 850 IF M(X,I,1)=0 THEN 880 860 L=M(X,I,1)\V=M(X,I,2)\POKE L,V 870 I=I+1\ GOTO 850 880 RETURN 0 890 A1=6501\ W1=10\ L1=7 900 FOR I=47 TO 39 STEP -1\ PLOT 83,I,1\ NEXT 910 FOR Y=A1+64*L1 TO A1 STEP -64 920 FOR X=W1 TO 0 STEP -1 930 V=PEEK(Y+X)\ POKE Y+X+64,V 940 NEXT\ NEXT 950 PLOT 56,38,0\PRINT"YOU LOST!"\PLOT 0,35,0 960 RETURN -1 970 FNEND 980 N=0\FORI=1TO7\FORJ=1TO13\M(I,J,1)=0\M(I,J,2)=0\NEXT\NEXT 990 PRINTCHR$(12),"LOADING..." 1000 READ X\ IF X<-10 THEN RETURN 1010 IF X<0 THEN 1050 1020 IF X>100 THEN 1060 1030 N=N+1\M(K,N,1)=L\M(K,N,2)=X\L=L+1 1040 GOTO 1000 1050 K=-X\ N=0\ GOTO 1000 1060 L=X\ GOTO 1000 1070 DATA -1,6312,62,54,54,6375,62,7,47,47,6,6440,29,50,53 1080 DATA 31 1090 DATA -2,6505,48,55,6569,0,7,6633,0,7,6697,0,7 1100 DATA -3,6504,54,6566,62,43,59,6630,7,6693,62,15 1110 DATA -4,6506,54,55,6570,3,59,46,6637,7,6701,14 1120 DATA -5,6762,29,55,6827,59,46,6892,56,6956,56,54 1130 DATA -6,6760,53,31,6822,62,43,6886,56,6949,62,48 1140 DATA -999 1150 REM: HERE ON IS USER PROGRAMMABLE 1160 DIM L$(300)\RETURN 1170 DATA 30 1180 DATA "CONCISE","VERIFY","LITHOGRAPH","CONVERSION" 1190 DATA "AUTOMATIC","INTERIM","MISTAKE","LANTERN","GNU" 1200 DATA"XEROX","PAPER","REHEAT","SYSTEMS","PRODUCT" 1210 DATA"VERSION","DOCUMENT","DESCRIBE","CAPABLE" 1220 DATA"CHARACTER","RESTORE","NEXT","FISH","SLASH","TIGER" 1230 DATA"FLY","KNIGHT","LAB","LABORATORY","FOLLOW","PYREX" 1240 REM RUN 110 DIM A(30),A$(16) 120 A$=" " \REM 16 SPACES 130 PRINT CHR$(12),TAB(25),"REVERSE" 140 T=RND(TIME(1)/65535) 150 INPUT "Would you like instructions? (Y or N)",I$ 160 IF I$="N" THEN 340 170 IF I$="n" THEN 330 180 PRINTCHR$(12),"This is the game of REVERSE. To win, all you" 190 PRINT"have to do is arrange an unsorted, sequential" 200 PRINT"list of integers. The final arrangement must" 210 PRINT"have 0 on the left and 'count up' to the highest" 220 PRINT"integer (on the right). You can only reverse" 230 PRINT"the order of a block of integers. This block" 240 PRINT"can be any length but must begin with the left-" 250 PRINT"most integer. For example, if the current list is:" 260 PRINT"1 2 3 4 5 0 6 7 8 9" 270 PRINT"and you reverse 5, you will then have:" 280 PRINT"5 4 3 2 1 0 6 7 8 9" 290 PRINT"Note the positions of the first 5 and last 5 digits." 300 PRINT"Now, if you reverse 6, you will win:" 310 PRINT"0 1 2 3 4 5 6 7 8 9" 320 PRINT"If you want to change the array size, reverse 0!" 340 INPUT "How many digits do you want to arrange?",M 350 IF M<=0 THEN 1080 360 IF M<=17 THEN 410 370 PRINT"I'm sorry, but I can't go beyond 17 array elements." 380 GOTO 330 390 G=0 410 G= G+1 420 X= 0 430 PRINTCHR$(12),"Game #",G 440 PRINT"Thinking....", 460 FOR L1=0 TO M-1 470 A(L1)=INT (M*(RND(TIME(1)/65535))) 480 IF L1=0 THEN 540 500 L2= 0 510 IF A(L1)=A(L2) THEN 470 520 L2=L2+1 530 IF L257) THEN 810 800 NEXT \R=VAL(R$) \GOTO 820 810 PRINT"Input error - retype!" \GOTO 600 820 IF R<0 THEN PRINT"That's a strange choice--try again!"\GOTO 600 830 IF R=0 THEN 340 840 IF R<=M THEN 870 850 PRINT"Please remember, you can't reverse more than",M 860 GOTO 600 870 REM REVERSE R NUMBERS IN LIST A 880 FOR L1= 0 TO INT(R/2)-1 890 T= A(L1) 900 A(L1)= A(R-L1-1) 910 A(R-L1-1)= T 920 NEXT L1 930 REM CHECK FOR A WIN 940 FOR L1=0 TO M-1 950 IF A(L1)<>L1 THEN PRINTCHR$(12), \GOTO 560 960 NEXT L1 970 W=1 \GOSUB 560 980 PRINT\PRINT\PRINT 990 PRINT"And you WON in",X," move", \IF X=1 THEN PRINT"!" ELSE PRINT"s!" 1000 PRINT\W=0 1010 INPUT "Type return key when you are ready to continue",I$ 1020 IF G<10 THEN 410 1030 INPUT "You've played many games, are you getting bored?",I$ 1040 IF I$="y" THEN 1080 1050 IF I$="Y" THEN 1080 1060 G=5 \GOTO 410 1070 REM EXIT ROUTINE 1080 PRINTCHR$(12),"BYE!" 120 DIMB(26),R(16),M$(32),Z$(32) 130 Z=RND(TIME(0)/65535)\PRINTCHR$(12) 140 A$=FNI$("PLAYER A?",5,28,8)\B$=FNI$("PLAYER B?",5,28,8) 150 GOSUB 750\GOSUB 720 160 B(25)=0\B(26)=0\GOSUB 650 170 Z=FND(57,13,B$)\ Z=FND(57,2,A$) 180 Z=FND(1,6,"DICE:") 190 P=1\W$=A$ 200 H=0\GOSUB 580 210 GOSUB 1720 220 FOR M=1 TO 2 230 D=D1\IF M=2 THEN D=D2 240 F=FNG(M) 250 IF F<1 THEN ON F+3 GOTO 350,330,400 260 Z1=(P*P+P)/2\Z2=ABS(B(Z1+25))\IF Z2>0 THEN 460 270 IF B(F)=0 THEN 480 ELSE IF SGN(P)<>SGN(B(F)) THEN 440 280 T=F+D*P 290 IF T<1 OR T>24 THEN T=0\ IF FNB(P)=0 THEN 450 ELSE 380 300 IF P=SGN(B(T)) OR B(T)=0 THEN 380 310 IF ABS(B(T))>1 THEN 470 320 Z=FNM(T,0)\Z=FNH(-P,1)\GOTO 380 330 F=((P*P+P)/2)+25\IF B(F)=0 THEN 490 340 Z=(P*P-P)/2\T=ABS(Z*25-D)\GOTO 300 350 IF H=1 THEN 230 360 D=D1\D1=D2\D2=D\Z=FNA(1,7,D1+176)\Z=FNA(5,7,D2+176) 370 GOTO 230 380 IF F>24 THEN Z=FNH(P,-1) 390 Z=FNM(F,T)\H=1\Z=FNW(P) 400 NEXT 410 IF D3=1 THEN D3=0\GOTO 220 420 IF P<0 THEN 190 ELSE P=-1\W$=B$ 430 GOTO 200 440 M$="Other player!"\ GOTO 500 450 M$="Can't bear off..."\ GOTO 500 460 M$="Man on bar!"\ GOTO 500 470 M$="Can't hit..."\ GOTO 500 480 M$="Point empty.."\ GOTO 500 490 M$="No man on bar..." \ GOTO 500 500 J$=""\L=0\N=1\K=LEN(M$) 510 IF N>K THEN 540 ELSE K$=M$(N,N)\N=N+1 520 IF K$=" " THEN 540 530 J$=J$+K$\IF LEN(J$)<7 THEN 510 540 L=L+1\Z=FND(0,L,J$)\J$="" 550 IF N<=K THEN 510 560 FOR I=1TO800\NEXT\ FORY=47TO30STEP-3\ FORX=0TO12STEP2 570 PLOT X,Y,0\ NEXT\NEXT\ GOTO 240 580 REM: DICE 590 Z=FNA(3,8,63)\ FOR N=1 TO RND(0)*15+4 600 D1=INT(RND(0)*6)+1 \ D2=INT(RND(0)*6)+1 610 Z=FNA(1,7,D1+176)\ Z=FNA(5,7,D2+176)\ NEXT 620 Z=FNF(1,7,5)\ Z=FNF(5,7,5)\ D3=0 630 IF D1=D2 THEN D3=1\ Z=FNA(3,8,170)\ Z=FNF(3,8,5) 640 RETURN 650 RESTORE 710\ FOR V=-4 TO 4\ IF V=0 THEN 700 660 READ T,N\G=SGN(V)\B(T)=G*N 670 FOR X=1 TO N\ W=FNX(T)\W2=FNY(T,X) 680 A=FNS(T,G)\B=FNS(T,G*2) 690 Z=FNA(W,W2,A)\Z=FNA(W+1,W2,B) 700 NEXT\NEXT\RETURN 710 DATA 6,5,8,3,13,5,24,2,1,2,12,5,17,3,19,5 720 RESTORE 730\ FORI=1TO16\READ R(I)\NEXT\RETURN 730 DATA 60,52,38,39,60,44,37,39 740 DATA 57,41,13,15,57,25,11,15 750 REM: PLT BD\ PRINTCHR$(12)\ F=15 760 PRINTCHR$(12)\ PLOT 0,43,0\ F=15 770 FOR X=15 TO 112\ PLOT X,5,1\PLOT X,42,1\ NEXT 780 A=19\ FOR X=F TO F+48 STEP 8\ FOR Y=6 TO 41\ P=0 790 IF X=F OR X=F+48 OR Y48-A THEN P=1 800 PLOT X,Y,P\ NEXT\ IF A=19 THEN A=18 ELSE A=19\ NEXT 810 F=F+49 \ IF F<=64 THEN 780 820 FOR P=1 TO 24\ X=FNX(P)\ Y=FNY(P,-1)\ Z=FNA(X,Y,P+192) 830 NEXT\RETURN 840 DEF FNA(X,Y,V) \ REM: PUT V @ ADDR X,Y; RET OLD V. 850 A1=Y*64+X+6144\A2=PEEK(A1) 860 POKE A1,V \ RETURN A2 870 FNEND 880 DEF FNX(P) \ REM: RET X ADDR OF POS P. 890 Z=P \ IF P>12 THEN Z=25-P 900 RETURN 57-(Z*4) 910 FNEND 920 DEF FNY(P,N) \ REM: RET Y ADDR OF POS(P)+N. 930 IF N>8 THEN RETURN -2 940 Y1=1+N \ IF P>12 THEN Y1=14-N 950 RETURN Y1 960 FNEND 970 DEF FNQ(P) \ REM: +1 IF B(P) LEFT HALF, ELSE 0. 980 Q1=P-1\ Q1=(INT(Q1/6)+1)/4\ Q1=Q1-INT(Q1)\ Q1=INT(Q1*2) 990 RETURN Q1 1000 FNEND 1010 DEF FNS(P,X) 1020 S1=0 \ IF X<0 THEN S1=4 1030 S1=S1+(FNQ(P)*2)+ABS(X) \ IF P>12 THEN S1=S1+8 1040 RETURN R(S1) 1050 FNEND 1060 DEF FNM(F,T) 1070 M1=ABS(B(F)) 1080 IF F>24 THEN 1100 1090 M2=FNX(F)\ M3=FNY(F,M1)\ M8=FNF(M2,M3,6) 1100 M1=B(F) \ M2=SGN(M1) \ B(F)=M1-M2 1110 IF T=0 THEN RETURN 0 1120 M1=B(T)\ B(T)=M1+M2\ M1=ABS(B(T))\ M3=FNX(T) 1130 M4=FNY(T,M1)\ M5=FNS(T,M2*1)\ M6=FNS(T,M2*2) 1140 M7=FNA(M3,M4,M5)\ M7=FNA(M3+1,M4,M6)\ M8=FNF(M3,M4,5) 1150 RETURN 0 1160 FNEND 1170 DEF FNF(X,Y,T) 1180 F1=FNA(X,Y,63)\ F3=A1\ F2=FNA(X+1,Y,63)\ F4=A1 1190 FOR F5=1 TO T \ FOR F6=1 TO 35 \ NEXT 1200 F7=PEEK(F3) \ F8=PEEK(F4) \ POKE F3,F1 \ POKE F4,F2 1210 F1=F7 \ F2=F8 1220 NEXT \ RETURN 0 1230 FNEND 1240 DEF FNG(T) \REM: INPUT MOVE 1250 IF INP(0)>0 THEN 1270 1260 G8=(T-1)*4+1\ G1=FNA(G8,8,156)\ G1=FND(0,3,W$+"'S") 1270 G1=FND(0,4,"MOVE:") 1280 IF INP(0)=0 THEN 1280 ELSE G2=INP(1) 1290 IF G2=13 THEN G2=-37\ G3=-1\ GOTO 1330 1300 IF G2=32 THEN G2=-32\RETURN -2 1310 IF G2=27 THEN G2=-19\G3=0\GOTO 1330 1320 G2=G2-64\ G3=G2\ IF G2<0 OR G2>24 THEN 1250 1330 G1=FNA(6,4,G2+192)\ G1=FND(0,3," ") 1340 G1=FND(0,4," ")\ G1=FNA(G8,8,63)\ RETURN G3 1350 FNEND 1360 DEF FNI$(M$,I,X,Y)\PRINTCHR$(12) 1370 I$=""\I4=LEN(M$)/2+1\ I1=FND(32-I4,2,M$)\I1=1 1380 IF INP(0)=0 THEN 1380 ELSE I2=INP(1) 1390 IF I2=13 THEN 1420 ELSE IF I1>I THEN 1380 1400 I$=I$+CHR$(I2)\ I3=FNA(X-1+I1,Y,I2+128) 1410 I1=I1+1\ GOTO 1380 1420 RETURN I$ 1430 FNEND 1440 DEF FND(X,Y,Z$) \ REM: DISPLAY Z$ @X,Y 1450 FOR D5=1 TO LEN(Z$) 1460 D6=ASC(Z$(D5,D5)) \ D7=FNA(X-1+D5,Y,D6+128) 1470 NEXT \ RETURN 0 1480 FNEND 1490 DEF FNB(P) \ REM: RET 1 IF BEAR OFF OK 1500 B1=1\B2=18\B3=1\ IF P=-1 THEN B1=24\B2=7\B3=-1 1510 FOR B4=B1 TO B2 STEP B3\ B5=SGN(B(B4)) 1520 IF B5=P THEN RETURN 0 1530 NEXT\ RETURN 1 1540 FNEND 1550 DEF FNH(H1,H2) 1560 Z5=((H1*H1+H1)/2)+25\Z6=B(Z5) 1570 IF H2>0 THEN B(Z5)=Z6+H1\Z6=B(Z5) 1580 Z1=ABS(Z6)\Z2=INT((Z1-1)/3)\Z3=Z1-(Z2*3) 1590 Z1=57+(Z3-1)*2 \ Z3=12-Z2 \ Z2=Z2+3 1600 IF H1<0 THEN Z2=Z3 1610 Z3=FNS(24,H1) \ Z4=FNS(24,H1*2) 1620 Z=FNA(Z1,Z2,Z3) \ Z=FNA(Z1+1,Z2,Z4) 1630 Z3=15 \ IF H2<1 THEN Z3=14 1640 Z=FNF(Z1,Z2,Z3) 1650 RETURN 0 1660 FNEND 1670 DEF FNW(P)\ FOR W1=1 TO 26 1680 IF SGN(B(W1))=P THEN EXIT 1710 1690 NEXT\PRINTCHR$(12)\PLOT30,24,0 1700 PRINTW$+" WON !!!"\GOTO 1750 1710 RETURN 0 1720 OUT 0,131 1730 IF INP(0)=0 THEN RETURN ELSE I=INP(1) 1740 IF I<128 THEN 1730 ELSE RETURN 1750 REM RUN 5 DIM A$(15),B$(45)\PRINT CHR$(12), 20 PRINT "I CAN DO THE FOLLOWING PROGRAMS FROM THIS DISK:" 30 PRINT "1...SEAWAR..naval target practice" 40 PRINT "2...BLACKJACK..las vegas style card game" 50 PRINT "3...STARTREK..fight the klingons in the enterprise" 60 PRINT "4...HORSE..graphic horse race" 70 PRINT "5...HAMURABI..govern sumeria for a ten year term" 80 PRINT "6...WUMPUS..find a mythical monster in his cave" 90 PRINT "7...HANGMAN..word guessing game in graphics" 100 PRINT "8...REVERSE..number reversing game" 110 PRINT "9...LANDER..land the lunar lander on the moon" 120 PRINT "10..BACKGAMMON..famous board game" 300 INPUT "ENTER THE NUMBER OF THE PROGRAM THAT YOU WANT: ",X 310 IF (X>0) AND (X<11) THEN 400 330 PRINT "INVALID PROGRAM NUMBER.RE-ENTER...."\GOTO 300 400 IF X=1 THEN A$="SEAWAR"\GOTO 690 410 IF X=2 THEN A$="BLCKJACK"\GOTO 690 420 IF X=3 THEN A$="STARTREK"\GOTO 690 430 IF X=4 THEN A$="HORSE"\GOTO 690 440 IF X=5 THEN A$="HAMURABI"\GOTO 690 450 IF X=6 THEN A$="WUMPUS"\GOTO 690 460 IF X=7 THEN A$="HANGMAN"\GOTO 690 470 IF X=8 THEN A$="REVERSE"\GOTO 690 480 IF X=9 THEN A$="LANDER"\GOTO 690 490 IF X=10 THEN A$="BACK"\GOTO 690 690 B$="SCR"+CHR$(13) 700 B$=B$+"LOAD,"+A$+CHR$(13) 710 FOR S1=1 TO LEN(B$)\OUT 0,ASC(B$(S1,S1))\NEXT 9999 STOP RUN 2 Z=RND(TIME(0)/65535)\Z=0 5 PRINT CHR$(12), 10 PRINT"YOU COMMAND A FLEET OF SHIPS OPERATING IN ENEMY TERRITORY" 20 DIM Q$(12) 30 INPUT "DO YOU NEED INSTRUCTIONS? ",Q$ 40 IF Q$="YES" THEN 60 45 IF Q$="Y" THEN 60 50 GOTO 160 60 PRINT CHR$(12), 70 PRINT "YOU TELL YOUR GUN CREWS THE ELEVATION TO SET THEIR GUNS" 80 PRINT"ELEVATION IS IN DEGREES(0-360)" 90 PRINT "YOUR TASK FORCE CONSISTS OF 3 DESTROYERS,2 CRUISERS," 100 PRINT "2 BATTLESHIPS,AND 2 HEAVY AIRCRAFT CARRIERS." 110 PRINT "THE ENEMY HAS 9 SHIPS FOR HIS DEFENSE." 120 PRINT "IF YOU SUCCEED IN SINKING ALL HIS SHIPS BEFORE HE SINKS" 130 PRINT "YOURS,YOU HAVE WON.HOWEVER,IF HE SINKS YOURS,YOU HAVE" 140 PRINT "LOST.PRESS RETURN WHEN READY."\INPUT Q$ 160 DIM Z$(20),D$(40),I$(10),P$(72),M$(40),N$(40) 180 PRINT CHR$(12), 190 READ Z$ 200 GOTO 280 210 RESTORE 220 IF (0=9) OR (A=9) THEN 710 230 FOR X=1 TO A\READ Z$\NEXT X 260 READ Z$ 270 A=A+1 280 IF Z$="AIRCRAFT CARRIER" THEN 330 290 IF Z$="U-BOAT" THEN 1610 300 IF Z$="TORPEDO BOAT" THEN 320 310 P=1 320 GOTO 340 330 RESTORE 340 PRINT 350 PRINT "YOUR FLAGSHIP SIGHTS AN ENEMY ",Z$ 360 T=43000.-30000*RND(0)+(RND(0)*10)*.987654+102 370 IF T<10000 THEN 360 380 S=0\P2=0 390 T=INT(T) 400 IF Z$="U-BOAT" THEN 1650 410 PRINT "RANGE TO THE TARGET ",T," METERS." 420 IF P=1 THEN 1150 430 IF S>4 THEN 450 440 GOTO 480 450 PRINT "DUE TO YOUR POOR SHOOTING,TARGET HAS MOVED OUT OF RANGE" 460 S=S1+S\GOTO 280 480 INPUT "WHAT ELEVATION? ",B 490 PRINT "---FIRE---"\S=S+1 510 IF B>360 THEN 1110 520 IF B<0 THEN 640 530 IF B=0 THEN 660 540 IF B=90 THEN 790 550 IF B>330 THEN 660 560 IF B>180 THEN 1060 570 IF B>150 THEN 1020 580 IF B>90 THEN 820 590 V1=675.285 600 E=INT(T-(V1^2/9.80665*SIN(2*B/57.3))) 610 IF ABS(E)<=100 THEN 840 620 IF E>100 THEN 960 630 IF E<-100 THEN 990 640 PRINT "GUN BACKFIRED,KILLING CREW!"\GOTO 690 660 PRINT "IF YOU ARE TRYING TO KILL FISH,YOU ARE ON TARGET." 670 PRINT "SHELL EXPLODED UNDER WATER 50 METERS FROM YOUR SHIP" 680 GOTO 1240 690 PRINT " ADMIRAL,PLEASE!!!"\GOTO 1240 710 PRINT "**** PEACE ****"\PRINT 720 PRINT "YOU FIRED ",S1," ROUNDS.THE ENEMY FIRED ",S2," ROUNDS" 730 IF O=9 THEN 750 740 IF A=9 THEN 770 750 PRINT "ALL YOUR SHIPS HAVE BEEN SUNK!!"\GOTO 2220 770 PRINT "YOU HAVE DECIMATED THE ENEMY!!!"\GOTO 1810 790 PRINT "YOU IDIOT!YOU FIRED STRAIGHT UP,AND THE SHELL CAME" 800 PRINT "DOWN ON YOUR OWN GUN,DESTROYING IT!"\GOTO 1240 820 PRINT "HEY STUPID!YOU'RE FIRING ON YOUR OWN SHIPS!"\GOTO 1240 840 IF Z$="U-BOAT" THEN 860 850 GOTO 880 860 PRINT "DEPTH CHARGE EXPLODED ON TOP OF THAT BABY!!" 870 A=A+1\GOTO 890 880 PRINT "*** BOOM ***" 890 PRINT "TARGET DESTROYED. ", 900 PRINT S," ROUNDS EXPENDED." 920 PRINT "YOU HAVE LOST ",O," SHIPS.THE ENEMY HAS LOST ",A,"." 930 S1=S1+S 940 P=0\GOTO 210 960 IF Z$="U-BOAT" THEN 1740 970 PRINT "SHOT FELL ",ABS(E)," METERS SHORT OF TARGET."\GOTO 1240 990 IF Z$="U-BOAT" THEN 1760 1000 PRINT "SHELL OVERSHOT TARGET BY ",ABS(E)," METERS."\GOTO 1240 1020 PRINT "YOU JUST SANK YOUR OWN FLEET TANKER!!!" 1030 S1=S1+1 1040 IF P=1 THEN 1240 1050 GOTO 430 1060 PRINT "THE SHELL EXPLODED IN YOUR SHIP,DESTROYING IT!!" 1070 O=O+1 1080 IF O=9 THEN 710 1090 IF P=1 THEN 1240 1100 GOTO 690 1110 PRINT B," EXCEEDS 360 DEGREES BY ",B-360," DEGREES!" 1120 S1=S1+1 1130 IF P=1 THEN 1240 1140 GOTO 430 1150 PRINT "THE ENEMY ",Z$," IS FIRING ON YOUR SHIPS!" 1160 P4=1234*RND(RND(0))+(RND(0)*10) 1170 IF P4<500 THEN 1160\REM 1180 IF P2=1 THEN 1250\REM 1190 IF INT(P4)<100 THEN 1420 1200 IF Z$="U-BOAT" THEN 1710 1210 PRINT "HIS FIRST ROUND FELL ",INT(P4)," SHORT." 1220 S2=S2+1\GOTO 430 1240 IF P2=1 THEN 1160 1250 P1=1250*RND(RND(0))+(RND(0)*10) 1260 IF P1>P4 THEN 1250 1270 IF P1<(P4-400) THEN 1250 1280 IF P1<100 THEN 1340 1290 P4=P1\S2=S2+1 1310 IF Z$="U-BOAT" THEN 1780 1320 PRINT "THE ENEMY ROUND FELL ",INT(P1)," METERS SHORT."\GOTO 430 1340 S2=S2+1\P2=1\GOSUB 1470 1370 PRINT "THE ENEMY ",Z$," SANK ",D$ 1380 O=O+1 1390 IF O=9 THEN 710 1400 IF D$="YOUR LAST BATTLESHIP!" THEN 710 1410 GOTO 430 1420 P2=1 1430 GOSUB 1470 1440 PRINT "IN FACT,HE JUST SANK ",D$ 1450 O=O+1\GOTO 1390 1470 RESTORE 1480 FOR C=1 TO (9+O)\READ D$\NEXT C 1510 READ D$ 1520 DATA "U-BOAT","210 MM SHORE GUN","70,000 TON CRUISER" 1530 DATA"BATTLESHIP","TORPEDO BOAT","HEAVY FRIGATE" 1540 DATA "E-TYPE DESTROYER","GUIDED MISSLE SHIP","AIRCRAFT CARRIER" 1550 DATA "ONE OF YOUR DESTROYERS","YOUR HEAVY CRUISER" 1560 DATA "ANOTHER OF YOUR DESTROYERS","ONE OF YOUR BATTLESHIPS" 1570 DATA "YOUR LAST DESTROYER","YOUR AIRCRAFT CARRIER" 1580 DATA "YOUR LIGHT CRUISER","YOUR LAST AIRCRAFT CARRIER" 1590 DATA "YOUR LAST BATTLESHIP" 1600 RETURN 1610 PRINT "YOUR FLAGSHIP HAS DETECTED A U-BOAT APPROACHING AT " 1620 PRINT "FIVE FATHOMS" 1630 P=1\GOTO 360 1650 PRINT "RANGE TO THE TARGET ",\T=INT(T-1500) 1670 IF T<0 THEN 360 1680 PRINT "AS ",T," METERS" 1690 PRINT "THE U-BOAT HAS COMMENCED FIRING TORPEDOES"\GOTO 1160 1710 PRINT "HIS FIRST TORPEDO EXPLODED ",(INT(P4)-50), 1720 PRINT " METERS BEHIND YOUR SHIP."\GOTO 1220 1740 PRINT "DEPTH CHARGE EXPLODED ",ABS(E)," METERS SHORT."\GOTO 1240 1760 PRINT "DEPTH CHARGE EXPLODED ",ABS(E)," AFT OF TARGET." 1770 GOTO 1240 1780 PRINT "THE ENEMY TORPEDO EXPLODED ",(INT(P1)-50), 1790 PRINT " METERS IN FRONT OF YOUR SHIP." 1800 GOTO 430 1810 STOP RUN > $ !6?͙1>292>@262>272>2822:22;2! -+0%+0͟1}GJ0>2;22:21x.\0>2;22:21xEn0>2:22;21x\Ҁ0>2:22;21xsґ0>2:22;21xҤ0>2;2>2:21xҵ0>2:22;21x0>2:2>2;21x0:92=2921>292>@262>2722:22;21x02821>282:62G::2262:72G:;2272:62?11::2<2:2>?262A1A1::2<2:2262:72Y1:;2<2;2>272i1i1:;2<2;2272:62!o:72O:82_ͼ1>/Oͼ1>oͼ1:72Oͼ1(0* "<2*<2}-1?|g}o¥1"<2#&1{2@2>/112?2x2>2}_1!E21!B2:?2O ~2A2:>2OyOxG2! ~@2>?G:A2O:@2y0222/?w5 T 7/7;=>$ ^#Vɷ G_!r.N!.V2+yʲ2X!.~ѻ•2#r+ò2s#r ­2!~.X4­2#4y3yOX2!.V2{3r+sX!.V2y2r+sX!~.N!.XV2>5X!r.~wÕ27X!.V2X!.V2X!~.N>5X!r.~wM2O_!r.~3!.V2xr+s!.Y~3#r+yÕ3x_!.V2r+s_!.V2r+s_!.V2_!~.N>5Ï3~ 4~3Y!.V2Y!.V2|3}3~w 4~wY!.V2Y!.V2!~. Nx5!.OYV2xFD4 ʭ4Ox yʪ4w#r+s!.OY~3d4Ï3s#ry_!.V2r+s_!~.N>5_O!r.~w!.V2r+s|(5Ï3O!.YV26#{4~ º4D4+d4S3".*."dQ475*.~4Q4".710 DIM P(4),R(4),S(4),A(4,3),H(4,5),F(6,5),M$(16) 40 G=0 \ RESTORE 50 GOSUB 390 60 FOR I=1 TO 5 \ READ H(1,I),H(2,I),H(3,I) \ NEXT 70 FOR I=1 TO 6 \ FOR J=1 TO 5 \ READ F(I,J) \ NEXT \ NEXT 80 Z=RND(ABS(SIN(TIME(0)))) 90 GOSUB 150 100 FOR I=1 TO 2500 \ NEXT\GOSUB 670\FOR I=1 TO 4000\ NEXT 130 IF G=5 THEN G=0\ GOSUB 390 140 GOTO 90 150 PRINTCHR$(12) 160 FOR I=1TO4\ P(I)=0\ S(I)=0\ R(I)=1\ NEXT 170 S=0\ W=4\ GOSUB 800 180 FOR Q=1 TO 4 \ Z=FNH(Q,0) \ NEXT 185 GOSUB 880 190 PLOT 28,42,0\PRINT"AND THERE THEY GO!"\ PLOT 0,41,0 200 FOR I=1 TO 800\ NEXT 210 GOSUB 880 220 PLOT 28,42,0\PRINT" "\ PLOT 0,41,0 230 Q=INT(RND(0)*1E6)\Q=Q-(INT(Q/4)*4)+1 250 B=INT(RND(0)*2)+1\IF INT(RND(0)*150) <> 45 THEN 310 270 IF P(Q)>54 THEN 310 280 M$="BROKE A LEG!"\ Z=FNM(Q,200)\IF Z=0 THEN 310 300 B=-1\W=W-1 310 Z=FNH(Q,B)\IF S=W THEN 360 320 IF Z<58 THEN 230 330 P(Q)=-1\ S=S+1\ S(S)=Q\Z=W\ IF W>3 THEN Z=3 350 IF S57 THEN I=58-P(N) 970 K=K+I \ L=K+64 980 FOR J=1 TO 5 \ POKE K+J,H(1,J) \ POKE L+J,H(M,J) \ NEXT 990 P(N)=P(N)+I \ R(N)=R(N)*-1 1000 RETURN P(N) 1010 REM: HERE FOR BREAK A LEG 1020 FOR H1=1 TO 3 STEP 2 1030 FOR L=1 TO 2\POKE K+L,63\POKE K+L+64,63\NEXT\K=K+1\M=K+64 1050 FOR J=1 TO 5\ POKE K+J,F(H1,J)\ POKE M+J,F(H1+1,J)\ NEXT 1060 FOR L=1 TO 180\NEXT\NEXT\P(N)=-1\RETURN 0 1080 FNEND 1090 DATA 62,30,21,54,15,31,54,49,59,43,63,46,47,63,63 1100 DATA 62,54,54,63,55,21,31,54,11,59 1110 DATA 63,63,63,63,63,52,37,36,54,46 1120 DATA 63,63,63,63,63,54,54,54,54,46 9999STOP RUN 5REM WRITTEN TERRY WOODWARD,COMPUTER CENTER,205-942-8567 10X=0\GOSUB 4490 30DIM D(6),Q(12,12),K(3,3),G(12,12),Z$(15),C$(6),C(9,2),W8(10) 50DEF FNA(X)=INT(X*RND(0)+1) 70B9=RND(TIME(0)/65535)\T=(FNA(20)+20)*100\T0=T\E=4000\P=15\S=500\V=6144 90DEF FND(D)=SQRT((K(I,1)-S1)^2+(K(I,2)-S2)^2) 110Q1=FNA(8)\Q2=Q1\S1=Q1\S2=Q1 130FORI=1TO9\FORJ=1TO2\C(I,J)=1\NEXTJ\NEXTI 150C(2,1)=-1\C(3,1)=-1\C(4,1)=-1\C(4,2)=-1\C(5,2)=-1\C(6,2)=-1 170C(1,1)=0\C(3,2)=0\C(5,1)=0\C(7,2)=0\C(9,1)=0 190FORI=1TO6\D(I)=0\NEXT 210B9=0\K9=0 230FORI=1TO8\FORJ=1TO8\K3=0\B3=0 250IFRND(0)<.8 THEN290 270K3=FNA(3)\K9=K9+K3 290IFRND(0)<.96THEN330 310B3=1\B9=B9+1 330S3=FNA(5)\G(I,J)=(K3*100)+(B3*10)+S3\NEXTJ\NEXTI 350IF(K9=0)OR(B9=0)THEN210 370INPUT "PRESS RETURN TO CONTINUE",W9$\!CHR$(12), 390POKE 3103,27\POKE 3102,28\!CHR$(12),\GOTO570 410IFQ1>=1THEN450 430S1=1\Q1=1 450IFQ1<=8THEN490 470S1=8\Q1=8 490IFQ2>=1THEN530 510S2=1\Q2=1 530IFQ2<=8THEN590 550S2=8 570Q2=8 590X=G(Q1,Q2)/100\K3=INT(X)\B3=INT((X-K3)*10) 610S3=G(Q1,Q2)-((B3*10)+(K3*100)) 630IFK3=0THEN670 ELSE!"COMBAT AREA CONDITION RED" 650IFS>(K3*100)THEN670ELSE!"SHIELDS LOW" 670FORI=1TO3\FORJ=1TO3\K(I,J)=0\NEXTJ\NEXTI 690FORI=1TO8\FORJ=1TO8\Q(I,J)=0\NEXTJ\NEXTI 710Q(S1,S2)=1 730FORI=1TOK3\GOSUB 4410 750Q(R1,R2)=2\K(I,1)=R1\K(I,2)=R2\K(I,3)=200\NEXTI 770IFB3=0THEN810 790GOSUB 4410\Q(R1,R2)=4 810FORI=1TOS3\GOSUB 4410\Q(R1,R2)=3\NEXTI 830GOSUB 3050 850GOSUB 2670 870!"COMMAND: ", 890IFINP(0)=0THENGOSUB4870\GOTO890 910A=INP(1)\IF(A<48)OR(A>54)THEN890 930W9$=CHR$(A)\A=VAL(W9$)\!A 950IF(A>=0)OR(A<=6)THEN1030 970R1=A+1 990IFD(R1)>=0THEN1030 1010GOSUB 4330\! Z$," NOT OPERATIONAL"\GOTO830 1030ON A+1 GOTO 1070,4890,1750,1930,2470,3850,4450 1050!"INVALID COMMAND"\GOTO870 1070INPUT "COURSE(1-9): ",C1 1090IF(C1<1)OR(C1>=9)THEN1070 1110INPUT "WARP FACTOR (0-8): ",W1 1130IF(W1<=0)OR(W1>8)THEN1110 1150IF(D(1)>=0)OR(W1<=.5)THEN1190 1170!"ENGINES DAMAGED,MAX SPEED IS WARP .5"\GOTO1110 1190IFE-(W1*8)>0THEN1270 1210IFS<1THEN2810 1230!"YOU ONLY HAVE ",E," UNITS.SUGGEST YOU CROSS-CIRCUT" 1250!"FROM SHIELDS,WHICH HAVE ",S," UNITS"\GOTO870 1270FORI=1TO6\IFD(I)>=0THEN1310 1290D(I)=D(I)+1 1310NEXTI 1330IF(FNA(10)<>5)OR(W1<2)THEN1390 1350R1=FNA(6)\D(R1)=D(R1)-FNA(5)\GOSUB 4330 1370!"DAMAGE CONTROL REPORTS: ",Z$," DAMAGED." 1390N=INT(W1*8) 1410Q(S1,S2)=0\X=S1\Y=S2\C2=INT(C1) 1430X1=C(C2,1)+(C(C2+1,1)-C(C2,1))*(C1-C2) 1450X2=C(C2,2)+(C(C2+1,2)-C(C2,2))*(C1-C2) 1470FORI=1TON\S1=S1+X1\S2=S2+X2 1490IF(S1<1)OR(S1>8)OR(S2<1)OR(S2>8)THEN1630 1510IFQ(INT(S1),INT(S2))=0THEN1550 1530S1=S1-X1\S2=S2-X2\GOTO1570 1550NEXTI 1570S1=INT(S1)\S2=INT(S2)\Q(S1,S2)=1\E=E-N\IFW1<1THEN830 1590T=T+1 1610IF(T>T0+30)THEN2870ELSEGOTO830 1630X=Q1*8+X+X1*N\Y=Q2*8+Y+X2*N\Q1=INT(X/8)\Q2=INT(Y/8) 1650S1=INT(X-Q1*8+.5)\S2=INT(Y-Q2*8+.5)\IF S1>0THEN1690 1670Q1=Q1-1\S1=8 1690IFS2>0THEN1730 1710Q2=Q2-1\S2=8 1730T=T+1\E=E-N+5\IF(T>T0+30)THEN2870ELSE410 1750IFK3=0THEN2650 1770!"ENERGY AVAILABLE=",E\INPUT"ENERGY UNITS TO FIRE:",X 1790IFX<1THEN870 1810IFE-X<0THEN1770ELSEE=E-X 1830FORI=1TO3\IFK(I,3)=0THEN1910 1850H=INT(X/(FND(0)))\K(I,3)=K(I,3)-H 1870!H," UNIT HIT ON KLINGON",\IF K(I,3)>0 THEN !\GOTO1910 1890GOSUB 2310 1910NEXTI\GOTO2290 1930IFP>0THEN1970 1950!"PHOTON TORPEDOS EXPENDED"\GOTO870 1970INPUT"TORPEDO COURSE (1-9): ",C1 1990IF(C1<1)OR(C1>=9)THEN1970 2010C2=INT(C1)\X1=C(C2,1)+(C(C2+1,1)-C(C2,1))*(C1-C2) 2030X2=C(C2,2)+(C(C2+1,2)-C(C2,2))*(C1-C2)\X=S1 2050Y=S2\P=P-1 2070X=X+X1\Y=Y+X2 2110IF(X<1)OR(X>8)OR(Y<1)OR(Y>8)THEN2450 2130POKE V+(INT(X)*64)+(INT(Y)*3),31\FORW9=1TO20\NEXTW9 2150POKE V+(INT(X)*64)+(INT(Y)*3),63 2170IF(Q(INT(X),INT(Y))=0)AND(Q(INT(X+.5),INT(Y+.5))=0)THEN2070 2190FORI=1TO3 2210IF(INT(X)=K(I,1))AND(INT(Y)=K(I,2))THEN2270 2230IF(INT(X+.5)=K(I,1))AND(INT(Y+.5)=K(I,2))THEN2270 2250NEXTI\GOTO2390 2270GOSUB 2310 2290GOSUB 2670\GOTO830 2310K(I,3)=0\Q(K(I,1),K(I,2))=0\!" KLINGON DESTROYED" \K3=K3-1 2330K9=K9-1\IFK9=0THEN2990 2350G(Q1,Q2)=G(Q1,Q2)-100 2370RETURN 2390IF(Q(INT(X),INT(Y))=0)OR(Q(INT(X+.5),INT(Y+.5))=0)THEN2070 2400IFQ(INT(X),INT(Y))<>3THEN2430 2410!"STAR DESTROYED"\Q(INT(X),INT(Y))=0\GOTO2290 2430POKE 3103,24\POKE 3102,28\!"STARBASE DESTROYED" 2440!"YOU ARE RELIEVED OF DUTY"\GOTO4770 2450!"TORPEDO MISSED"\GOTO2290 2470!"ENERGY AVAILABLE=",E+S\INPUT"ENERGY UNITS TO SHIELDS:",X 2490IFX<0THEN870 2510IF(E+S-X<0)THEN2470 2530E=E+S-X\S=X\GOTO830 2550FORR1=1TO6\GOSUB 4330 2590!Z$,\IFD(R1)=0THEN!" IN SERVICE ", ELSE!" DAMAGED ", 2610IFINT(R1/2)=R1/2THEN!\FORW8=1TO200\NEXTW8 2630NEXT R1\GOTO870 2650!"NO KLINGONS IN THIS QUADRANT"\GOTO870 2670IFC$="DOCKED"THENRETURN 2690IFK3=0THENRETURN 2710FORI=1TO3\IFK(I,3)=0THEN2770 2730H=INT(K(I,3)/FND(0)+1)\S=S-H\! H," UNIT HIT ON ENTERPRISE" 2750IFS<0THENEXIT2910 2770NEXTI 2790RETURN 2810POKE 3102,28\POKE 3103,24 2830!CHR$(12),\!"** FATAL ERROR **"\!"ENTERPRISE IS DEAD IN SPACE" 2850GOTO2950 2870POKE 3103,24\POKE 3102,28 2890!CHR$(12),\!"IT IS STARDATE ",T\GOTO2950 2910POKE 3102,28\POKE 3103,24\!CHR$(12), 2930!"THE ENTERPRISE HAS BEEN DESTROYED" 2950!"THE FEDERATION WILL BE CONQUERED BY THE REMAINING ",K9," KLINGONS!!" 2970GOTO4770 2990POKE 3102,28\POKE 3103,24\! CHR$(12), 3010!"THE LAST KLINGON HAS BEEN DESTROYED."\!"CONGRATULATIONS!" 3030GOTO4770 3050FORI=S1-1TOS1+1\FORJ=S2-1TOS2+1 3070IF(I<1)OR(I>8)OR(J<1)OR(J>8)THEN3110 3090IFQ(I,J)=4THENEXIT3130 3110NEXTJ\NEXTI\GOTO3170 3130C$="DOCKED"\E=3000\P=15 3150FORI=1TO6\D(I)=0\NEXTI\S=500\GOTO3270 3170IFK3>0THEN3230 3190IFE<300THEN3250 3210C$="GREEN "\GOTO3270 3230C$="*RED* "\GOTO3270 3250C$="YELLOW" 3270POKE 3102,27\POKE 3103,24\PLOT 0,47,0 3290W7=1\FORI=1TO9\W8(I)=0\NEXTI 3310FORI=Q1-1TOQ1+1\FORJ=Q2-1TOQ2+1 3330IF(I<1)OR(I>8)OR(J<1)OR(J>8)THEN3370 3350W8(W7)=G(I,J) 3370W7=W7+1\NEXTJ\NEXTI 3390!" 1 2 3 4 5 6 7 8" 3410Z=0\!"1",\GOSUB 4230\!" QUADRANT ",Q1,",",Q2," 3" 3450!"2",\GOSUB 4230\!"STARDATE ",T," 4 2" 3490!"3",\GOSUB 4230\!"CONDITION ",C$," 5 + 1" 3530!"4",\GOSUB 4230\!"ENERGY ",%5I,E," 6 8" 3570!"5",\GOSUB 4230\!"TORPEDOS ",%2I,P," 7" 3610!"6",\GOSUB 4230\!"SHIELDS ",%4I,S," ", 3650!":",%3I,W8(1),":",%3I,W8(2),":",%3I,W8(3),":" 3670!"7",\GOSUB 4230\!"KLINGONS ",%2I,K9," ", 3710!":",%3I,W8(4),":",%3I,W8(5),":",%3I,W8(6),":" 3730!"8",\GOSUB 4230\!" SECTOR ",S1,",",S2," ", 3770!":",%3I,W8(7),":",%3I,W8(8),":",%3I,W8(9),":" 3790!"0=SET COURSE 1=LOAD TORPEDOS 2=PHASERS" 3810!"3=TORPEDOES 4=SHIELDS 5=COMPUTER 6=RESIGN" 3830POKE 3102,28\POKE 3103,27\!CHR$(12),\RETURN 3850INPUT"COMPUTER ACTIVATED: ",A\IF (A<0) OR (A>1) THEN3910 3890ON A+1 GOTO 2550,6000 3910!"FUNCTIONS AVAILABLE FROM LIBRARY COMPUTER:" 3930!"0=DAMAGE REPORT 1=TORPEDO DATA"\GOTO3850 4210GOSUB 3050\GOTO870 4230Z=Z+1 4250FORI=1TO8\Z$=" <*>+++ * >!<"\!Z$(Q(Z,I)*3+1,Q(Z,I)*3+3),\NEXTI 4290IF(Z=1)OR(Z=8)THENRETURNELSE!" ", 4310RETURN 4330RESTORE 4350 4350DATA "WARP ENGINES","SCANNERS","PHASER BANKS","TORPEDO TUBES" 4370DATA "SHIELD CONTROL","COMPUTER" 4390FORX=1TOR1\READ Z$\NEXTX\RETURN 4410R1=FNA(8)\R2=FNA(8)\IF Q(R1,R2)=0THENRETURNELSE4410 4450POKE 3103,24\POKE 3102,28\!CHR$(12) 4470!"YOUR RESIGNATION HAS BEEN ACCEPTED"\GOTO4770 4490!CHR$(12), 4510!"****** WELCOME TO THE STARSHIP ENTERPRISE ********" 4530!" <*> = ENTERPRISE * = STAR" 4550!" +++ = KLINGON >!< = STARBASE"\! 4570!"COMMAND 1 IS LOAD OR UNLOAD TORPEDOS.A TORPEDO LOADED" 4590!" DECREASES ENERGY BY 400 UNITS.A TORPEDO UNLOADED INCREASES" 4610!" ENERGY BY 400 UNITS." 4630!"COMMAND 2 IS PHASER CONTROL" 4650!"COMMAND 3 IS PHOTON TORPEDOS.COURSE IS SAME AS WARP" 4670!" ENGINES.LIBRARY COMPUTER CAN COMPUTE TRAJECTORY" 4690!"COMMAND 4 CHANGE ENERGY IN SHIELDS" 4710!"COMMAND 5 IS LIBRARY COMPUTER:0=DAMAGE REPORT,1=TORPEDO DATA." 4750!"COMMAND 6 IS RESIGNATION"\!\RETURN 4770INPUT "DO YOU WISH TO TRY AGAIN ",C$ 4790IFLEN(C$)=0THENGOSUB4490\GOTO70 4810IFC$(1,1)="N"THEN4850 4830GOSUB 4490\GOTO70 4850POKE 3102,28\POKE 3103,24\GOTO9999 4870FORW8=6848TO6900\POKE W8,9\POKE W8,63\NEXTW8\RETURN 4890!"EACH TORPEDO LOADED (+) DECREASES ENERGY 400 UNITS." 4910!"EACH TORPEDO UNLOADED (-) INCREASES ENERGY 400 UNITS." 4930INPUT"HOW MANY TORPEDOS (+ OR -) ? ",W9\IFSGN(W9)=0THEN870 4950IFSGN(W9)=-1THEN5010 4970IFW9*400>ETHEN2810 4990E=E-(W9*400)\P=P+W9\GOTO830 5010IFABS(W9)>PTHEN4930 5030E=E+(ABS(W9)*400)\P=P-ABS(W9)\GOTO830 6000FORI=1TO3\IFK(I,3)<=0THEN6110 6040X=K(I,2)-S2\Y=S1-K(I,1) 6060IFX=0THEN6150 6070A=INT(((57.3*FNQ(Y/X))/45+1)*100)/100 6080IF(X>0)AND(Y<0)THEN6200 6090IFX<0 THEN 6130 6100!"KLINGON AT ",K(I,2),",",K(I,1)," COURSE=",A 6110NEXTI\GOTO830 6130A=A+4\GOTO6100 6150IFY<0THEN6180 6160A=3\GOTO6100 6180A=7\GOTO6100 6200A=A+8\GOTO6100 6220DEF FNQ(U) 6230C1=.99997726\C2=-.33262347\C3=.19354346\C4=-.11643287 6240C5=.05265322\C6=-.01172120\U2=SGN(U)\U=ABS(U)\U=(U-1)/(U+1) 6250U=.7853982+C1*U+C2*U^3+C3*U^5+C4*U^7+C5*U^9+C6*U^11 6260U=U*U2\RETURN U 6280FNEND 9999 STOP RUN 70 PRINT%#Z6F1, 100 REM *** LUNAR LANDER *** 110 DIM L$(60) 120 S= 6144 130 PRINTCHR$(12),TAB(22),"LUNAR LANDER" 140 PRINT\INPUT "WOULD YOU LIKE INSTRUCTIONS (Y OR N)?",I$ 150 IF LEN(I$)=0 THEN 550 160 IF I$(1,1)<>"Y" THEN 550 170 PRINT\PRINT"YOU ARE THE PILOT OF A LUNAR LANDER MODULE, AND," 180 PRINT"UNFORTUNATELY, YOUR ON-BOARD COMPUTER BROKE DOWN" 190 PRINT"(IT WAS NOT MADE BY POLYMORPHICS). YOU TOOK OVER" 200 PRINT"MANUAL CONTROL TO LAND YOUR SHIP ON THE MOON." 210 PRINT"INITIALLY, YOUR LANDER IS SEVERAL HUNDRED FEET" 220 PRINT"ABOVE A LUNAR LANDING PLATFORM, AND FALLING TOWARD" 230 PRINT"IT, ACCELERATING AS IT FALLS. YOUR OBJECTIVE IS TO" 240 PRINT"MAKE A SOFT LANDING ON THE PLATFORM. YOUR ONLY" 250 PRINT"AVAILABLE MANEUVER IS TO BRAKE WITH YOUR ROCKET" 260 PRINT"ENGINE."\PRINT 270 GOSUB 1550 280 PRINTCHR$(12), 290 PRINT"1) ABOUT YOUR ENGINE: YOUR ENGINE HAS TWO LIMITATIONS:" 300 PRINT" A) IT CAN ONLY EXERT A THRUST BETWEEN 0-9" 310 PRINT" B) THEIR IS A LIMITED AMOUNT OF FUEL ON BOARD, YOU" 320 PRINT" HAVE ENOUGH FOR A SAFETY FACTOR, BUT CONSERVE!" 330 PRINT\PRINT"2) UNITS OF FUEL: ONE UNIT OF FUEL SHALL REDUCE YOUR" 340 PRINT" ACCELERATION BY ONE FOOT PER SECOND SQUARED, AND" 350 PRINT" SINCE LUNAR ACCELERATION IS 2 FT/SECOND SQUARED," 360 PRINT" A BURN RATE OF 2 WILL HOLD YOUR SPEED CONSTANT." 370 PRINT\PRINT"3) THE LANDING PLATFORM: IT IS VERY IMPORTANT THAT" 380 PRINT" YOU TRY TO LAND ON THE PLATFORM, OTHERWISE THE" 390 PRINT" LANDER WILL NOT SURVIVE A LANDING ON THE MOON."\PRINT 400 GOSUB 1550 \ PRINTCHR$(12), 410 PRINT"REMEMBER - THE ONLY COMMANDS YOU CAN USE TO CONTROL" 420 PRINT"YOUR SPEED ARE: 0 THROUGH 9 (BURN RATE)." 430 PRINT"SMALLER BURN RATES MAKE THE LANDER FALL FASTER OR" 440 PRINT"DECREASE UPWARD VELOCITY." 450 PRINT"LARGER BURN RATES MAKE THE LANDER FALL SLOWER OR" 460 PRINT"INCREASE UPWARD VELOCITY." 470 PRINT"'2' KEEPS THE VELOCITY CONSTANT."\PRINT 480 PRINT"THE LARGER THE BURN RATE, THE FASTER YOU USE FUEL." 490 PRINT"IF YOU RUN OUT OF FUEL, YOU CAN'T CONTROL YOUR," 500 PRINT"SPEED - GRAVITY TAKES OVER!" 510 PRINT\PRINT"WHEN THE GAME DISPLAY APPEARS, YOUR LANDER WILL BE" 520 PRINT"IN THE UPPER LEFT, PLATFORM ON THE BOTTOM." 530 PRINT"AT THAT POINT, TYPE IN ANY BURN RATE TO BEGIN." 540 GOSUB 1550 550 PRINTCHR$(12), 560 REM INITIALIZE DATA 570 T= 0 580 H= 500 590 V= 35+INT(10*RND(0)) 600 F= 150+INT(50*RND(0)) 610 B= 0 620 REM INITIALIZE SCREEN 630 PRINTCHR$(12), 640 REM THE STARS 650 FOR X= 0 TO 50 660 POKE S+INT(1020*RND(0)),174 670 NEXT X 680 REM THE LANDING PLATFORM 690 FOR X= 54 TO 74 700 PLOT X,0,1 710 NEXT X 720 GOSUB 1570 \ K=INP(1) \ GOTO 760 730 GOSUB 1570 740 REM INPUT 750 IF INP(0)=0 THEN 760 ELSE K=INP(1) 760 B=K-48 770 IF B<0 OR B>9 THEN 750 780 REM PROCESSING 790 T=T+1 800 IF T=127 THEN 1090 810 IF T=74 THEN 970 820 IF T>74 THEN B=2 830 IF B>F THEN B=F 840 F=F-B 850 V1= V-B/2+1 860 IF H<(V+V1)/2 THEN 1020 870 H= H-(V+V1)/2 880 IF H>500 THEN 1090 890 V= V1 900 IF F>0 THEN 730 910 REM FREE-FALL ROUTINE 920 PRINT CHR$(11) 930 PRINT" OUT OF FUEL - FREE FALL STARTS!" 940 B=0 950 GOSUB 1570 960 GOTO 790 970 PRINT CHR$(11) 980 PRINT\PRINT" YOU HAVE OVER SHOT THE LUNAR PLATFORM... BUCKLE YOUR" 990 PRINT" SEATBELTS AND PREPARE FOR A CRASH LANDING!" 1000 GOTO 840 1010 REM CONTACT 1020 IF T>54 THEN 1140 1030 REM MISSED PLATFORM ROUTINE 1040 PRINT CHR$(11) 1050 PRINT\PRINT\PRINT\PRINT" YOU HAVE MISSED THE LANDING PLATFORM, AND" 1060 PRINT" CRASHED ON THE LUNAR SURFACE, JUST BELOW." 1070 GOTO 1160 1080 REM ORBIT ROUTINE 1090 PRINTCHR$(11)\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT 1100 PRINT" YOU HAVE OVER-CORRECTED YOUR BURN RATE TO COUNTERACT" 1110 PRINT" THE GRAVITATIONAL PULL AND GONE INTO ORBIT ..FOREVER!" 1120 GOTO 1520 1130 REM CONACT WITH PLATFORM ROUTINE 1140 PRINTCHR$(11)\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT 1150 PRINT" CONTACT WITH PLATFORM!" 1160 IF B=2 THEN D=H/V 1170 IF B=2 THEN 1190 1180 D= (-V+SQRT(V^2+H*(4-2*B))) / (2-B) 1190 V= V+D*(2-B) 1200 T= T+D 1210 H= 0 1220 GOSUB 1570 1230 REM COMMENT ROUTINE 1240 PRINTCHR$(11) 1250 RESTORE 1260 1260 DATA "BY GEORGE, YOU'VE GOT IT!" 1270 DATA "WHEN YOUR WHIPLASH SUBSIDES, HAVE ANOTHER GO!" 1280 DATA "WELL, BACK TO THE OLD DRAWING BOARD." 1290 DATA "DID YOU KNOW THAT THIS LEM COSTS $114,942,124.99?" 1300 DATA "PLEASE DON'T LITTER." 1310 DATA "WITH A POLY-88 TO HELP YOU, YOU MIGHT OF MADE IT!" 1320 DATA "SIMPLY SMASHING!" 1330 DATA "TO DIE, TO SLEEP, NO MORE....." 1340 DATA "IT'S A BIRD! IT'S A PLANE! IT'S A MISCALCULATION!" 1350 DATA "ACTION UNGOVERNED BY THOUGHT ENDS IN DIASTER" 1360 DATA "WELCOME TO NEGATIVE POPULATION GROWTH!" 1370 DATA "LIKE A BRICK!" 1380 DATA "CLOSE DOESN'T COUNT" 1390 DATA "AH! TO HAVE TO COME SO CLOSE!" 1400 DATA "OOH! ..... I CAN'T LOOK AT THE MESS!" 1410 DATA "BLOOD, GUTS, TWISTED METAL, YUCK!" 1420 T1= INT(V/3.1) 1430 IF T1>15 THEN T1=15 1440 FOR X= 0 TO T1 1450 READ L$ 1460 NEXT X 1470 PRINTCHR$(11)\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT\PRINT 1480 PRINT" ",L$ 1490 IF V*.27 < 9 THEN 1520 1500 PRINT\PRINT" AND YOU HAVE JUST BLASTED A NEW LUNAR CRATER",V*.27, 1510 PRINT" FEET DEEP!" 1520 PRINTCHR$(16+8) \ GOSUB 1550 1530 GOTO 560 1540 REM CONINUE ON USER INPUT 1550 INPUT"TYPE RETURN KEY NOW TO CONTINUE....",Z$\RETURN 1560 REM HEADER PRINT-OUT SUBROUTINE 1570 REM 1580 PRINTCHR$(11), 1590 PRINT" TIME=",T, 1600 PRINT" HEIGHT=",H, 1610 PRINT" VELOCITY=",V, 1620 PRINT" FUEL=",F, 1630 PRINT" BURN=",%2I,B 1640 REM PLOT LEM ROUTINE 1650 IF H/10>46 THEN 1680 1660 PLOT T,H/10,1 1670 PLOT 0,0,0 1680 RETURN 1690 REM EXIT ROUTINE 1700 PRINTCHR$(12), 1710 FOR I=1 TO 10 1720 K=INP(1) 1730 PRINTK,K-48 1740 NEXT 1750 PRINTCHR$(12) 5REM WRITTEN TERRY WOODWARD,COMPUTER CENTER,205-942-8567 10X=0\GOSUB 4490 30DIM D(6),Q(12,12),K(3,3),G(12,12),Z$(15),C$(6),C(9,2),W8(10) 50DEF FNA(X)=INT(X*RND(0)+1) 70B9=RND(TIME(0)/65535)\T=(FNA(20)+20)*100\T0=T\E=4000\P=15\S=500\V=6144 90DEF FND(D)=SQRT((K(I,1)-S1)^2+(K(I,2)-S2)^2) 110Q1=FNA(8)\Q2=Q1\S1=Q1\S2=Q1 130FORI=1TO9\FORJ=1TO2\C(I,J)=1\NEXTJ\NEXTI 150C(2,1)=-1\C(3,1)=-1\C(4,1)=-1\C(4,2)=-1\C(5,2)=-1\C(6,2)=-1 170C(1,1)=0\C(3,2)=0\C(5,1)=0\C(7,2)=0\C(9,1)=0 190FORI=1TO6\D(I)=0\NEXT 210B9=0\K9=0 230FORI=1TO8\FORJ=1TO8\K3=0\B3=0 250IFRND(0)<.8 THEN290 270K3=FNA(3)\K9=K9+K3 290IFRND(0)<.96THEN330 310B3=1\B9=B9+1 330S3=FNA(5)\G(I,J)=(K3*100)+(B3*10)+S3\NEXTJ\NEXTI 350IF(K9=0)OR(B9=0)THEN210 370INPUT "PRESS RETURN TO CONTINUE",W9$\!CHR$(12), 390POKE 3103,27\POKE 3102,28\!CHR$(12),\GOTO570 410IFQ1>=1THEN450 430S1=1\Q1=1 450IFQ1<=8THEN490 470S1=8\Q1=8 490IFQ2>=1THEN530 510S2=1\Q2=1 530IFQ2<=8THEN590 550S2=8 570Q2=8 590X=G(Q1,Q2)/100\K3=INT(X)\B3=INT((X-K3)*10) 610S3=G(Q1,Q2)-((B3*10)+(K3*100)) 630IFK3=0THEN670 ELSE!"COMBAT AREA CONDITION RED" 650IFS>(K3*100)THEN670ELSE!"SHIELDS LOW" 670FORI=1TO3\FORJ=1TO3\K(I,J)=0\NEXTJ\NEXTI 690FORI=1TO8\FORJ=1TO8\Q(I,J)=0\NEXTJ\NEXTI 710Q(S1,S2)=1 730FORI=1TOK3\GOSUB 4410 750Q(R1,R2)=2\K(I,1)=R1\K(I,2)=R2\K(I,3)=200\NEXTI 770IFB3=0THEN810 790GOSUB 4410\Q(R1,R2)=4 810FORI=1TOS3\GOSUB 4410\Q(R1,R2)=3\NEXTI 830GOSUB 3050 850GOSUB 2670 870!"COMMAND: ", 890IFINP(0)=0THENGOSUB4870\GOTO890 910A=INP(1)\IF(A<48)OR(A>54)THEN890 930W9$=CHR$(A)\A=VAL(W9$)\!A 950IF(A>=0)OR(A<=6)THEN1030 970R1=A+1 990IFD(R1)>=0THEN1030 1010GOSUB 4330\! Z$," NOT OPERATIONAL"\GOTO830 1030ON A+1 GOTO 1070,4890,1750,1930,2470,3850,4450 1050!"INVALID COMMAND"\GOTO870 1070INPUT "COURSE(1-9): ",C1 1090IF(C1<1)OR(C1>=9)THEN1070 1110INPUT "WARP FACTOR (0-8): ",W1 1130IF(W1<=0)OR(W1>8)THEN1110 1150IF(D(1)>=0)OR(W1<=.5)THEN1190 1170!"ENGINES DAMAGED,MAX SPEED IS WARP .5"\GOTO1110 1190IFE-(W1*8)>0THEN1270 1210IFS<1THEN2810 1230!"YOU ONLY HAVE ",E," UNITS.SUGGEST YOU CROSS-CIRCUT" 1250!"FROM SHIELDS,WHICH HAVE ",S," UNITS"\GOTO870 1270FORI=1TO6\IFD(I)>=0THEN1310 1290D(I)=D(I)+1 1310NEXTI 1330IF(FNA(10)<>5)OR(W1<2)THEN1390 1350R1=FNA(6)\D(R1)=D(R1)-FNA(5)\GOSUB 4330 1370!"DAMAGE CONTROL REPORTS: ",Z$," DAMAGED." 1390N=INT(W1*8) 1410Q(S1,S2)=0\X=S1\Y=S2\C2=INT(C1) 1430X1=C(C2,1)+(C(C2+1,1)-C(C2,1))*(C1-C2) 1450X2=C(C2,2)+(C(C2+1,2)-C(C2,2))*(C1-C2) 1470FORI=1TON\S1=S1+X1\S2=S2+X2 1490IF(S1<1)OR(S1>8)OR(S2<1)OR(S2>8)THEN1630 1510IFQ(INT(S1),INT(S2))=0THEN1550 1530S1=S1-X1\S2=S2-X2\GOTO1570 1550NEXTI 1570S1=INT(S1)\S2=INT(S2)\Q(S1,S2)=1\E=E-N\IFW1<1THEN830 1590T=T+1 1610IF(T>T0+30)THEN2870ELSEGOTO830 1630X=Q1*8+X+X1*N\Y=Q2*8+Y+X2*N\Q1=INT(X/8)\Q2=INT(Y/8) 1650S1=INT(X-Q1*8+.5)\S2=INT(Y-Q2*8+.5)\IF S1>0THEN1690 1670Q1=Q1-1\S1=8 1690IFS2>0THEN1730 1710Q2=Q2-1\S2=8 1730T=T+1\E=E-N+5\IF(T>T0+30)THEN2870ELSE410 1750IFK3=0THEN2650 1770!"ENERGY AVAILABLE=",E\INPUT"ENERGY UNITS TO FIRE:",X 1790IFX<1THEN870 1810IFE-X<0THEN1770ELSEE=E-X 1830FORI=1TO3\IFK(I,3)=0THEN1910 1850H=INT(X/(FND(0)))\K(I,3)=K(I,3)-H 1870!H," UNIT HIT ON KLINGON",\IF K(I,3)>0 THEN !\GOTO1910 1890GOSUB 2310 1910NEXTI\GOTO2290 1930IFP>0THEN1970 1950!"PHOTON TORPEDOS EXPENDED"\GOTO870 1970INPUT"TORPEDO COURSE (1-9): ",C1 1990IF(C1<1)OR(C1>=9)THEN1970 2010C2=INT(C1)\X1=C(C2,1)+(C(C2+1,1)-C(C2,1))*(C1-C2) 2030X2=C(C2,2)+(C(C2+1,2)-C(C2,2))*(C1-C2)\X=S1 2050Y=S2\P=P-1 2070X=X+X1\Y=Y+X2 2110IF(X<1)OR(X>8)OR(Y<1)OR(Y>8)THEN2450 2130POKE V+(INT(X)*64)+(INT(Y)*3),31\FORW9=1TO20\NEXTW9 2150POKE V+(INT(X)*64)+(INT(Y)*3),63 2170IF(Q(INT(X),INT(Y))=0)AND(Q(INT(X+.5),INT(Y+.5))=0)THEN2070 2190FORI=1TO3 2210IF(INT(X)=K(I,1))AND(INT(Y)=K(I,2))THEN2270 2230IF(INT(X+.5)=K(I,1))AND(INT(Y+.5)=K(I,2))THEN2270 2250NEXTI\GOTO2390 2270GOSUB 2310 2290GOSUB 2670\GOTO830 2310K(I,3)=0\Q(K(I,1),K(I,2))=0\!" KLINGON DESTROYED" \K3=K3-1 2330K9=K9-1\IFK9=0THEN2990 2350G(Q1,Q2)=G(Q1,Q2)-100 2370RETURN 2390IF(Q(INT(X),INT(Y))=0)OR(Q(INT(X+.5),INT(Y+.5))=0)THEN2070 2400IFQ(INT(X),INT(Y))<>3THEN2430 2410!"STAR DESTROYED"\Q(INT(X),INT(Y))=0\GOTO2290 2430POKE 3103,24\POKE 3102,28\!"STARBASE DESTROYED" 2440!"YOU ARE RELIEVED OF DUTY"\GOTO4770 2450!"TORPEDO MISSED"\GOTO2290 2470!"ENERGY AVAILABLE=",E+S\INPUT"ENERGY UNITS TO SHIELDS:",X 2490IFX<0THEN870 2510IF(E+S-X<0)THEN2470 2530E=E+S-X\S=X\GOTO830 2550FORR1=1TO6\GOSUB 4330 2590!Z$,\IFD(R1)=0THEN!" IN SERVICE ", ELSE!" DAMAGED ", 2610IFINT(R1/2)=R1/2THEN!\FORW8=1TO200\NEXTW8 2630NEXT R1\GOTO870 2650!"NO KLINGONS IN THIS QUADRANT"\GOTO870 2670IFC$="DOCKED"THENRETURN 2690IFK3=0THENRETURN 2710FORI=1TO3\IFK(I,3)=0THEN2770 2730H=INT(K(I,3)/FND(0)+1)\S=S-H\! H," UNIT HIT ON ENTERPRISE" 2750IFS<0THENEXIT2910 2770NEXTI 2790RETURN 2810POKE 3102,28\POKE 3103,24 2830!CHR$(12),\!"** FATAL ERROR **"\!"ENTERPRISE IS DEAD IN SPACE" 2850GOTO2950 2870POKE 3103,24\POKE 3102,28 2890!CHR$(12),\!"IT IS STARDATE ",T\GOTO2950 2910POKE 3102,28\POKE 3103,24\!CHR$(12), 2930!"THE ENTERPRISE HAS BEEN DESTROYED" 2950!"THE FEDERATION WILL BE CONQUERED BY THE REMAINING ",K9," KLINGONS!!" 2970GOTO4770 2990POKE 3102,28\POKE 3103,24\! CHR$(12), 3010!"THE LAST KLINGON HAS BEEN DESTROYED."\!"CONGRATULATIONS!" 3030GOTO4770 3050FORI=S1-1TOS1+1\FORJ=S2-1TOS2+1 3070IF(I<1)OR(I>8)OR(J<1)OR(J>8)THEN3110 3090IFQ(I,J)=4THENEXIT3130 3110NEXTJ\NEXTI\GOTO3170 3130C$="DOCKED"\E=3000\P=15 3150FORI=1TO6\D(I)=0\NEXTI\S=500\GOTO3270 3170IFK3>0THEN3230 3190IFE<30