00000000: 00 20 54 4F 20 44 59 4E 41 54 52 41 43 4B 0D 20 |. TO DYNATRACK. |
00000010: 53 45 54 55 50 0D 20 44 54 52 41 43 4B 20 3A 57 |SETUP. DTRACK :W|
00000020: 0D 45 4E 44 0D 0D 54 4F 20 44 52 41 57 54 52 41 |.END..TO DRAWTRA|
00000030: 43 4B 20 3A 52 31 20 3A 52 32 0D 20 44 52 41 57 |CK :R1 :R2. DRAW|
00000040: 20 46 55 4C 4C 53 43 52 45 45 4E 0D 20 48 49 44 | FULLSCREEN. HID|
00000050: 45 54 55 52 54 4C 45 0D 20 43 49 52 43 4C 45 20 |ETURTLE. CIRCLE |
00000060: 3A 52 31 0D 20 43 49 52 43 4C 45 20 3A 52 32 0D |:R1. CIRCLE :R2.|
00000070: 20 4C 45 46 54 20 39 30 0D 20 50 45 4E 55 50 20 | LEFT 90. PENUP |
00000080: 46 4F 52 57 41 52 44 20 28 20 3A 52 32 20 2B 20 |FORWARD ( :R2 + |
00000090: 3A 52 31 20 29 20 2F 20 32 0D 20 52 49 47 48 54 |:R1 ) / 2. RIGHT|
000000A0: 20 39 30 0D 20 53 48 4F 57 54 55 52 54 4C 45 0D | 90. SHOWTURTLE.|
000000B0: 45 4E 44 0D 0D 54 4F 20 53 54 41 52 54 0D 20 50 |END..TO START. P|
000000C0: 45 4E 55 50 0D 20 4D 41 4B 45 20 22 56 58 20 30 |ENUP. MAKE "VX 0|
000000D0: 0D 20 4D 41 4B 45 20 22 56 59 20 30 0D 45 4E 44 |. MAKE "VY 0.END|
000000E0: 0D 0D 54 4F 20 44 54 2E 44 54 52 41 43 4B 20 3A |..TO DT.DTRACK :|
000000F0: 54 0D 20 44 59 4E 41 4D 4F 56 45 0D 20 43 48 45 |T. DYNAMOVE. CHE|
00000100: 43 4B 2E 44 54 52 41 43 4B 0D 20 43 4F 4D 4D 41 |CK.DTRACK. COMMA|
00000110: 4E 44 0D 20 44 54 2E 44 54 52 41 43 4B 20 3A 54 |ND. DT.DTRACK :T|
00000120: 20 2B 20 31 0D 45 4E 44 0D 0D 54 4F 20 44 54 52 | + 1.END..TO DTR|
00000130: 41 43 4B 20 3A 57 0D 20 44 52 41 57 54 52 41 43 |ACK :W. DRAWTRAC|
00000140: 4B 20 35 30 20 3A 57 20 2B 20 35 30 0D 20 53 54 |K 50 :W + 50. ST|
00000150: 41 52 54 0D 20 44 54 2E 44 54 52 41 43 4B 20 30 |ART. DT.DTRACK 0|
00000160: 0D 45 4E 44 0D 0D 54 4F 20 52 45 50 4C 41 59 0D |.END..TO REPLAY.|
00000170: 20 4E 4F 44 52 41 57 0D 20 49 4E 53 54 52 55 43 | NODRAW. INSTRUC|
00000180: 54 49 4F 4E 53 32 0D 20 44 54 52 41 43 4B 20 3A |TIONS2. DTRACK :|
00000190: 57 0D 45 4E 44 0D 0D 54 4F 20 49 4E 53 54 52 55 |W.END..TO INSTRU|
000001A0: 43 54 49 4F 4E 53 32 0D 20 50 52 49 4E 54 20 5B |CTIONS2. PRINT [|
000001B0: 48 4F 57 20 57 49 44 45 20 44 4F 20 59 4F 55 20 |HOW WIDE DO YOU |
000001C0: 57 41 4E 54 20 54 48 45 20 54 52 41 43 4B 20 54 |WANT THE TRACK T|
000001D0: 4F 20 42 45 3F 5D 0D 20 50 52 49 4E 54 20 5B 28 |O BE?]. PRINT [(|
000001E0: 35 30 20 49 53 20 41 20 47 4F 4F 44 20 53 49 5A |50 IS A GOOD SIZ|
000001F0: 45 2E 29 5D 0D 20 4D 41 4B 45 20 22 57 20 46 49 |E.)]. MAKE "W FI|
00000200: 52 53 54 20 52 45 51 55 45 53 54 0D 20 49 46 20 |RST REQUEST. IF |
00000210: 4E 4F 54 20 4E 55 4D 42 45 52 3F 20 3A 57 20 49 |NOT NUMBER? :W I|
00000220: 4E 53 54 52 55 43 54 49 4F 4E 53 32 20 53 54 4F |NSTRUCTIONS2 STO|
00000230: 50 0D 20 50 52 49 4E 54 20 5B 48 4F 57 20 53 54 |P. PRINT [HOW ST|
00000240: 52 4F 4E 47 20 44 4F 20 59 4F 55 20 57 41 4E 54 |RONG DO YOU WANT|
00000250: 20 54 48 45 20 4B 49 43 4B 20 54 4F 20 42 45 3F | THE KICK TO BE?|
00000260: 5D 0D 20 50 52 49 4E 54 20 5B 28 33 20 49 53 20 |]. PRINT [(3 IS |
00000270: 41 20 47 4F 4F 44 20 53 54 52 45 4E 47 54 48 2E |A GOOD STRENGTH.|
00000280: 29 5D 0D 20 4D 41 4B 45 20 22 46 4F 52 43 45 20 |)]. MAKE "FORCE |
00000290: 46 49 52 53 54 20 52 45 51 55 45 53 54 0D 20 49 |FIRST REQUEST. I|
000002A0: 46 20 4E 4F 54 20 4E 55 4D 42 45 52 3F 20 3A 46 |F NOT NUMBER? :F|
000002B0: 4F 52 43 45 20 49 4E 53 54 52 55 43 54 49 4F 4E |ORCE INSTRUCTION|
000002C0: 53 32 20 53 54 4F 50 0D 45 4E 44 0D 0D 54 4F 20 |S2 STOP.END..TO |
000002D0: 49 4E 53 54 52 55 43 54 49 4F 4E 53 31 0D 20 50 |INSTRUCTIONS1. P|
000002E0: 52 49 4E 54 20 5B 54 48 45 20 4F 42 4A 45 43 54 |RINT [THE OBJECT|
000002F0: 20 4F 46 20 54 48 49 53 20 47 41 4D 45 20 49 53 | OF THIS GAME IS|
00000300: 20 54 4F 20 53 45 45 5D 0D 20 50 52 49 4E 54 20 | TO SEE]. PRINT |
00000310: 5B 48 4F 57 20 4C 4F 4E 47 20 59 4F 55 20 43 41 |[HOW LONG YOU CA|
00000320: 4E 20 4B 45 45 50 20 54 48 45 20 44 59 4E 41 54 |N KEEP THE DYNAT|
00000330: 55 52 54 4C 45 5D 0D 20 50 52 49 4E 54 20 5B 4D |URTLE]. PRINT [M|
00000340: 4F 56 49 4E 47 20 4F 4E 20 41 20 43 49 52 43 55 |OVING ON A CIRCU|
00000350: 4C 41 52 20 54 52 41 43 4B 2C 5D 0D 20 50 52 49 |LAR TRACK,]. PRI|
00000360: 4E 54 20 5B 57 49 54 48 4F 55 54 20 43 52 41 53 |NT [WITHOUT CRAS|
00000370: 48 49 4E 47 21 5D 0D 20 50 52 49 4E 54 20 5B 5D |HING!]. PRINT []|
00000380: 0D 20 50 52 49 4E 54 20 5B 59 4F 55 20 4D 4F 56 |. PRINT [YOU MOV|
00000390: 45 20 54 48 45 20 54 55 52 54 4C 45 20 41 4C 4F |E THE TURTLE ALO|
000003A0: 4E 47 20 54 48 45 20 54 52 41 43 4B 5D 0D 20 50 |NG THE TRACK]. P|
000003B0: 52 49 4E 54 20 5B 57 49 54 48 20 54 48 45 20 46 |RINT [WITH THE F|
000003C0: 4F 4C 4C 4F 57 49 4E 47 20 4B 45 59 53 3A 5D 0D |OLLOWING KEYS:].|
000003D0: 20 50 52 49 4E 54 20 5B 5D 0D 20 50 52 49 4E 54 | PRINT []. PRINT|
000003E0: 20 5B 4C 20 54 55 52 4E 20 54 48 45 20 54 55 52 | [L TURN THE TUR|
000003F0: 54 4C 45 20 4C 45 46 54 5D 0D 20 50 52 49 4E 54 |TLE LEFT]. PRINT|
00000400: 20 5B 52 20 54 55 52 4E 20 54 48 45 20 54 55 52 | [R TURN THE TUR|
00000410: 54 4C 45 20 52 49 47 48 54 5D 0D 20 50 52 49 4E |TLE RIGHT]. PRIN|
00000420: 54 20 5B 4B 20 47 49 56 45 20 54 48 45 20 54 55 |T [K GIVE THE TU|
00000430: 52 54 4C 45 20 41 20 22 4B 49 43 4B 22 20 49 4E |RTLE A "KICK" IN|
00000440: 20 54 48 45 5D 0D 20 50 52 49 4E 54 20 5B 44 49 | THE]. PRINT [DI|
00000450: 52 45 43 54 49 4F 4E 20 49 54 20 49 53 20 50 4F |RECTION IT IS PO|
00000460: 49 4E 54 49 4E 47 2E 5D 0D 20 50 52 49 4E 54 20 |INTING.]. PRINT |
00000470: 5B 5D 0D 45 4E 44 0D 0D 54 4F 20 49 4E 53 54 52 |[].END..TO INSTR|
00000480: 55 43 54 49 4F 4E 53 0D 20 49 4E 53 54 52 55 43 |UCTIONS. INSTRUC|
00000490: 54 49 4F 4E 53 31 0D 20 49 4E 53 54 52 55 43 54 |TIONS1. INSTRUCT|
000004A0: 49 4F 4E 53 32 0D 45 4E 44 0D 0D 54 4F 20 53 45 |IONS2.END..TO SE|
000004B0: 54 55 50 0D 20 4E 4F 44 52 41 57 0D 20 49 4E 53 |TUP. NODRAW. INS|
000004C0: 54 52 55 43 54 49 4F 4E 53 0D 45 4E 44 0D 0D 54 |TRUCTIONS.END..T|
000004D0: 4F 20 43 49 52 43 4C 45 20 3A 52 0D 20 4C 45 46 |O CIRCLE :R. LEF|
000004E0: 54 20 39 30 0D 20 50 45 4E 55 50 20 46 4F 52 57 |T 90. PENUP FORW|
000004F0: 41 52 44 20 3A 52 20 50 45 4E 44 4F 57 4E 0D 20 |ARD :R PENDOWN. |
00000500: 52 49 47 48 54 20 39 30 0D 20 52 43 49 52 43 4C |RIGHT 90. RCIRCL|
00000510: 45 20 3A 52 0D 20 52 49 47 48 54 20 39 30 0D 20 |E :R. RIGHT 90. |
00000520: 50 45 4E 55 50 20 46 4F 52 57 41 52 44 20 3A 52 |PENUP FORWARD :R|
00000530: 20 50 45 4E 44 4F 57 4E 0D 20 4C 45 46 54 20 39 | PENDOWN. LEFT 9|
00000540: 30 0D 45 4E 44 0D 0D 54 4F 20 44 59 4E 41 4D 4F |0.END..TO DYNAMO|
00000550: 56 45 0D 20 53 45 54 58 59 20 58 43 4F 52 20 2B |VE. SETXY XCOR +|
00000560: 20 3A 56 58 20 59 43 4F 52 20 2B 20 3A 56 59 0D | :VX YCOR + :VY.|
00000570: 45 4E 44 0D 0D 54 4F 20 43 48 45 43 4B 2E 44 54 |END..TO CHECK.DT|
00000580: 52 41 43 4B 0D 20 43 48 45 43 4B 2E 53 54 4F 50 |RACK. CHECK.STOP|
00000590: 50 45 44 0D 20 49 46 20 44 49 53 54 41 4E 43 45 |PED. IF DISTANCE|
000005A0: 2E 53 51 55 41 52 45 44 20 30 20 30 20 3C 20 35 |.SQUARED 0 0 < 5|
000005B0: 30 20 2A 20 35 30 20 45 4E 44 47 41 4D 45 20 53 |0 * 50 ENDGAME S|
000005C0: 54 4F 50 0D 20 49 46 20 44 49 53 54 41 4E 43 45 |TOP. IF DISTANCE|
000005D0: 2E 53 51 55 41 52 45 44 20 30 20 30 20 3E 20 28 |.SQUARED 0 0 > (|
000005E0: 20 35 30 20 2B 20 3A 57 20 29 20 2A 20 28 20 35 | 50 + :W ) * ( 5|
000005F0: 30 20 2B 20 3A 57 20 29 20 45 4E 44 47 41 4D 45 |0 + :W ) ENDGAME|
00000600: 0D 45 4E 44 0D 0D 54 4F 20 4B 49 43 4B 0D 20 4D |.END..TO KICK. M|
00000610: 41 4B 45 20 22 56 58 20 3A 56 58 20 2B 20 3A 46 |AKE "VX :VX + :F|
00000620: 4F 52 43 45 20 2A 20 53 49 4E 20 48 45 41 44 49 |ORCE * SIN HEADI|
00000630: 4E 47 0D 20 4D 41 4B 45 20 22 56 59 20 3A 56 59 |NG. MAKE "VY :VY|
00000640: 20 2B 20 3A 46 4F 52 43 45 20 2A 20 43 4F 53 20 | + :FORCE * COS |
00000650: 48 45 41 44 49 4E 47 0D 45 4E 44 0D 0D 54 4F 20 |HEADING.END..TO |
00000660: 43 4F 4D 4D 41 4E 44 0D 20 4C 4F 43 41 4C 20 22 |COMMAND. LOCAL "|
00000670: 43 4F 4D 0D 20 4D 41 4B 45 20 22 43 4F 4D 20 52 |COM. MAKE "COM R|
00000680: 45 41 44 4B 45 59 0D 20 49 46 20 3A 43 4F 4D 20 |EADKEY. IF :COM |
00000690: 3D 20 22 20 53 54 4F 50 0D 20 49 46 20 3A 43 4F |= " STOP. IF :CO|
000006A0: 4D 20 3D 20 22 52 20 52 49 47 48 54 20 33 30 20 |M = "R RIGHT 30 |
000006B0: 53 54 4F 50 0D 20 49 46 20 3A 43 4F 4D 20 3D 20 |STOP. IF :COM = |
000006C0: 22 4C 20 4C 45 46 54 20 33 30 20 53 54 4F 50 0D |"L LEFT 30 STOP.|
000006D0: 20 49 46 20 3A 43 4F 4D 20 3D 20 22 4B 20 4B 49 | IF :COM = "K KI|
000006E0: 43 4B 20 53 54 4F 50 0D 45 4E 44 0D 0D 54 4F 20 |CK STOP.END..TO |
000006F0: 52 45 41 44 4B 45 59 0D 20 49 46 20 52 43 3F 20 |READKEY. IF RC? |
00000700: 4F 55 54 50 55 54 20 52 45 41 44 43 48 41 52 41 |OUTPUT READCHARA|
00000710: 43 54 45 52 0D 20 4F 55 54 50 55 54 20 22 0D 45 |CTER. OUTPUT ".E|
00000720: 4E 44 0D 0D 54 4F 20 52 45 50 4C 41 59 3F 0D 20 |ND..TO REPLAY?. |
00000730: 50 52 49 4E 54 20 5B 44 4F 20 59 4F 55 20 57 41 |PRINT [DO YOU WA|
00000740: 4E 54 20 54 4F 20 50 4C 41 59 20 41 47 41 49 4E |NT TO PLAY AGAIN|
00000750: 3F 5D 0D 20 49 46 20 28 20 46 49 52 53 54 20 46 |?]. IF ( FIRST F|
00000760: 49 52 53 54 20 52 45 51 55 45 53 54 20 29 20 3D |IRST REQUEST ) =|
00000770: 20 22 59 20 52 45 50 4C 41 59 20 53 54 4F 50 0D | "Y REPLAY STOP.|
00000780: 20 54 4F 50 4C 45 56 45 4C 0D 45 4E 44 0D 0D 54 | TOPLEVEL.END..T|
00000790: 4F 20 45 4E 44 47 41 4D 45 0D 20 43 4C 45 41 52 |O ENDGAME. CLEAR|
000007A0: 49 4E 50 55 54 0D 20 53 50 4C 49 54 53 43 52 45 |INPUT. SPLITSCRE|
000007B0: 45 4E 0D 20 50 52 49 4E 54 20 5B 59 4F 55 20 43 |EN. PRINT [YOU C|
000007C0: 52 41 53 48 45 44 5D 0D 20 50 52 49 4E 54 20 53 |RASHED]. PRINT S|
000007D0: 45 20 5B 59 4F 55 52 20 54 49 4D 45 20 57 41 53 |E [YOUR TIME WAS|
000007E0: 5D 20 3A 54 0D 20 52 45 50 4C 41 59 3F 0D 45 4E |] :T. REPLAY?.EN|
000007F0: 44 0D 0D 54 4F 20 44 49 53 54 41 4E 43 45 2E 53 |D..TO DISTANCE.S|
00000800: 51 55 41 52 45 44 20 3A 58 20 3A 59 0D 20 4F 55 |QUARED :X :Y. OU|
00000810: 54 50 55 54 20 28 20 58 43 4F 52 20 2D 20 3A 58 |TPUT ( XCOR - :X|
00000820: 20 29 20 2A 20 28 20 58 43 4F 52 20 2D 20 3A 58 | ) * ( XCOR - :X|
00000830: 20 29 20 2B 20 28 20 59 43 4F 52 20 2D 20 3A 59 | ) + ( YCOR - :Y|
00000840: 20 29 20 2A 20 28 20 59 43 4F 52 20 2D 20 3A 59 | ) * ( YCOR - :Y|
00000850: 20 29 0D 45 4E 44 0D 0D 54 4F 20 43 48 45 43 4B | ).END..TO CHECK|
00000860: 2E 53 54 4F 50 50 45 44 0D 20 49 46 20 41 4C 4C |.STOPPED. IF ALL|
00000870: 4F 46 20 3A 56 58 20 3D 20 30 20 3A 56 59 20 3D |OF :VX = 0 :VY =|
00000880: 20 30 20 4D 41 4B 45 20 22 54 20 3A 54 20 2D 20 | 0 MAKE "T :T - |
00000890: 31 0D 45 4E 44 0D 0D 54 4F 20 52 43 50 20 3A 52 |1.END..TO RCP :R|
000008A0: 0D 20 52 49 47 48 54 20 35 0D 20 46 4F 52 57 41 |. RIGHT 5. FORWA|
000008B0: 52 44 20 33 2E 31 34 31 35 39 20 2A 20 3A 52 20 |RD 3.14159 * :R |
000008C0: 2F 20 31 38 0D 20 52 49 47 48 54 20 35 0D 45 4E |/ 18. RIGHT 5.EN|
000008D0: 44 0D 0D 54 4F 20 52 43 49 52 43 4C 45 20 3A 52 |D..TO RCIRCLE :R|
000008E0: 0D 20 52 45 50 45 41 54 20 33 36 20 5B 52 43 50 |. REPEAT 36 [RCP|
000008F0: 20 3A 52 5D 0D 45 4E 44 0D 0D 4D 41 4B 45 20 22 | :R].END..MAKE "|
00000900: 53 54 41 52 54 55 50 20 5B 44 59 4E 41 54 52 41 |STARTUP [DYNATRA|
00000910: 43 4B 5D 0D |CK]. |
. TO DYNATRACK. SETUP. DTRACK :W.END..TO
DRAWTRACK :R1 :R2. DRAW FULLSCREEN. HID
ETURTLE. CIRCLE :R1. CIRCLE :R2. LEFT 90
. PENUP FORWARD ( :R2 + :R1 ) / 2. RIGHT
90. SHOWTURTLE.END..TO START. PENUP. MA
KE "VX 0. MAKE "VY 0.END..TO DT.DTRACK :
T. DYNAMOVE. CHECK.DTRACK. COMMAND. DT.D
TRACK :T + 1.END..TO DTRACK :W. DRAWTRAC
K 50 :W + 50. START. DT.DTRACK 0.END..TO
REPLAY. NODRAW. INSTRUCTIONS2. DTRACK :
W.END..TO INSTRUCTIONS2. PRINT [HOW WIDE
DO YOU WANT THE TRACK TO BE?]. PRINT [(
50 IS A GOOD SIZE.)]. MAKE "W FIRST REQU
EST. IF NOT NUMBER? :W INSTRUCTIONS2 STO
P. PRINT [HOW STRONG DO YOU WANT THE KIC
K TO BE?]. PRINT [(3 IS A GOOD STRENGTH.
)]. MAKE "FORCE FIRST REQUEST. IF NOT NU
MBER? :FORCE INSTRUCTIONS2 STOP.END..TO
INSTRUCTIONS1. PRINT [THE OBJECT OF THIS
GAME IS TO SEE]. PRINT [HOW LONG YOU CA
N KEEP THE DYNATURTLE]. PRINT [MOVING ON
A CIRCULAR TRACK,]. PRINT [WITHOUT CRAS
HING!]. PRINT []. PRINT [YOU MOVE THE TU
RTLE ALONG THE TRACK]. PRINT [WITH THE F
OLLOWING KEYS:]. PRINT []. PRINT [L TURN
THE TURTLE LEFT]. PRINT [R TURN THE TUR
TLE RIGHT]. PRINT [K GIVE THE TURTLE A "
KICK" IN THE]. PRINT [DIRECTION IT IS PO
INTING.]. PRINT [].END..TO INSTRUCTIONS.
INSTRUCTIONS1. INSTRUCTIONS2.END..TO SE
TUP. NODRAW. INSTRUCTIONS.END..TO CIRCLE
:R. LEFT 90. PENUP FORWARD :R PENDOWN.
RIGHT 90. RCIRCLE :R. RIGHT 90. PENUP FO
RWARD :R PENDOWN. LEFT 90.END..TO DYNAMO
VE. SETXY XCOR + :VX YCOR + :VY.END..TO
CHECK.DTRACK. CHECK.STOPPED. IF DISTANCE
.SQUARED 0 0 < 50 * 50 ENDGAME STOP. IF
DISTANCE.SQUARED 0 0 > ( 50 + :W ) * ( 5
0 + :W ) ENDGAME.END..TO KICK. MAKE "VX
:VX + :FORCE * SIN HEADING. MAKE "VY :VY
+ :FORCE * COS HEADING.END..TO COMMAND.
LOCAL "COM. MAKE "COM READKEY. IF :COM
= " STOP. IF :COM = "R RIGHT 30 STOP. IF
:COM = "L LEFT 30 STOP. IF :COM = "K KI
CK STOP.END..TO READKEY. IF RC? OUTPUT R
EADCHARACTER. OUTPUT ".END..TO REPLAY?.
PRINT [DO YOU WANT TO PLAY AGAIN?]. IF (
FIRST FIRST REQUEST ) = "Y REPLAY STOP.
TOPLEVEL.END..TO ENDGAME. CLEARINPUT. S
PLITSCREEN. PRINT [YOU CRASHED]. PRINT S
E [YOUR TIME WAS] :T. REPLAY?.END..TO DI
STANCE.SQUARED :X :Y. OUTPUT ( XCOR - :X
) * ( XCOR - :X ) + ( YCOR - :Y ) * ( Y
COR - :Y ).END..TO CHECK.STOPPED. IF ALL
OF :VX = 0 :VY = 0 MAKE "T :T - 1.END..T
O RCP :R. RIGHT 5. FORWARD 3.14159 * :R
/ 18. RIGHT 5.END..TO RCIRCLE :R. REPEAT
36 [RCP :R].END..MAKE "STARTUP [DYNATRA
CK].
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL