As requested by Socks, the goal of this contest is to optimize a program as much as possible. The optimizations can either be for speed or size (or both), with that decision left up to the person who posted the program. Once everybody feels that a program can't be optimized any further, somebody can post a new program. When posting a program, please remember to change all of the TI-Basic tokens that don't display correctly to Unicode or something recognizable (see characters for a list of characters).
I'll start us off with a very unoptimized program, and the goal is to optimize for size.
:ClrHome
:Disp "MAKE YOUR WAY TO","THE EXIT WITHOUT","GETTING CAUGHT.."
:Pause
:3→C
:0→Z
:Lbl A
:ClrHome
:3→A
:1→B
:randInt(1,6)→D
:randInt(3,15)→E
:Lbl B
:randInt(1,6)→F
:randInt(3,15)→G
:If F=D and G=E
:Goto B
:Lbl C
:randInt(1,6)→H
:randInt(3,15)→I
:If H=D and I=E
:Goto C
:If H=F and I=G
:Goto C
:Lbl D
:randInt(1,6)→N
:randInt(3,15)→O
:If N=D and O=E
:Goto D
:If N=F and O=G
:Goto D
:If N=H and O=I
:Goto D
:Output(7,1,"----------------") (use 16 minus signs)
:Output(8,1,"PTS=")
:Output(8,5,Z)
:If C=3
:Output(8,14,"+++")
:If C=2
:Output(8,15,"++")
:If C=1
:Output(8,16,"+")
:Output(A,B,"+")
:Output(3,16,">")
:Output(D,E,"*")
:Output(F,G,"*")
:Output(H,I,"*")
:Output(N,O,"*")
:Lbl 0
:getKey→Y
:While Y=0
:getKey→Y
:End
:If Y=24 and B≠1
:Then
:Output(A,B," ") (put 1 space between the mark)
:B-1→B
:End
:If Y=25 and A≠1
:Then
:Output(A,B," ")
:A-1→A
:End
:If Y=26 and B≠16
:Then
:Output(A,B," ")
:B+1→B
:End
:If Y=34 and A≠6
:Then
:Output(A,B," ")
:A+1→A
:End
:Lbl 1
:randInt(1,5)→J
:If J=1 and D>1
:Then
:Output(D,E," ")
:D-1→D
:End
:If J=2 and E<15
:Then
:Output(D,E," ")
:E+1→E
:End
:If J=3 and D<6
:Then
:Output(D,E," ")
:D+1→D
:End
:If J=4 and E>1
:Then
:Output(D,E," ")
:E-1→E
:End
:randInt(1,5)→K
:If K=1 and F>1
:Then
:Output(F,G," ")
:F-1→F
:End
:If K=2 and G<15
:Then
:Output(F,G," ")
:G+1→G
:End
:If K=3 and F<6
:Then
:Output(F,G," ")
:F+1→F
:End
:If K=4 and G>1
:Then
:Output(F,G," ")
:G-1→G
:End
:randInt(1,5)→L
:If L=1 and H>1
:Then
:Output(H,I," ")
:H-1→H
:End
:If L=2 and I<15
:Then
:Output(H,I," ")
:I+1→I
:End
:If L=3 and H<6
:Then
:Output(H,I," ")
:H+1→H
:End
:If L=4 and I>1
:Then
:Output(H,I," ")
:I-1→I
:End
:randInt(1,5)→M
:If M=1 and N>1
:Then
:Output(N,O," ")
:N-1→N
:End
:If M=2 and O<15
:Then
:Output(N,O," ")
:O+1→O
:End
:If M=3 and N<6
:Then
:Output(N,O," ")
:N+1→N
:End
:If M=4 and O>1
:Then
:Output(N,O," ")
:O-1→O
:End
:Lbl 2
:Output(A,B,"+")
:Output(D,E,"*")
:Output(F,G,"*")
:Output(H,I,"*")
:Output(N,O,"*")
:If A=D and B=E
:Goto 99
:If A=F and B=G
:Goto 99
:If A=H and B=I
:Goto 99
:If A=N and B=O
:Goto 99
:If A=3 and B=16
:Goto 98
:Goto 0
:Lbl 98
:Z+1→Z
:Goto A
:Lbl 99
:C-1→C
:If C<1
:Goto 97
:Goto A
:Lbl 97
:ClrHome
:Output(4,4,"GAME OVER")
:Output(8,2,"PTS =")
:Output(8,7,Z)
:Stop