SCREEN 7: CLS DIM b$(30), h$(300), h(300), md(300), dc(300) FOR i = 1 TO 15 READ b$(i) NEXT i u$ = CHR$(0) + CHR$(72) d$ = CHR$(0) + CHR$(80) l$ = CHR$(0) + CHR$(75) r$ = CHR$(0) + CHR$(77) FOR i = 1 TO 300 h$(i) = " ": h(i) = 0: md(i) = 0: dc(i) = -1 NEXT o = 0: x = 1: y = 1: csr = 1 map: IF a$ = CHR$(27) THEN SYSTEM cur = ((y - 1) * 30) + x LOCATE 12, 2: PRINT b$(csr) LOCATE 13, 2: PRINT cur; " " LOCATE 14, 2: PRINT md(cur) LOCATE 15, 2: PRINT dc(cur) LOCATE y, x: COLOR 4: PRINT b$(csr): COLOR 15 map2: a$ = "": a$ = INKEY$: IF a$ = "" THEN GOTO map2 COLOR 15: IF md(cur) > 0 THEN COLOR 14 LOCATE y, x: PRINT h$(cur): COLOR 15 IF a$ = u$ AND y > 1 THEN y = y - 1 IF a$ = d$ AND y < 10 THEN y = y + 1 IF a$ = l$ AND x > 1 THEN x = x - 1 IF a$ = r$ AND x < 30 THEN x = x + 1 IF a$ = "." THEN csr = csr + 1: IF csr > 15 THEN csr = 0 IF a$ = "," THEN csr = csr - 1: IF csr < 0 THEN csr = 15 IF a$ = " " THEN h$(cur) = b$(csr): h(cur) = csr IF a$ = "x" THEN GOSUB putdec IF a$ = CHR$(13) THEN GOSUB recordmap IF a$ = "\" THEN GOSUB recallmap GOTO map putdec: LOCATE 11, 1 INPUT "Decoration#:", md(cur) GOSUB rm1: LOCATE 11, 1 INPUT "Visible from(0,1,2,3,4):", dc(cur) GOSUB rm1: RETURN recordmap: LOCATE 11, 1: INPUT "SAVE:", fl$: GOSUB rm1 IF LEN(fl$) > 3 THEN GOTO recordmap OPEN "floor." + fl$ FOR OUTPUT AS #1 FOR i = 1 TO 300 WRITE #1, h(i), md(i), dc(i) NEXT: CLOSE #1 RETURN recallmap: LOCATE 11, 1: INPUT "LOAD:", fl$: GOSUB rm1 IF LEN(fl$) > 3 THEN GOTO recallmap OPEN "floor." + fl$ FOR INPUT AS #1 FOR i = 1 TO 300 INPUT #1, h(i), md(i), dc(i) h$(i) = b$(h(i)) NEXT: CLOSE #1 FOR ix = 1 TO 30 FOR iy = 1 TO 10 ic = ((iy - 1) * 30) + ix COLOR 15: IF dc(ic) > -1 THEN COLOR 14 LOCATE iy, ix: PRINT h$(ic) NEXT iy: NEXT ix COLOR 15: RETURN rm1: LOCATE 11, 1: PRINT " " RETURN DATA ³,Ä,Å,Ù,À,Ú,¿,Á,Ã,Â,´,U,D,R,L