00000000: 00 20 54 4F 20 52 52 0D 20 42 47 20 35 0D 45 4E |. TO RR. BG 5.EN|
00000010: 44 0D 0D 54 4F 20 57 48 49 4C 45 20 3A 43 4F 4E |D..TO WHILE :CON|
00000020: 44 20 3A 41 43 54 49 4F 4E 0D 20 49 46 20 4E 4F |D :ACTION. IF NO|
00000030: 54 20 52 55 4E 20 3A 43 4F 4E 44 20 53 54 4F 50 |T RUN :COND STOP|
00000040: 0D 20 52 55 4E 20 3A 41 43 54 49 4F 4E 0D 20 57 |. RUN :ACTION. W|
00000050: 48 49 4C 45 20 3A 43 4F 4E 44 20 3A 41 43 54 49 |HILE :COND :ACTI|
00000060: 4F 4E 0D 45 4E 44 0D 0D 54 4F 20 55 4E 54 49 4C |ON.END..TO UNTIL|
00000070: 20 3A 43 4F 4E 44 20 3A 41 43 54 49 4F 4E 0D 20 | :COND :ACTION. |
00000080: 49 46 20 52 55 4E 20 3A 43 4F 4E 44 20 53 54 4F |IF RUN :COND STO|
00000090: 50 0D 20 52 55 4E 20 3A 41 43 54 49 4F 4E 0D 20 |P. RUN :ACTION. |
000000A0: 55 4E 54 49 4C 20 3A 43 4F 4E 44 20 3A 41 43 54 |UNTIL :COND :ACT|
000000B0: 49 4F 4E 0D 45 4E 44 0D 0D 54 4F 20 49 4E 53 54 |ION.END..TO INST|
000000C0: 41 4E 54 0D 20 48 45 4C 50 0D 20 53 45 54 55 50 |ANT. HELP. SETUP|
000000D0: 0D 45 4E 44 0D 0D 54 4F 20 52 55 4E 2E 41 4C 4C |.END..TO RUN.ALL|
000000E0: 20 3A 43 4F 4D 4D 41 4E 44 53 0D 20 49 46 20 3A | :COMMANDS. IF :|
000000F0: 43 4F 4D 4D 41 4E 44 53 20 3D 20 5B 5D 20 53 54 |COMMANDS = [] ST|
00000100: 4F 50 0D 20 52 55 4E 20 46 49 52 53 54 20 3A 43 |OP. RUN FIRST :C|
00000110: 4F 4D 4D 41 4E 44 53 0D 20 52 55 4E 2E 41 4C 4C |OMMANDS. RUN.ALL|
00000120: 20 28 20 42 55 54 46 49 52 53 54 20 3A 43 4F 4D | ( BUTFIRST :COM|
00000130: 4D 41 4E 44 53 20 29 0D 45 4E 44 0D 0D 54 4F 20 |MANDS ).END..TO |
00000140: 48 45 4C 50 0D 20 54 45 58 54 53 43 52 45 45 4E |HELP. TEXTSCREEN|
00000150: 0D 20 43 4C 45 41 52 54 45 58 54 0D 20 43 55 52 |. CLEARTEXT. CUR|
00000160: 53 4F 52 20 30 20 30 0D 20 50 52 49 4E 54 20 5B |SOR 0 0. PRINT [|
00000170: 46 3A 20 4D 4F 56 45 53 20 54 48 45 20 54 55 52 |F: MOVES THE TUR|
00000180: 54 4C 45 20 46 4F 52 57 41 52 44 5D 0D 20 50 52 |TLE FORWARD]. PR|
00000190: 49 4E 54 20 5B 52 3A 20 54 55 52 4E 53 20 49 54 |INT [R: TURNS IT|
000001A0: 20 52 49 47 48 54 5D 0D 20 50 52 49 4E 54 20 5B | RIGHT]. PRINT [|
000001B0: 4C 3A 20 54 55 52 4E 53 20 49 54 20 4C 45 46 54 |L: TURNS IT LEFT|
000001C0: 5D 0D 20 50 52 49 4E 54 20 5B 44 3A 20 44 52 41 |]. PRINT [D: DRA|
000001D0: 57 20 28 43 4C 45 41 52 53 20 54 48 45 20 53 43 |W (CLEARS THE SC|
000001E0: 52 45 45 4E 29 5D 0D 20 50 52 49 4E 54 20 5B 55 |REEN)]. PRINT [U|
000001F0: 3A 20 55 4E 44 4F 20 28 45 52 41 53 45 53 20 54 |: UNDO (ERASES T|
00000200: 48 45 20 4C 41 53 54 20 43 4F 4D 4D 41 4E 44 29 |HE LAST COMMAND)|
00000210: 5D 0D 20 50 52 49 4E 54 20 5B 4E 3A 20 4E 41 4D |]. PRINT [N: NAM|
00000220: 45 53 20 54 48 45 20 50 49 43 54 55 52 45 5D 0D |ES THE PICTURE].|
00000230: 20 50 52 49 4E 54 20 5B 50 3A 20 53 48 4F 57 53 | PRINT [P: SHOWS|
00000240: 20 41 20 50 49 43 54 55 52 45 2E 20 41 53 4B 53 | A PICTURE. ASKS|
00000250: 20 46 4F 52 20 49 54 53 20 4E 41 4D 45 2E 5D 0D | FOR ITS NAME.].|
00000260: 20 50 52 49 4E 54 20 5B 43 3A 20 46 4F 52 20 43 | PRINT [C: FOR C|
00000270: 48 41 4E 47 49 4E 47 20 54 48 45 20 53 43 52 45 |HANGING THE SCRE|
00000280: 45 4E 20 43 4F 4C 4F 52 5D 0D 20 50 52 49 4E 54 |EN COLOR]. PRINT|
00000290: 20 5B 3F 3A 20 47 49 56 45 53 20 48 45 4C 50 5D | [?: GIVES HELP]|
000002A0: 0D 20 50 52 49 4E 54 20 5B 5D 20 50 52 49 4E 54 |. PRINT [] PRINT|
000002B0: 20 5B 5D 0D 20 50 52 49 4E 54 20 5B 50 52 45 53 | []. PRINT [PRES|
000002C0: 53 20 41 4E 59 20 4B 45 59 20 54 4F 20 43 4F 4E |S ANY KEY TO CON|
000002D0: 54 49 4E 55 45 5D 0D 20 50 52 49 4E 54 20 52 43 |TINUE]. PRINT RC|
000002E0: 0D 20 53 50 4C 49 54 53 43 52 45 45 4E 0D 20 43 |. SPLITSCREEN. C|
000002F0: 55 52 53 4F 52 20 30 20 32 30 0D 45 4E 44 0D 0D |URSOR 0 20.END..|
00000300: 54 4F 20 53 43 52 45 45 4E 0D 20 50 52 49 4E 54 |TO SCREEN. PRINT|
00000310: 20 5B 57 48 41 54 20 43 4F 4C 4F 52 20 44 4F 20 | [WHAT COLOR DO |
00000320: 59 4F 55 20 57 41 4E 54 20 54 4F 20 4D 41 4B 45 |YOU WANT TO MAKE|
00000330: 20 54 48 45 5D 0D 20 50 52 49 4E 54 20 5B 53 43 | THE]. PRINT [SC|
00000340: 52 45 45 4E 3F 20 50 49 43 4B 20 41 20 4E 55 4D |REEN? PICK A NUM|
00000350: 42 45 52 20 46 52 4F 4D 20 30 20 54 4F 20 31 35 |BER FROM 0 TO 15|
00000360: 5D 0D 20 50 52 49 4E 54 20 5B 48 49 54 20 52 45 |]. PRINT [HIT RE|
00000370: 54 55 52 4E 20 41 46 54 45 52 20 54 59 50 49 4E |TURN AFTER TYPIN|
00000380: 47 20 4E 55 4D 42 45 52 5D 0D 20 52 55 4E 2E 41 |G NUMBER]. RUN.A|
00000390: 4E 44 2E 52 45 43 4F 52 44 20 53 45 20 5B 42 47 |ND.RECORD SE [BG|
000003A0: 5D 20 52 45 51 55 45 53 54 0D 45 4E 44 0D 0D 54 |] REQUEST.END..T|
000003B0: 4F 20 41 53 4B 0D 20 50 52 49 4E 54 20 5B 57 48 |O ASK. PRINT [WH|
000003C0: 41 54 20 50 49 43 54 55 52 45 20 44 4F 20 59 4F |AT PICTURE DO YO|
000003D0: 55 20 57 41 4E 54 20 54 4F 20 53 48 4F 57 3F 5D |U WANT TO SHOW?]|
000003E0: 0D 20 50 52 49 4E 54 20 5B 48 49 54 20 52 45 54 |. PRINT [HIT RET|
000003F0: 55 52 4E 20 41 46 54 45 52 20 54 59 50 49 4E 47 |URN AFTER TYPING|
00000400: 20 4E 41 4D 45 21 5D 0D 20 52 55 4E 2E 41 4E 44 | NAME!]. RUN.AND|
00000410: 2E 52 45 43 4F 52 44 20 52 45 51 55 45 53 54 0D |.RECORD REQUEST.|
00000420: 45 4E 44 0D 0D 54 4F 20 4C 45 41 52 4E 0D 20 50 |END..TO LEARN. P|
00000430: 52 49 4E 54 20 5B 57 48 41 54 20 44 4F 20 59 4F |RINT [WHAT DO YO|
00000440: 55 20 57 41 4E 54 20 54 4F 20 43 41 4C 4C 20 54 |U WANT TO CALL T|
00000450: 48 49 53 20 50 49 43 54 55 52 45 3F 5D 0D 20 50 |HIS PICTURE?]. P|
00000460: 52 49 4E 54 20 5B 48 49 54 20 52 45 54 55 52 4E |RINT [HIT RETURN|
00000470: 20 41 46 54 45 52 20 54 59 50 49 4E 47 20 4E 41 | AFTER TYPING NA|
00000480: 4D 45 5D 0D 20 4C 4F 43 41 4C 20 22 4E 41 4D 45 |ME]. LOCAL "NAME|
00000490: 0D 20 4D 41 4B 45 20 22 4E 41 4D 45 20 28 20 46 |. MAKE "NAME ( F|
000004A0: 49 52 53 54 20 52 45 51 55 45 53 54 20 29 0D 20 |IRST REQUEST ). |
000004B0: 44 45 46 49 4E 45 20 3A 4E 41 4D 45 20 28 20 46 |DEFINE :NAME ( F|
000004C0: 50 55 54 20 5B 5D 20 3A 48 49 53 54 4F 52 59 20 |PUT [] :HISTORY |
000004D0: 29 0D 20 55 4E 44 4F 41 4C 4C 0D 45 4E 44 0D 0D |). UNDOALL.END..|
000004E0: 54 4F 20 55 4E 44 4F 0D 20 49 46 20 3A 48 49 53 |TO UNDO. IF :HIS|
000004F0: 54 4F 52 59 20 3D 20 5B 5D 20 53 54 4F 50 0D 20 |TORY = [] STOP. |
00000500: 4D 41 4B 45 20 22 48 49 53 54 4F 52 59 20 42 55 |MAKE "HISTORY BU|
00000510: 54 4C 41 53 54 20 3A 48 49 53 54 4F 52 59 0D 20 |TLAST :HISTORY. |
00000520: 44 52 41 57 0D 20 52 55 4E 2E 41 4C 4C 20 3A 48 |DRAW. RUN.ALL :H|
00000530: 49 53 54 4F 52 59 0D 45 4E 44 0D 0D 54 4F 20 55 |ISTORY.END..TO U|
00000540: 4E 44 4F 41 4C 4C 0D 20 44 52 41 57 0D 20 4D 41 |NDOALL. DRAW. MA|
00000550: 4B 45 20 22 48 49 53 54 4F 52 59 20 5B 5D 0D 45 |KE "HISTORY [].E|
00000560: 4E 44 0D 0D 54 4F 20 52 55 4E 2E 41 4E 44 2E 52 |ND..TO RUN.AND.R|
00000570: 45 43 4F 52 44 20 3A 41 43 54 49 4F 4E 0D 20 52 |ECORD :ACTION. R|
00000580: 55 4E 20 3A 41 43 54 49 4F 4E 0D 20 4D 41 4B 45 |UN :ACTION. MAKE|
00000590: 20 22 48 49 53 54 4F 52 59 20 28 20 4C 50 55 54 | "HISTORY ( LPUT|
000005A0: 20 3A 41 43 54 49 4F 4E 20 3A 48 49 53 54 4F 52 | :ACTION :HISTOR|
000005B0: 59 20 29 0D 45 4E 44 0D 0D 54 4F 20 43 4F 4D 4D |Y ).END..TO COMM|
000005C0: 41 4E 44 20 3A 43 4F 4D 0D 20 49 46 20 3A 43 4F |AND :COM. IF :CO|
000005D0: 4D 20 3D 20 22 46 20 52 55 4E 2E 41 4E 44 2E 52 |M = "F RUN.AND.R|
000005E0: 45 43 4F 52 44 20 5B 46 4F 52 57 41 52 44 20 31 |ECORD [FORWARD 1|
000005F0: 30 5D 20 53 54 4F 50 0D 20 49 46 20 3A 43 4F 4D |0] STOP. IF :COM|
00000600: 20 3D 20 22 52 20 52 55 4E 2E 41 4E 44 2E 52 45 | = "R RUN.AND.RE|
00000610: 43 4F 52 44 20 5B 52 49 47 48 54 20 33 30 5D 20 |CORD [RIGHT 30] |
00000620: 53 54 4F 50 0D 20 49 46 20 3A 43 4F 4D 20 3D 20 |STOP. IF :COM = |
00000630: 22 4C 20 52 55 4E 2E 41 4E 44 2E 52 45 43 4F 52 |"L RUN.AND.RECOR|
00000640: 44 20 5B 4C 45 46 54 20 33 30 5D 20 53 54 4F 50 |D [LEFT 30] STOP|
00000650: 0D 20 49 46 20 3A 43 4F 4D 20 3D 20 22 44 20 55 |. IF :COM = "D U|
00000660: 4E 44 4F 41 4C 4C 20 53 54 4F 50 0D 20 49 46 20 |NDOALL STOP. IF |
00000670: 3A 43 4F 4D 20 3D 20 22 55 20 55 4E 44 4F 20 53 |:COM = "U UNDO S|
00000680: 54 4F 50 0D 20 49 46 20 3A 43 4F 4D 20 3D 20 22 |TOP. IF :COM = "|
00000690: 4E 20 4C 45 41 52 4E 20 53 54 4F 50 0D 20 49 46 |N LEARN STOP. IF|
000006A0: 20 3A 43 4F 4D 20 3D 20 22 50 20 41 53 4B 20 53 | :COM = "P ASK S|
000006B0: 54 4F 50 0D 20 49 46 20 3A 43 4F 4D 20 3D 20 22 |TOP. IF :COM = "|
000006C0: 43 20 53 43 52 45 45 4E 20 53 54 4F 50 0D 20 49 |C SCREEN STOP. I|
000006D0: 46 20 3A 43 4F 4D 20 3D 20 22 3F 20 48 45 4C 50 |F :COM = "? HELP|
000006E0: 0D 45 4E 44 0D 0D 54 4F 20 49 4E 53 54 41 4E 54 |.END..TO INSTANT|
000006F0: 2E 43 4F 4D 4D 41 4E 44 0D 20 43 4F 4D 4D 41 4E |.COMMAND. COMMAN|
00000700: 44 20 52 45 41 44 43 48 41 52 41 43 54 45 52 0D |D READCHARACTER.|
00000710: 20 49 4E 53 54 41 4E 54 2E 43 4F 4D 4D 41 4E 44 | INSTANT.COMMAND|
00000720: 0D 45 4E 44 0D 0D 54 4F 20 53 45 54 55 50 0D 20 |.END..TO SETUP. |
00000730: 4D 41 4B 45 20 22 48 49 53 54 4F 52 59 20 5B 5D |MAKE "HISTORY []|
00000740: 0D 20 44 52 41 57 0D 20 49 4E 53 54 41 4E 54 2E |. DRAW. INSTANT.|
00000750: 43 4F 4D 4D 41 4E 44 0D 45 4E 44 0D 0D 4D 41 4B |COMMAND.END..MAK|
00000760: 45 20 22 48 49 53 54 4F 52 59 20 5B 5D 0D 4D 41 |E "HISTORY [].MA|
00000770: 4B 45 20 22 53 54 41 52 54 55 50 20 5B 49 4E 53 |KE "STARTUP [INS|
00000780: 54 41 4E 54 5D 0D |TANT]. |
. TO RR. BG 5.END..TO WHILE :COND :ACTIO
N. IF NOT RUN :COND STOP. RUN :ACTION. W
HILE :COND :ACTION.END..TO UNTIL :COND :
ACTION. IF RUN :COND STOP. RUN :ACTION.
UNTIL :COND :ACTION.END..TO INSTANT. HEL
P. SETUP.END..TO RUN.ALL :COMMANDS. IF :
COMMANDS = [] STOP. RUN FIRST :COMMANDS.
RUN.ALL ( BUTFIRST :COMMANDS ).END..TO
HELP. TEXTSCREEN. CLEARTEXT. CURSOR 0 0.
PRINT [F: MOVES THE TURTLE FORWARD]. PR
INT [R: TURNS IT RIGHT]. PRINT [L: TURNS
IT LEFT]. PRINT [D: DRAW (CLEARS THE SC
REEN)]. PRINT [U: UNDO (ERASES THE LAST
COMMAND)]. PRINT [N: NAMES THE PICTURE].
PRINT [P: SHOWS A PICTURE. ASKS FOR ITS
NAME.]. PRINT [C: FOR CHANGING THE SCRE
EN COLOR]. PRINT [?: GIVES HELP]. PRINT
[] PRINT []. PRINT [PRESS ANY KEY TO CON
TINUE]. PRINT RC. SPLITSCREEN. CURSOR 0
20.END..TO SCREEN. PRINT [WHAT COLOR DO
YOU WANT TO MAKE THE]. PRINT [SCREEN? PI
CK A NUMBER FROM 0 TO 15]. PRINT [HIT RE
TURN AFTER TYPING NUMBER]. RUN.AND.RECOR
D SE [BG] REQUEST.END..TO ASK. PRINT [WH
AT PICTURE DO YOU WANT TO SHOW?]. PRINT
[HIT RETURN AFTER TYPING NAME!]. RUN.AND
.RECORD REQUEST.END..TO LEARN. PRINT [WH
AT DO YOU WANT TO CALL THIS PICTURE?]. P
RINT [HIT RETURN AFTER TYPING NAME]. LOC
AL "NAME. MAKE "NAME ( FIRST REQUEST ).
DEFINE :NAME ( FPUT [] :HISTORY ). UNDOA
LL.END..TO UNDO. IF :HISTORY = [] STOP.
MAKE "HISTORY BUTLAST :HISTORY. DRAW. RU
N.ALL :HISTORY.END..TO UNDOALL. DRAW. MA
KE "HISTORY [].END..TO RUN.AND.RECORD :A
CTION. RUN :ACTION. MAKE "HISTORY ( LPUT
:ACTION :HISTORY ).END..TO COMMAND :COM
. IF :COM = "F RUN.AND.RECORD [FORWARD 1
0] STOP. IF :COM = "R RUN.AND.RECORD [RI
GHT 30] STOP. IF :COM = "L RUN.AND.RECOR
D [LEFT 30] STOP. IF :COM = "D UNDOALL S
TOP. IF :COM = "U UNDO STOP. IF :COM = "
N LEARN STOP. IF :COM = "P ASK STOP. IF
:COM = "C SCREEN STOP. IF :COM = "? HELP
.END..TO INSTANT.COMMAND. COMMAND READCH
ARACTER. INSTANT.COMMAND.END..TO SETUP.
MAKE "HISTORY []. DRAW. INSTANT.COMMAND.
END..MAKE "HISTORY [].MAKE "STARTUP [INS
TANT].
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL