Source Code
1 LET X=1
2 LET Y=1
10 DIM A$(8,8)
20 PRINT AT 0,10;"INITIALIZING";AT 1,12;" "
30 FOR A=1 TO 8
40 LET A$(A)="OOOOOOOO"
50 NEXT A
70 PRINT AT 0,0;
80 FOR A=1 TO 8
90 PRINT A$(A)
100 NEXT A
101 PRINT AT X-1,Y-1;"+"
102 PRINT AT 0,19;"ED "
105 FOR A=1 TO 4
106 NEXT A
107 IF INKEY$="" THEN GOTO 104
110 LET B$=INKEY$
120 IF B$="E" THEN GOTO 400
125 IF B$="D" THEN GOTO 300
130 IF B$="C" THEN GOTO 500
140 IF B$="I" THEN GOTO 1
145 LET Z=X
146 LET M=Y
160 IF B$="8" THEN LET Y=Y+1
170 IF B$="5" THEN LET Y=Y-1
180 IF B$="7" THEN LET X=X-1
190 IF B$="6" THEN LET X=X+1
200 IF X=0 THEN LET X=8
210 IF X=9 THEN LET X=1
220 IF Y=0 THEN LET Y=8
230 IF Y=9 THEN LET Y=1
231 LET D$=A$(Z,M)
232 LET C$=A$(X,Y)
240 PRINT AT Z-1,M-1;D$
241 IF C$="% " THEN PRINT AT X-1,Y-1;"%+"
242 IF C$="O" THEN PRINT AT X-1,Y-1;"+"
250 GOTO 105
300 LET A$(X,Y)="% "
310 PRINT AT X-1,Y-1;"%+"
320 GOTO 105
400 LET A$(X,Y)="O"
410 PRINT AT X-1,Y-1;"O"
420 GOTO 105
500 DIM A$(8,8)
510 PRINT AT 0,10;" ";AT 1,12;"CLEARING"
520 FOR A=1 TO 8
530 LET A$(A)="OOOOOOOO"
540 NEXT A
555 PRINT AT 0,0;
560 FOR A=1 TO 8
570 PRINT A$(A)
580 NEXT A
585 PRINT AT X-1,Y-1;"+"
586 PRINT AT 1,17;"ED "
590 GOTO 105
600 SAVE "1008%8"
610 GOTO 1