I used Cemetech's SourceCoder3 to view the code. Ignore the indentions, that is how Cemetech formats it to make it feel more like Assembly (I personally hate it, though).
Repeat 0
ClrHome
Output(1,1,"MINESWEEPER+CE")
2->L
Output(2,2,"N[|e]|w G[|a]m[|e]")
Output(3,2,"Lo[|a][|d] G[|a]m[|e]")
Output(4,2,"S[t]yl[|e]: <-#DeltaP->")
1->S
Output(5,2,"Diffi[|c]|ul[t]y: <-Normal->")
40->M
Output(6,2,"Co[n]fig|u[r][|e]")
Output(7,2,"C|u[s][t]om")
Output(8,2,"Q|ui[t]")
Repeat K=105 and (L=2 or L=3)
Output(L,1,">")
getKey->K
If (K=24 or K=26 or K=105) and L=4
Then
5-S->S
Output(4,11,sub(Str1,S,3))
End
If K=26 and L=5
Then
UnArchive |LMINES
M+10->M
If M=|LMINES(261)+10
Then
Output(5,16,"B[|e]gi[n][n][|e][r]->")
20->M
End
If M=30
Then
Output(5,16,"E[|a][s]y-> ")
End
If M=40
Then
Output(5,16,"Normal-> ")
End
If M=50
Then
Output(5,16,"H[|a][r][|d]-> ")
End
If M=60
Then
Output(5,16,"Ex[p][|e][r][t]-> ")
End
If M=70
Then
Output(5,16,"C|u[s][t]om-> ")
|LMINES(261)->M
End
End
If (K=24 or K=105) and L=5
Then
UnArchive |LMINES
M-10->M
If M=|LMINES(261)-10
Then
Output(5,16,"Ex[p][|e][r][t]-> ")
60->M
End
If M=10
Then
Output(5,16,"C|u[s][t]om-> ")
|LMINES(261)->M
End
If M=20
Then
Output(5,16,"B[|e]gi[n][n][|e][r]->")
End
If M=30
Then
Output(5,16,"E[|a][s]y-> ")
End
If M=40
Then
Output(5,16,"Normal-> ")
End
If M=50
Then
Output(5,16,"H[|a][r][|d]-> ")
End
End
If K=105 and L=6
Then
Output(10,1,"RESET Str1 ?")
0->K
Repeat K
getKey->K
End
If K=105
Then
SetUpEditor |LMINES
781->dim(|LMINES)
"#DeltaP+^P"->Str1
End
Output(10,1," ")
End
If K=105 and L=7
Then
Output(10,1,"# of mi[n][|e][s]:_")
Repeat (abs(iPart(K/10)-8)<2 or K=102) and abs(10fPart(K/10)-3)<2
getKey->K
End
260-30iPart(K/10)+100fPart(K/10)+20(K=102)->|LMINES(781)
Output(10,12,|LMINES(781))
Output(10,13,"_")
Repeat (abs(iPart(K/10)-8)<2 or K=102) and abs(10fPart(K/10)-3)<2
getKey->K
End
|LMINES(781)+26-3iPart(K/10)+10fPart(K/10)+2(K=102)->|LMINES(781)
Output(10,12,|LMINES(781))
0->K
Repeat K
getKey->K
End
Output(10,1," ")
End
If K=105 and L=8
Then
Archive |LMINES
ClrHome
Return
End
If K=25
Then
Output(L,1," ")
L-1-7int((L-3)/7)->L
End
If K=34
Then
Output(L,1," ")
L+1-7int((L-1)/7)->L
End
End
{10,26}->dim([A])
{10,26}->dim([B])
{10,26}->dim([C])
ClrHome
If L=3
Then
For(A,1,10)
For(B,1,26)
|LMINES(26A+B-26)->[A](A,B)
End
End
For(A,1,10)
For(B,1,26)
|LMINES(26A+B+234)->[B](A,B)
End
End
For(A,1,10)
For(B,1,26)
|LMINES(26A+B+494)->[C](A,B)
If [C](A,B)<0
Output(A,B,sub(Str1,S,1))
If [C](A,B)=0
Output(A,B," ")
If [C](A,B)>0
Output(A,B,[C](A,B)
End
End
Else
Fill(0,[A])
Fill(0,[B])
Fill(~2,[C])
For(A,1,10)
Output(A,1,sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1)+sub(Str1,S,1))
End
5->A
13->B
Output(5,13,sub(Str1,S+1,1))
Repeat K=21 or K=45
getKey->K
If K=24 and B>1
Then
Output(A,B,sub(Str1,S,1))
B-1->B
Output(A,B,sub(Str1,S+1,1))
End
If K=25 and A>1
Then
Output(A,B,sub(Str1,S,1))
A-1->A
Output(A,B,sub(Str1,S+1,1))
End
If K=26 and B<26
Then
Output(A,B,sub(Str1,S,1))
B+1->B
Output(A,B,sub(Str1,S+1,1))
End
If K=34 and A<10
Then
Output(A,B,sub(Str1,S,1))
A+1->A
Output(A,B,sub(Str1,S+1,1))
End
End
For(C,1,M)
Repeat [A](X,Y)=0 and not(abs(X-A)<2 and abs(Y-B)<2)
randInt(1,10)->X
randInt(1,26)->Y
End
1->[A](X,Y)
~1->[C](X,Y)
End
ClrList L1,L2
A->L1(1)
B->L2(1)
1->T
Repeat T>dim(L1)
L1(T)->A
L2(T)->B
T+1->T
0->M
If A>1
Then
If [A](A-1,B)
M+1->M
If B>1
If [A](A-1,B-1)
M+1->M
If B<26
If [A](A-1,B+1)
M+1->M
End
If A<10
Then
If [A](A+1,B)
M+1->M
If B>1
If [A](A+1,B-1)
M+1->M
If B<26
If [A](A+1,B+1)
M+1->M
End
If B>1
If [A](A,B-1)
M+1->M
If B<26
If [A](A,B+1)
M+1->M
If B=1 or B=26
Then
M-3->M
If A=1 or A=10
M+1->M
End
M->[C](A,B)
If M>0
Output(A,B,M)
If M=0
Then
Output(A,B," ")
If A>1
Then
If [B](A-1,B)=0
Then
A-1->L1(dim(L1)+1)
B->L2(dim(L2)+1)
1->[B](A-1,B)
End
If B>1
Then
If [B](A-1,B-1)=0
Then
A-1->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A-1,B-1)
End
End
If B<26
Then
If [B](A-1,B+1)=0
Then
A-1->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A-1,B+1)
End
End
End
If A<10
Then
If [B](A+1,B)=0
Then
A+1->L1(dim(L1)+1)
B->L2(dim(L2)+1)
1->[B](A+1,B)
End
If B>1
Then
If [B](A+1,B-1)=0
Then
A+1->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A+1,B-1)
End
End
If B<26
Then
If [B](A+1,B+1)=0
Then
A+1->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A+1,B+1)
End
End
End
If B>1
Then
If [B](A,B-1)=0
Then
A->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A,B-1)
End
End
If B<26
Then
If [B](A,B+1)=0
Then
A->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A,B+1)
End
End
End
End
End
0->O
5->X
13->Y
Repeat O
Output(X,Y,sub(Str1,S+1,1))
Repeat (K=21 or K=45 or K=23) and fPart([C](X,Y))=0
getKey->K
If K=24 and Y>1
Then
If [C](X,Y)=0
Output(X,Y," ")
If [C](X,Y)<0
Output(X,Y,sub(Str1,S,1))
If [C](X,Y)>0
Output(X,Y,[C](X,Y))
If fPart([C](X,Y))=~0.5
Output(X,Y,sub(Str1,S+2,1))
Y-1->Y
Output(X,Y,sub(Str1,S+1,1))
End
If K=25 and X>1
Then
If [C](X,Y)=0
Output(X,Y," ")
If [C](X,Y)<0
Output(X,Y,sub(Str1,S,1))
If [C](X,Y)>0
Output(X,Y,[C](X,Y))
If fPart([C](X,Y))=~0.5
Output(X,Y,sub(Str1,S+2,1))
X-1->X
Output(X,Y,sub(Str1,S+1,1))
End
If K=26 and Y<26
Then
If [C](X,Y)=0
Output(X,Y," ")
If [C](X,Y)<0
Output(X,Y,sub(Str1,S,1))
If [C](X,Y)>0
Output(X,Y,[C](X,Y))
If fPart([C](X,Y))=~0.5
Output(X,Y,sub(Str1,S+2,1))
Y+1->Y
Output(X,Y,sub(Str1,S+1,1))
End
If K=34 and X<10
Then
If [C](X,Y)=0
Output(X,Y," ")
If [C](X,Y)<0
Output(X,Y,sub(Str1,S,1))
If [C](X,Y)>0
Output(X,Y,[C](X,Y))
If fPart([C](X,Y))=~0.5
Output(X,Y,sub(Str1,S+2,1))
X+1->X
Output(X,Y,sub(Str1,S+1,1))
End
If (K=31 or K=55) and [C](X,Y)<0
[C](X,Y)-2fPart([C](X,Y))-0.5->[C](X,Y)
If K=105
Then
1->Z
Output(X,Y,"?")
For(A,1,10)
For(B,1,26):
If iPart([C](A,B))=~2
Then
Output(X,Y,sub(Str1,S+1,1))
10->A
26->B
0->Z
End
End
End
If Z
Then
ClrHome
Repeat K=23
getKey->K
End
Output(1,1,"G[r][|e][|a][t] Jo[|b]!")
End
End
End
X->A
Y->B
If [A](A,B)
Then
1->O
Else
If [C](A,B)=~2
Then
ClrList L1,L2
A->L1(1)
B->L2(1)
1->T
Repeat T>dim(L1)
L1(T)->A
L2(T)->B
T+1->T
1->[B](A,B)
0->M
If A>1
Then
If [A](A-1,B)
M+1->M
If B>1
If [A](A-1,B-1)
M+1->M
If B<26
If [A](A-1,B+1)
M+1->M
End
If A<10
Then
If [A](A+1,B)
M+1->M
If B>1
If [A](A+1,B-1)
M+1->M
If B<26
If [A](A+1,B+1)
M+1->M
End
If B>1
If [A](A,B-1)
M+1->M
If B<26
If [A](A,B+1)
M+1->M
If B=1 or B=26
Then
M-3->M
If A=1 or A=10
M+1->M
End
M->[C](A,B)
If M>0
Output(A,B,M)
If M=0
Then
Output(A,B," ")
If A>1
Then
If [B](A-1,B)=0
Then
A-1->L1(dim(L1)+1)
B->L2(dim(L2)+1)
1->[B](A-1,B)
End
If B>1
Then
If [B](A-1,B-1)=0
Then
A-1->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A-1,B-1)
End
End
If B<26
Then
If [B](A-1,B+1)=0
Then
A-1->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A-1,B+1)
End
End
End
If A<10
Then
If [B](A+1,B)=0
Then
A+1->L1(dim(L1)+1)
B->L2(dim(L2)+1)
1->[B](A+1,B)
End
If B>1
Then
If [B](A+1,B-1)=0
Then
A+1->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A+1,B-1)
End
End
If B<26
Then
If [B](A+1,B+1)=0
Then
A+1->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A+1,B+1)
End
End
End
If B>1
Then
If [B](A,B-1)=0
Then
A->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A,B-1)
End
End
If B<26
Then
If [B](A,B+1)=0
Then
A->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A,B+1)
End
End
End
End
Else
If [C](A,B)>0
Then
ClrList L1,L2
0->M
If A>1
Then
If fPart([C](A-1,B))
Then
M+1->M
Else
If [C](A-1,B)<0
Then
A-1->L1(dim(L1)+1)
B->L2(dim(L2)+1)
End
End
If B>1
Then
If fPart([C](A-1,B-1))
Then
M+1->M
Else
If [C](A-1,B-1)<0
Then
A-1->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
End
End
End
If B<26
Then
If fPart([C](A-1,B+1))
Then
M+1->M
Else
If [C](A-1,B+1)<0
Then
A-1->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
End
End
End
End
If A<10
Then
If fPart([C](A+1,B))
Then
M+1->M
Else
If [C](A+1,B)<0
Then
A+1->L1(dim(L1)+1)
B->L2(dim(L2)+1)
End
End
If B>1
Then
If fPart([C](A+1,B-1))
Then
M+1->M
Else
If [C](A+1,B-1)<0
Then
A+1->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
End
End
End
If B<26
Then
If fPart([C](A+1,B+1))
Then
M+1->M
Else
If [C](A+1,B+1)<0
Then
A+1->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
End
End
End
End
If B>1
Then
If fPart([C](A,B-1))
Then
M+1->M
Else
If [C](A,B-1)<0
Then
A->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
End
End
End
If B<26
Then
If fPart([C](A,B+1))
Then
M+1->M
Else
If [C](A,B+1)<0
Then
A->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
End
End
End
If M=[C](A,B) and dim(L1)>0
Then
1->T
Repeat T>dim(L1)
L1(T)->A
L2(T)->B
If [A](L1(T),L2(T))
T->O
T+1->T
1->[B](A,B)
0->M
If A>1
Then
If [A](A-1,B)
M+1->M
If B>1
If [A](A-1,B-1)
M+1->M
If B<26
If [A](A-1,B+1)
M+1->M
End
If A<10
Then
If [A](A+1,B)
M+1->M
If B>1
If [A](A+1,B-1)
M+1->M
If B<26
If [A](A+1,B+1)
M+1->M
End
If B>1
If [A](A,B-1)
M+1->M
If B<26
If [A](A,B+1)
M+1->M
If B=1 or B=26
Then
M-3->M
If A=1 or A=10
M+1->M
End
M->[C](A,B)
If M>0
Output(A,B,M)
If M=0
Then
Output(A,B," ")
If A>1
Then
If [B](A-1,B)=0
Then
A-1->L1(dim(L1)+1)
B->L2(dim(L2)+1)
1->[B](A-1,B)
End
If B>1
Then
If [B](A-1,B-1)=0
Then
A-1->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A-1,B-1)
End
End
If B<26
Then
If [B](A-1,B+1)=0
Then
A-1->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A-1,B+1)
End
End
End
If A<10
Then
If [B](A+1,B)=0
Then
A+1->L1(dim(L1)+1)
B->L2(dim(L2)+1)
1->[B](A+1,B)
End
If B>1
Then
If [B](A+1,B-1)=0
Then
A+1->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A+1,B-1)
End
End
If B<26
Then
If [B](A+1,B+1)=0
Then
A+1->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A+1,B+1)
End
End
End
If B>1
Then
If [B](A,B-1)=0
Then
A->L1(dim(L1)+1)
B-1->L2(dim(L2)+1)
1->[B](A,B-1)
End
End
If B<26
Then
If [B](A,B+1)=0
Then
A->L1(dim(L1)+1)
B+1->L2(dim(L2)+1)
1->[B](A,B+1)
End
End
End
End
End
End
End
End
If K=23
Then
1->O
For(A,1,10)
For(B,1,26)
[A](A,B)->|LMINES(26A+B-26)
End
End
For(A,1,10)
For(B,1,26)
[B](A,B)->|LMINES(26A+B+234)
End
End
For(A,1,10)
For(B,1,26)
[C](A,B)->|LMINES(26A+B+494)
End
End
End
End
If K-23
Then
If [A](A,B)=1
Then
Output(A,B,"X")
Else
Output(L1(O),L2(O),"X")
End
Repeat getKey=23
End
ClrHome
Output(1,1,"K[|a]-BOOM!")
End
End