\start83\
\comment=Program file dated 04/27/00, 11:48
\name=LODE
\file=D:\TICALC~1\SICODE\FINISH~1\TI-83\LODERU~1\LODE.TXT
ClrDraw
ClrHome
6\->\dim(\L\LRUN
If not(\L\LRUN(1):Then
Text(12,28,"L\o\de  Runner  "
Text(18,38,"v1.1"
Text(36,32,"(C) 2000"
Text(29,34,"S\i\C\o\D\e\"
Pause 
1\->\\L\LRUN(1)
End
1\->\G:1\->\L
0\->\E:0\->\\L\LRUN(5)
{10,18}\->\dim([A]:Fill(1,[A]
Lbl MM
0\->\K
ClrHome
"PLAYDEMOHELPQUIT"\->\Str1
Disp "  L\o\d\e\  Runner  ","----------------"
Output(8,1,Str1
1\->\A
While K\!=\105 and K\!=\21
Output(3,4(A-1)+1,"    "
(K=26)-(K=24)+A\->\A
If A>4:1\->\A
If A<1:4\->\A
Output(3,4(A-1)+1,"<==>
sub(Str1,4(A-1)+1,4)\->\Str2
For(B,8,5,\(-)\1
Output(B,4(A-1)+1,Str2
For(C,1,2:End
Output(B,4(A-1)+1,"    ":End
Output(B,4(A-1)+1,Str2
0:Repeat Ans
getKey\->\K:End
For(B,4,7
Output(B,4(A-1)+1,Str2
Output(B,4(A-1)+1,"    "
End
Output(B,4(A-1)+1,Str2
End
If A=2:Then
"   \o\  \o\   \o\       OOOOOOOHOOO           \o\H  \o\ \o\   OOH OOOO  OOOO    H               H     \o\     OOOOOOOOOOOOOOOO                "\->\Str1
17\->\dim(L\1\:L\1\\->\L\2\:L\2\\->\L\4\:L\4\\->\L\5\
{1,2,3,4,5,5,5,5,5,5,4,3,2,2,2,2}\->\L\4\
{6,6,6,6,6,5,4,3,3,3,3,3,3,4,5,6}\->\L\1\
{5,6,7,8,9,10,9,8,7,6,6,6,6,5,4,3}\->\L\5\
{3,3,3,3,3,3,3,3,3,3,4,5,6,6,6,6}\->\L\2\
While 1
For(A,1,16
Output(1,1,Str1
Output(L\1\(A),L\4\(A),"X"
Output(L\2\(A),L\5\(A),"\pi\"
If A<9
Output(4,6,"O"
If A<4
Output(6,4,"\o\"
If A<15
Output(5,2,"\o\"
If A<8:Output(8,1,"COLLECT COINS"
If A>7 and A<16:Output(8,1,"SHOOT HOLES"
For(\theta\,1,72:End
getKey\->\K
If K
Goto \theta\Z
End
Output(8,1,"AVOID THE ENEMY"
For(\theta\,1,126:End
End
Lbl \theta\Z
DelVar L\1\
DelVar L\4\
DelVar L\2\
DelVar L\5\
Goto MM
End
If A=4:Then
ClrHome
Output(1,1,"                "
Output(4,1,"     S\i\C\o\D\e\     "
DelVar [A]
Stop
End
If A=3:Then
ClrHome
Disp "      KEYS      ","----------------","ARROWS-MOVE","MODE-SHOOT LEFT","DEL-SHOOT RIGHT","CLEAR-QUIT","2ND-PAUSE"
Pause 
Goto MM
End

If A=1:Then
If \L\LRUN(2) or \L\LRUN(3) or \L\LRUN(4):Then
ClrHome
Disp "EXPANSION SETS:","(CHOOSE ONE)"
If \L\LRUN(2)
Output(3,1,"1.FIRST SET"
If \L\LRUN(3)
Output(4,1,"2.SECOND SET"
If \L\LRUN(4)
Output(5,1,"3.THIRD SET"
Lbl \theta\\theta\
While not(K\>=\1 and K\<=\3)
0:Repeat Ans
getKey\->\K:End
K-91\->\K
End
If not(\L\LRUN(K+1):Goto \theta\\theta\
K\->\E:10K+1\->\L
End
ClrHome
1\->\L
Disp "    PASSWORD    ","----------------","1.PASSWORD","2.START"
0:Repeat Ans
getKey\->\K:End
K-91\->\K
If K=1:Then
Disp "    PASSWORD    ","----------------"
Input "-",Str1
(inString("ASBVUYXZPWTRUIOIDS",Str1)+1)/2\->\A
If fPart(A)=0 and A\>=\1 and A<10
Then
A\->\L
Else
1\->\L
End
End


1\->\G
While G
ClrHome
Output(8,5,"LEVEL "
Output(8,11,L
Output(4,4,"LOADING..."
Output(1,8,sub("ASBVUYXZPWTRUIOIDSQN",2L-1,2)

If L=1:Then
"00000000000000000000000000000000004000040000400001111211140210000000020001110400000002000000411000000200000000001111111111111111"\->\Str0:6\->\C
2\->\X:8\->\Y:4\->\S:4\->\T:End
If L=2:Then
"00000000000000000000000000000000011121111100000000002001400400004000200140011210000020014000020400002001000002001111111111111111"\->\Str0:6\->\C
2\->\X:8\->\Y:15\->\S:5\->\T:End
If L=6:Then
"00000000400000004011111200000400110111111111111111001111111111111111040000011111111111111001110011111111111111111114040000000411"\->\Str0:7\->\C
12\->\X:3\->\Y:6\->\S:2\->\T:End
If L=5:Then
"00000444000000000012111110001214000200000444420400020000011111211211144444000020020000000004402011111111111111111111141111111111"\->\Str0:17\->\C
8\->\X:7\->\Y:13\->\S:4\->\T:End
If L=3:Then
"04040400004040401111111221111111000000020000000000404000200404000111110200111111000000002000000000000002000000001111111111111111"\->\Str0:10\->\C
2\->\X:8\->\Y:9\->\S:2\->\T:End
If L=4:Then
"00040404404040000121111111111210002000022040020000200402222222000022222220000200002040022004020000200002200002001111111111111111"\->\Str0:10\->\C
8\->\Y:2\->\X:8\->\S:2\->\T:End
If L=9:Then
"44444440444444441111214441211111444424424424444444442442442444444444111211144444444444424444444404444442444444441111111111111111"\->\Str0:82\->\C
2\->\X:8\->\Y:14\->\S:2\->\T:End
If L=8:Then
"00000004040000000000001111120000040404000002000011111100011111120040400040000402001110110000111200000000000000021111111111111111"\->\Str0:9\->\C
2\->\X:8\->\Y:10\->\S:2\->\T:End
If L=7:Then
"11111111111111111000004222220001100400020002000110002222000204011040200044022221122220111110000110200040004000411111111111111111"\->\Str0:9\->\C
3\->\X:8\->\Y:9\->\S:6\->\T:End
If L=10:Then
"00444444440440000011111111211000144400000020000111114000002444001141140000211111111111400020000011111114442444441111111111111111"\->\Str0:28\->\C
17\->\X:5\->\Y:9\->\S:2\->\T:End

If E=1
prgmZLREXP1
If E=2
prgmZLREXP2
If E=3
prgmZLREXP3
For(A,1,8
For(B,1,16
sub(Str0,B+16(A-1),1\->\Y\1\
Y\1\\->\[A](A+1,B+1)
End:End
DelVar Str0
0\->\F
ClrHome
" OH \o\"\->\Str1
For(A,2,9
For(B,2,17
Output(A-1,B-1,sub(Str1,[A](A,B)+1,1
End:End

0\->\I:0\->\J
0\->\M:0\->\P:0\->\Z
Output(Y-1,X-1,"X
0\->\\theta\:1\->\D
While K\!=\45 and C\!=\P and G
getKey\->\K
If K=21:Pause 
If K:prgmZLMOVE
\theta\+1\->\\theta\
If \theta\=7 or K:prgmZLENEMY
End
P+\L\LRUN(5)\->\P
If K=45:0\->\G
If G
L+1\->\L
If (L=11)(E=0) or (L=21)(E=1) or (L=31)(E=2) or (L=41)(E=3)
Then
ClrHome
Disp "    CONGRATS    ","----------------"
Output(3,1,"YOU BEAT ALL THE LEVELS. GOTO SICODE.TICALC.ORG TO DOWNLOAD EXPANSION LEVELS."
Pause 
0\->\G:End
End
If \L\LRUN(5)>\L\LRUN(6):Then
ClrHome
Disp " NEW HIGHSCORE  ","----------------","","OLD-","YOURS-"
Output(4,6,\L\LRUN(6)
Output(5,8,\L\LRUN(5)
\L\LRUN(5)\->\\L\LRUN(6)
Pause 
End
Goto MM
\stop83\

