9 REM SET UP PLAYFIELD BORDER
10 DIM A(10,20)
20 FOR B=1 TO 10
30 FOR C=1 TO 20
40 LET A(B,C)=0REM Make every playfield space blank.
50 IF B=1 THEN A(B,C)=1REM Top border is all fences.
60 IF B=10 THEN A(B,C)=1REM Bottom border is all fences.
70 IF C=1 THEN A(B,C)=1REM Left border, all fences.
80 IF C=20 THEN A(B,C)=1REM Right border, all fences.
90 NEXT C
100 NEXT B
499 REM GENERATE PLAYER POSITION
500 B=INT(RND(8)+2)
510 C=INT(RND(18)+2)
520 A(B,C)=3
530 E(6)=B
540 F(6)=C
599 REM GENERATE POSITIONS OF OATS
600 FOR D=1 TO 5
610 B=INT(RND(8)+2)
620 C=INT(RND(18)+2)
630 IF A(B,C)<>0 THEN GOTO 610REM IF NOT BLANK RNG AGAIN
640 A(B,C)=2REM ELEMENT IS AN OAT~
650 E(D)=B
660 F(D)=C
670 NEXT D
999 REM PRINT MAZE PATTERN
1000 FOR B=1 TO 10
1010 FOR C=1 TO 20
1020 IF A(B,C)=0PRINT ".";
1030 IF A(B,C)=1PRINT "X";
1040 IF A(B,C)=2PRINT "ø";
1050 IF A(B,C)=3PRINT "@";
1060 NEXT C
1070 PRINT
1080 NEXT B
1999 REM MAKE MOVE
2000 B=E(6)
2010 C=F(6)
2020 A(B,C)=0REM SET PLAYER ARRAY ELEMENT TO A BLANK.
2599 REM RESULT CALCULATION
2630 INPUT Y
2640 IF Y=5 GOTO 2800REM NO MOVEMENT; SKIP TO RESULTS CALCULATION
2645 IF Y=0 THEN END
2650 ON Y GOTO 2680,2680,2680,2690,2800,2690,2660,2660,2660
2660 B=B-1REM SUBTRACT 1 FROM PLAYER Y COORDS (UP 1 ROW)
2670 GOTO 2690
2680 B=B+1REM ADD 1 TO PLAYER X COORDS (DOWN 1 ROW)
2690 ON Y GOTO 2700,2800,2720,2700,2800,2720,2700,2800,2720
2700 C=C-1REM SUBTRACT 1 FROM PLAYER X COORDS (LEFT 1 COLUMN)
2710 GOTO 2800REM CHECK IF PLAYER HAS TOUCHED FENCE
2720 C=C+1REM ADD 1 TO PLAYER X COORDS (RIGHT 1 COLUMN)
2799 REM RESULT CALCULATION
2800 PRINT "TOUCHED A FENCE"
2810 PRINT "TOUCHED AN OAT"
2820 A(B,C)=3REM SET PLAYFIELD CELL BACK TO PLAYER.
2830 E(6)=BREM NEW Y COORDS
2840 F(6)=CREM NEW X COORDS
3000 GOTO 1000