1 REM ******************************
2 REM
3 REM          AMS-DRAWER
4 REM    
5 REM         BY SEAN BOND
6 REM
7 REM ******************************
10 MODE 0
20 INK 1,0:INK 2,1:INK 3,2:INK 4,3:INK 5,4:INK 6,6:INK 7,7:INK 8,22:INK 9,10:INK 10,13:INK 11,14:INK 12,15:INK 13,24:INK 14,26
30 BORDER 26:PAPER 14:CLS:PEN 1
31 LOCATE 14,22:PEN 1:PRINT CHR$(233):LOCATE 15,22:PEN 2:PRINT CHR$(233):LOCATE 16,22:PEN 3:PRINT CHR$(233):LOCATE 17,22:PEN 4:PRINT CHR$(233):LOCATE 18,22:PEN 5:PRINT CHR$(233):LOCATE 19,22:PEN 6:PRINT CHR$(233)
32 LOCATE 14,23:PEN 7:PRINT CHR$(233):LOCATE 15,23:PEN 8:PRINT CHR$(233):LOCATE 16,23:PEN 9:PRINT CHR$(233):LOCATE 17,23:PEN 10:PRINT CHR$(233):LOCATE 18,23:PEN 11:PRINT CHR$(233):LOCATE 19,23:PEN 12:PRINT CHR$(233)
33 PLOT 275,381:DRAW 275,375,1
34 LOCATE 15,19:PEN 4:PRINT "M  F"
35 PLOT 420,365,1:DRAW 600,365,1:DRAW 600,140:DRAW 420,140:DRAW 420,365
36 PLOT 1,1,1:DRAW 625,1:DRAW 625,375:DRAW 1,375:DRAW 1,1
37 PLOT 420,130,1:DRAW 600,130:DRAW 600,80:DRAW 420,80:DRAW 420,130
40 bo=400:up=375:PLOT 1,1,1:DRAW bo,1,1:DRAW bo,up,1:DRAW 1,up,1:DRAW 1,1,1
41 GOSUB 50
42 PEN 1:LOCATE 15,13:PRINT CHR$(211):LOCATE 16,13:PRINT CHR$(212):PEN 4:LOCATE 18,13:PRINT"]"
43 PEN 1:LOCATE 15,15:PRINT CHR$(213):LOCATE 16,15:PRINT CHR$(214):PEN 4:LOCATE 18,15:PRINT "["
45 PEN 1:LOCATE 15,5:PRINT CHR$(200):LOCATE 16,5:PRINT CHR$(201):LOCATE 17,5:PRINT CHR$(202):PEN 4:LOCATE 18,5:PRINT "E"
46 PEN 1:LOCATE 15,7:PRINT CHR$(203):LOCATE 16,7:PRINT CHR$(204):LOCATE 17,7:PRINT CHR$(205):PEN 4:LOCATE 18,7:PRINT"C"
47 PEN 1:LOCATE 15,9:PRINT CHR$(206):LOCATE 16,9:PRINT CHR$(207):LOCATE 17,9:PRINT CHR$(208):PEN 4:LOCATE 18,9:PRINT "S"
48 PEN 1:LOCATE 15,11:PRINT CHR$(209):LOCATE 16,11:PRINT CHR$(210):PEN 4:LOCATE 18,11:PRINT"G"
49 GOTO 200
50 SYMBOL AFTER 200
55 SYMBOL 200,0,238,138,142,236,138,234,0
60 SYMBOL 201,0,238,168,172,226,162,172,0
70 SYMBOL 202,0,224,128,128,224,128,224,0
80 SYMBOL 203,0,235,138,139,139,138,234,0
90 SYMBOL 204,0,186,162,162,34,162,187,0
100 SYMBOL 205,0,56,32,32,56,32,184,0
110 SYMBOL 206,0,234,138,206,42,42,202,0
120 SYMBOL 207,0,236,170,234,170,170,172,0
130 SYMBOL 208,0,224,128,128,224,128,224,0
135 SYMBOL 209,0,206,138,142,140,170,234,0
136 SYMBOL 210,0,176,168,168,168,168,176,0
140 SYMBOL 211,0,238,138,206,42,42,202,0
141 SYMBOL 212,0,174,168,174,168,168,78,0
142 SYMBOL 213,0,142,138,138,138,138,238,0
143 SYMBOL 214,0,236,170,234,170,170,172,0
144 SYMBOL 215,0,238,168,238,136,136,142,0
145 SYMBOL 216,0,160,224,224,224,160,160,0
150 SYMBOL 217,204,204,51,51,204,204,51,51
155 SYMBOL 218,0,14,4,4,244,4,4,0
160 SYMBOL 219,0,5,5,5,245,5,7,0
170 SYMBOL 220,255,129,129,129,129,129,129,255
180 LOCATE 16,24:PEN 13:PRINT CHR$(233):LOCATE 17,24:PEN 1:PRINT CHR$(220)
190 RETURN
200 x=200:y=175:c=0:PLOT x,y,c:LOCATE 1,1:PEN 0:PRINT CHR$(143):LOCATE 3,1:PRINT CHR$(215):LOCATE 4,1:PRINT CHR$(216)
201 q=0
202 n=1
205 j=JOY(0)
207 a$=INKEY$
208 FOR m=1 TO n:NEXT
210 IF J=1 THEN y=y+2
220 IF J=2 THEN y=y-2
230 IF J=4 THEN x=x-2
240 IF J=8 THEN x=x+2
250 IF J=5 THEN y=y+2:x=x-2
260 IF J=9 THEN y=y+2:x=x+2
270 IF J=6 THEN y=y-2:x=x-2
280 IF J=10 THEN y=y-2:x=x+2
281 IF x>bo-2 THEN x=398
282 IF x<4 THEN x=4
283 IF y>370 THEN y=370
284 IF y<4 THEN y=4
285 IF j=16 OR j=32 THEN  500
286 IF c>14 THEN 285
290 IF a$="e" THEN CLEAR:RUN
300 IF a$="c" THEN 900
301 IF a$="f" THEN LET n=n+1:PEN 1:LOCATE 9,1:PRINT n" ":IF n>98 THEN LET n=0
305 IF a$="s" THEN 2000
306 IF a$="g" THEN 3000
307 IF a$="m" THEN q=1
308 IF a$="[" THEN 5000
309 IF a$="]" THEN 5500
310 IF q=0 THEN PLOT x,y,c:GOTO 205
311 IF q=1 THEN PLOT x,y,c:PLOT x,y-2,14:PLOT x-2,y,14:PLOT x+2,y,14:PLOT x,y+2,14:PLOT x-2,y-2,14:PLOT x+2,y+2,14:PLOT x-2,y+2,14:PLOT x+2,y-2,14:GOTO 205
500 IF q=1 THEN q=0:PLOT 320,390,14:GOTO 310
505 c=c+1:IF c>14 THEN LET c=1
510 LOCATE 1,1:PEN c:PRINT CHR$(143):LOCATE 3,1:PEN 1:PRINT CHR$(215):LOCATE 4,1:PRINT CHR$(216):LOCATE 6,1:PRINT C
520 GOTO 310
900 PEN 1:LOCATE 15,19:PRINT CHR$(230):PEN 4:LOCATE 16,19:PRINT CHR$(69):PEN 1:LOCATE 17,19:PRINT CHR$(231):PEN 4:LOCATE 18,19:PRINT CHR$(87)
910 q$=INKEY$
920 IF q$="e" THEN f=1:GOTO 1000
930 IF q$="w" THEN f=0:GOTO 1000
940 GOTO 910
1000 si=1:LOCATE 16,1:PEN 1:PRINT si:LOCATE 13,1:PRINT CHR$(203):LOCATE 14,1:PRINT CHR$(204):LOCATE 15,1:PRINT CHR$(205):LOCATE 16,6:PRINT CHR$(241)
1001 e=JOY(0):LOCATE 16,1:PRINT si
1002 IF e=1 THEN si=si+1
1003 IF (x-si)<4 THEN SOUND 1,100,1,7:si=1:GOTO 1001
1004 IF (x+si)>398 THEN SOUND 1,100,1,7:si=1:GOTO 1001
1005 IF e=2 THEN si=si-1
1006 IF si<1 THEN si=1
1007 IF (y+si)>370 THEN SOUND 1,100,1,7:si=1:GOTO 1001
1008 IF (y-si)<4 THEN SOUND 1,100,1,7:si=1:GOTO 1001
1009 IF e=16 OR e=32 THEN 1015
1010 GOTO 1001
1015 IF f=0 THEN FOR de=1 TO 360 STEP 2:DEG:PLOT x,y,c:DRAW x+si*COS(de),y+si*SIN(de):NEXT:GOTO 1020  
1016 IF f=1 THEN FOR de=1 TO 360 STEP 2:DEG:PLOT x,y,c:PLOT x+si*COS(de),y+si*SIN(de):NEXT:GOTO 1020
1020 LOCATE 13,1:PRINT"       ":LOCATE 16,6:PRINT " ":LOCATE 15,19:PEN 4:PRINT "M  F":GOTO 310
2000 LOCATE 16,8:PRINT CHR$(241)
2001 LOCATE 15,19:PRINT CHR$(217):LOCATE 16,19:PRINT CHR$(218)
2002 LOCATE 17,19:PRINT CHR$(143):LOCATE 18,19:PRINT CHR$(219)
2006 w$=INKEY$
2007 IF w$="t" THEN ch=217:GOTO 2010
2008 IF w$="u" THEN ch=143:GOTO 2010
2009 GOTO 2006
2010 j=JOY(0)
2015 IF j=1 THEN y=y+2
2020 IF j=2 THEN y=y-2
2030 IF j=4 THEN x=x-2
2040 IF j=8 THEN x=x+2
2050 IF j=5 THEN y=y+2:x=x-2
2060 IF j=9 THEN y=y+2:x=x+2
2070 IF j=6 THEN y=y-2:x=x-2
2080 IF j=10 THEN y=y-2:x=x+2
2085 IF j=16 OR j=32 THEN TAGOFF:LOCATE 16,8:PRINT " ":LOCATE 15,19:PEN 4:PRINT "M  F":GOTO 310
2090 IF x>368 THEN x=368
2091 IF x<4 THEN x=4
2092 IF y>370 THEN y=370
2093 IF y<16 THEN y=16
2100 PLOT x,y,c:TAG:PRINT CHR$(ch);
2110 GOTO 2010
3000 LOCATE 16,10:PRINT CHR$(241)
3009 FOR a=1 TO 400 STEP 20:PLOT a,1,c:DRAW a,375,c:NEXT:FOR j=1 TO 375 STEP 20:PLOT 1,j,c:DRAW 400,j,c:NEXT
3010 LOCATE 16,10:PRINT " ":GOTO 310
5000 LOCATE 16,14:PRINT CHR$(241)
5010 LOAD "!picture":LOCATE 16,14:PRINT " ":LOCATE 16,12:PRINT " ":GOTO 310
5020 GOTO 310
5500 LOCATE 16,12:PRINT CHR$(241)
5510 SPEED WRITE 1
5515 SAVE "!picture",b,&C000,&4000
5520 SPEED WRITE 0
5530 LOCATE 16,12:PRINT " "
5540 GOTO 310