what i ended up with after today’s coding session:
9 REM SET UP PLAYFIELD BORDER
10 DIM A(10,20): DIM E(21): DIM F(21)
20 FOR B=1 TO 10
30 FOR C=1 TO 20
40 LET A(B,C)=0 REM Make every playfield space blank.
50 IF B=1 THEN A(B,C)=1 REM Top border is all fences.
60 IF B=10 THEN A(B,C)=1 REM Bottom border is all fences.
70 IF C=1 THEN A(B,C)=1 REM Left border, all fences.
80 IF C=20 THEN A(B,C)=1 REM 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 610 REM IF NOT BLANK RNG AGAIN
640 A(B,C)=2 REM 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
1090 PRINT
1100 PRINT "PLAYER POSITION: ";E(6);" x ";F(6)
1110 PRINT "OATS COLLECTED: ";G
1999 REM MAKE MOVE
2000 B=E(6)
2010 C=F(6)
2020 A(B,C)=0 REM SET PLAYER ARRAY ELEMENT TO A BLANK.
2030 INPUT Y
2040 REM - OLD LINE
2050 IF Y=0 THEN END REM QUIT GAME
2060 IF Y=1 THEN GOTO 2680 REM DIAGONAL LEFT, DOWN
2070 IF Y=2 THEN GOTO 2680 REM DOWN
2080 IF Y=3 THEN GOTO 2680 REM DIAGONAL RIGHT, DOWN
2090 IF Y=4 THEN GOTO 2690 REM LEFT
2100 IF Y=5 THEN GOTO 2800 REM DROP THROUGH, NO MOVEMENT
2110 IF Y=6 THEN GOTO 2690 REM RIGHT
2120 IF Y=7 THEN GOTO 2660 REM LEFT, UP
2130 IF Y=8 THEN GOTO 2660 REM UP
2140 IF Y=9 THEN GOTO 2660 REM RIGHT, UP
2660 B=B-1 REM SUBTRACT 1 FROM PLAYER Y COORDS (UP 1 ROW)
2670 GOTO 2690
2680 B=B+1 REM ADD 1 TO PLAYER X COORDS (DOWN 1 ROW)
2690 IF Y=1 THEN GOTO 2800 REM DIAGONAL LEFT, DOWN
2700 IF Y=2 THEN GOTO 2900 REM DOWN
2710 IF Y=3 THEN GOTO 2820 REM DIAGONAL RIGHT, DOWN
2720 IF Y=4 THEN GOTO 2800 REM LEFT
2730 IF Y=5 THEN GOTO 2900 REM DROP THROUGH, NO MOVEMENT
2740 IF Y=6 THEN GOTO 2820 REM RIGHT
2750 IF Y=7 THEN GOTO 2800 REM LEFT, UP
2760 IF Y=8 THEN GOTO 2900 REM UP
2770 IF Y=9 THEN GOTO 2820 REM RIGHT, UP
2800 C=C-1 REM SUBTRACT 1 FROM PLAYER X COORDS (LEFT 1 COLUMN)
2810 GOTO 2900 REM CHECK IF PLAYER HAS TOUCHED FENCE
2820 C=C+1 REM ADD 1 TO PLAYER X COORDS (RIGHT 1 COLUMN)
2899 REM RESULT CALCULATION
2900 IF A(B,C)=1 GOTO 4000 REM PLAYER TOUCHED A FENCE
2910 IF A(B,C)=2 GOTO 5000 REM PLAYER TOUCHED AN OAT
2920 A(B,C)=3
2930 E(6)=B
2940 F(6)=C
2950 GOTO 1000
4000 PRINT "YOU TOUCHED A FENCE!"
4010 A(B,C)=1 REM SET PLAYFIELD CELL BACK TO FENCE
4020 B=E(6)
4030 C=F(6) REM RETURN PLAYER TO FORMER ARRAY POSITION
4040 A(B,C)=3
4050 GOTO 1000
5000 PRINT "YOU COLLECTED AN OAT!"
5010 A(B,C)=3 REM SET PLAYFIELD CELL BACK TO PLAYER.
5020 E(6)=B
5030 F(6)=C
5040 G=G+1
5050 GOTO 1000