Ok, well here's the source for the entire program, currently.

**mines**

```
:ClrHome
:2→X
:5→Y
:Output(2,7,"EASY
:Output(4,6,"MEDIUM
:Output(6,7,"HARD
:Output(X,Y,">
:Repeat K=105 or K=45
:Repeat Ans
:getKey→K
:End
:Output(X,Y,"
:min(8,max(0,X+sum(2ΔList(K={25,34}→X
:If not(X
:6→X
:If X=8
:2→X
:If 2=abs(X-4
:5→Y
:If X=4
:4→Y
:Output(X,Y,">
:End
:ClrHome
:If K>45
:Then
:9+5(XY=16)+10(XY=30→D
:DelVar [J]{7,16}→dim([J]
:randInt(1,7→A
:randInt(1,16→B
:2→[J](A,B
:For(θ,1,D
:Repeat not([J](Z,Ans
:randInt(1,7→Z
:randInt(1,16
:End
:1→[J](Z,Ans
:End
:Repeat not([J](X,Y
:randInt(1,7→X
:randInt(1,16→Y
:End
:100→H
:DelVar KWhile K≠45 and H>0
:For(Z,1,7
:For(θ,1,16
:Output(Z,θ,sub("-^^LR",1+[J](Z,θ),1
:End
:End
:Output(8,1,"HEALTH:
:Output(8,9,H
:Repeat K=45 or [J](X,Y)=1 or [J](X,Y)=2
:getKey→K
:If K:Then
:If not([J](X,Y
:Output(X,Y,"-
:If [J](X,Y)=3
:Output(X,Y,"L
:If [J](X,Y)=4
:Output(X,Y,"R
:End
:min(7,max(1,X+sum(ΔList(K={25,34→X
:min(16,max(1,Y+sum(ΔList(K={24,26→Y
:Output(X,Y,"+
:End
:If [J](X,Y)=2
:Goto X
:If K≠45 and [J](X,Y)≠2:Then
:H-20→H
:If Y>B
:3→[J](X,Y
:If Y<B
:4→[J](X,Y
:If Y=B
:0→[J](X,Y
:ClrHome
:Output(1,1," !BOOM! * * ** ** * *
:Pause
:End
:End
:Lbl X
:ClrHome
:If H=0 and K≠45
:Output(2,7,"FAIL
:If [J](X,Y)=2
:Output(2,7,"WIN!
:Return
:End
```

A few things..

All of my problems have supposedly been solved.

If you notice anything else that should be changed for optimization reasons, please point it out.