Maze Runner is now complete and is now ready for its official release. All I have to do is make the
ReadMe and include a few other needed files to the zip.
Hope you all are excited about this!!!
Here is the completed program:
Code:
:"Maze Runner
1.00
Full:ClrHome:FnOff :PlotsOff :AxesOff:ZStandard:ZInteger
If det([[1:Then
Disp "Please Install","Celtic III.
Pause
ClrHome:Return
End:real(7,0
real(11
If Ans<2:Then
Disp "The TI-83 Series","Is Not Supported","For Maze Runner.","","Play On A TI-84","Plus Emulator.
Pause
ClrHome:Return
End
det(4,3
expr(sub(Ans,1,1)+"."+sub(Ans,3,2
If Ans<2.43
Then
Disp "This Operating","System Is Not","Supported.","","2.43+ Is","Required.
Pause
ClrHome:Return
End
det(4
If Ans<53
Then
Disp "RAM Memory Is","Insuffiecent.","","5kB Is Needed.
Pause
ClrHome:Return
End
ClrHome
" →Str0
For(I,1,25
Output(1,1,det(17,det(29,randInt(61251,61439
End
Output(2,2,Str0
For(I,4,7:Output(I,2,Str0:End
real(13,1
Output(2,2,"MAZE RUNNER
Output(8,1,"v"+det(5,"MAZERUN",2
real(13,0
Output(4,2,">BioHazard
Output(5,2,">RoccoLoxPrgms
Output(6,2,">Nomkid
Output(7,2,">TIny_Hacker
Output(8,11,"
" PRESS ENTER TO PLAY MAZE RUNNER MADNESS! →Str1:1→A:0→B
getKey:Repeat getKey=105
B+1→B
If B>4:Then
DelVar Blength(Str1)-4
A+1-Ans(A=Ans→A
Output(8,6,"["+sub(Str1,A,4)+"]
End:End
Lbl RB
For(I,2,7:Output(I,2,Str0:End
Output(2,2,"Loading…
"rowSwap(MAZERun→Str9
If ".P:NT:FN"=det(0,7,Ans:Then
det(0,5,Str9
For(I,1,4
If I=1:0rand(5
If I=2:{23,1,1,1,1,1
If I=3:999+0rand(15
If I=4:0rand(15
det(6+2(I=4),Str9,det(1,Ans),I
End:det(0,Str9
End
SetUpEditor D,S,T,C
For(I,1,4
expr(det(5,Str9,I
If I=1:Ans→D
If I=2:Ans→S
If I=3:Ans→T
If I=4:Ans→C
End
"π∫&βßδλΣφΩχ→Str1
"▫⁺•₀∠;~αγεµρστ$"+det(17,"04→Str2
"Ŝ#%@GŚNHOθZ→Str3
"|/-\→Str8
Lbl M
real(5,0,⌊S(1
sub(Str1,⌊S(4),1→Str4:sub(Str2,⌊S(5),1→Str5:sub(Str3,⌊S(6),1→Str6
For(I,1,16
For(J,1,8
If max(I={1,16} or J={1,8
Output(J,I,Str6
If J=3
Output(3,I,Str6
End:End
Lbl MM
"rowSwap(MAZERun→Str9
Output(2,2,Str0
For(I,4,7:Output(I,2,Str0:End
Output(2,2,"MAZE RUNNER
Output(4,3,"Play
Output(5,3,"Stats
Output(6,3,"Custom…
Output(7,3,"Options…
4→O:⌊S(1→
Repeat max(K={45,105
Output(O,2,Str4
Repeat Ans
getKey
End:Ans→K
max(4,min(7,O+(K=34)-(K=25
Output(O,2,"
Ans→O:End
If K=45
Goto Q
Output(2,2,Str0:For(I,4,7:Output(I,2,Str0:End
If O=4:Goto P
If O=5:Goto S
If O=6:Goto C
If O=7:Goto O
***ADD HERE***
Lbl C
Output(2,2,Str0:For(I,4,7:Output(I,2,Str0:End
"π∫&βßδλΣφΩχ→Str1:"▫⁺•₀∠;~αγεµρστ$"+det(17,"04→Str2
"rowSwap(MAZEprgmuLv→Str9
If ".P:NT:FN"=det(0,7,Str9
det(0,5,Str9
If "A"=sub(det(0,7,Str9),1,1
det(0,Str9
det(5,Str9)-1→R
Output(2,2,"CUSTOM LEVELS
Output(5,3,"New
If R:Then
Output(4,3,"Play
Output(6,3,"Edit
Output(7,3,"Delete
End
4+(not(R→O
Output(4,12,"LVS:
Output(5,13,R
If not(R
Output(7,2,"No Levels.
Repeat max(K={45,105
Output(O,2,Str4
Repeat Ans
getKey
End:Ans→K
max(5-(R>0),min(5+2(R>0),O+(K=34)-(K=25
Output(O,2,"
Ans→O:End
If K=45:Then
For(I,4,7
Output(I,2,Str0:End
Output(4,2,"Archiving…
det(0,Str9
End
If K=45
Goto MM
If O=4:Goto CP
If O=5:Goto CN
If O=6:Goto CE
If O=7:Goto CD
Lbl CP
Output(2,2,Str0:For(I,4,7:Output(I,2,Str0:End
Output(2,2,"PLAY USR LEVEL
1→L
Output(4,2,"Select A Level
Output(5,2,"To Play:
Output(6,2,"
Repeat max(K={45,105
det(1,L
If 1=length(Ans:"0"+Ans
Output(6,3,Ans
Repeat Ans
getKey
End:Ans→K
max(1,min(R,L+(K=26)-(K=24→L
End
If K=45:Goto C
Output(2,2,Str0:For(I,4,7:Output(I,2,Str0:End
Output(4,2,"Loading…
Output(2,2,"LEVEL "+det(1,L)+"
det(5,Str9,L→Str7:0→A
DelVar [A]{10,23→dim([A]
For(J,1,10
For(I,1,23
23(J-1)+I
expr(sub(Str7,Ans,1→[A](J,I
A+1-4(A=4→A
Output(7,15,sub(Str8,Ans,1
End:End
SetUpEditor L₁
length(Str7)-230
expr(sub(Str7,231,Ans→L₁
L₁(1→T:L₁(2→M:L₁(3→W:L₁(4→R:L₁(5→Y:L₁(6→X:L₁(7→B:L₁(8→A:L₁(10→D:L₁(11→Z
ClrHome
Disp "LEVEL "+det(1,L),"TIME:"+det(1,T),"MOVES:"+det(1,M),"KEYS:"+det(1,W
If R
Disp "REQ:YES
Output(7,1,"DIFF:"+sub("EMHC",D,1
Output(8,1,"TYPE:"+sub("MAZE INV MAZEKEY RUN OTHER ",8Z-7,8
Output(4,12,"
Output(4,16,"
Output(2,14,"
Output(6,14,"
Output(4,14,Str4
" "+Str5+Str6+"SE →Str7
Pause
startTmr→θ:Repeat checkTmr(θ:End:startTmr→θ
1→[A](B,A
startTmr→:W→F
0→N
Lbl 0Z
Repeat max(K={45,55}) or not(W) and X=A and Y=B or (R and (not(M) or not(T
Output(3,14,sub(Str7,[A](Y-1,X),1
Output(5,14,sub(Str7,[A](Y+1,X),1
Output(4,13,sub(Str7,[A](Y,X-1),1
Output(4,15,sub(Str7,[A](Y,X+1),1
Repeat Ans or R and not(T
If checkTmr(θ:Then
T-(T>0→T
Output(2,6,det(1,Ans)+"
startTmr→θ
End:getKey
End:Ans→K
M-(M>0 and max(K={24,25,26,34→M
Output(3,7,det(1,Ans)+"
max(2,min(22,X+(K=26)-(K=24→X
max(2,min(9,Y+(K=34)-(K=25→Y
If max([A](Y,X)={3,6:Then
X+(K=24)-(K=26→X:Y+(K=25)-(K=34→Y
End
If 2=[A](Y,X:Then
1→[A](Y,X
W-1→W
Output(4,6,det(1,Ans)+"
If not(Ans
5→[A](B,A
End
End
If K=55:Then
sub(Str7,1,5)+"•→Str7:1→N
End
If K=55
Goto 0Z
checkTmr()+⌊D(3→⌊D(3
G-T→G
⌊D(2)+(F-W→⌊D(2
1
If K=45 or R(X≠A and Y≠B and (not(M) or not(T:0
Ans→W
If N and R:0→W
1+⌊D(5→⌊D(5
not(W)+⌊D(4→⌊D(4
real(13,1
Output(6,2,"YOU "+sub("LOSE…WIN!!",1+5W,5
real(13,0
Pause
For(J,1,8
For(I,1,16
If max(J={1,8} or I={1,16
Output(J,I,Str6
End:End
For(I,2,15:Output(3,I,Str6:End
Goto C
Lbl CD
Output(2,2,Str0:For(I,4,7:Output(I,2,Str0:End
Output(2,2,"DELETE LEVEL
Output(4,2,"Select A Level
Output(5,2,"To DELETE:
1→L
Output(6,2,"
Repeat max(K={45,105
det(1,L
If 1=length(Ans:"0"+Ans
Output(6,3,Ans
Repeat Ans
getKey
End:Ans→K
max(1,min(R,L+(K=26)-(K=24→L
End
If K=45:Goto C
For(I,4,7:Output(I,2,Str0:End
Output(4,2,"Really DELETE
Output(5,2,"Level "+det(1,L)+"?
Output(6,2,"₁.Yes
Output(7,2,"₂.No
Repeat max(Ans={92,93
getKey:End
If Ans=92
det(7,Str9,L
Goto C
Lbl CE
Output(2,2,Str0:For(I,4,7:Output(I,2,Str0:End
Output(2,2,"EDIT LEVEL
Output(4,2,"Select A Level
Output(5,2,"To Edit:
1→L
Output(6,2,"
Repeat max(K={45,105
det(1,L
If 1=length(Ans:"0"+Ans
Output(6,3,Ans
Repeat Ans
getKey
End:Ans→K
max(1,min(R,L+(K=26)-(K=24→L
End
If K=45:Goto C
For(I,4,7:Output(I,2,Str0:End
Output(4,2,"Loading…
Output(2,2,"LEVEL "+det(1,L)+"
det(5,Str9,L→Str7:0→A
DelVar [A]{10,23→dim([A]
For(J,1,10
For(I,1,23
23(J-1)+I
expr(sub(Str7,Ans,1→[A](J,I
A+1-4(A=4→A
Output(7,15,sub(Str8,Ans,1
End:End
SetUpEditor θ
length(Str7)-230
expr(sub(Str7,231,Ans→θ
1→G
real(12,7,0,0,95,63,1
Goto EE
Lbl CN
det(5,Str9→L
0→G
real(12,7,0,0,95,63,1
DelVar [A]{10,23→dim([A]
Fill(1,[A]
Lbl EE
" ▫ŜSE?→Str1
1→X:Ans→Y
If G:Then
For(J,1,10
For(I,1,23
If 1≠[A](J,I
Text(6J-6,4I-3,sub(Str1,[A](J,I),1:End:End:End
Lbl Z0
Repeat K=105
Text(6Y-6,4X-3,"+
Repeat Ans
getKey
End:Ans→K
If K<16
K-10→[A](Y,X
If K=21
6→[A](Y,X
sub(Str1,[A](Y,X),1
If Ans="
Ans+"
Text(6Y-6,4X-3,Ans
max(1,min(23,X+(K=26)-(K=24→X
max(1,min(10,Y+(K=34)-(K=25→Y
End
For(I,2,7:Output(I,2,Str0:End
Output(2,2,"Validating…
" →Str2
SetUpEditor E,F,G,θ
DelVar A{0,0,0,0,0,0→E
{0,0→F:Ans→G
For(J,1,10
For(I,1,23
Str2+det(1,[A](J,I→Str2
[A](J,I:1+⌊E(Ans→⌊E(Ans
If 4=[A](J,I
{J,I→F
If 5=[A](J,I
{J,I→G
23(J-1)+I
Output(6,2,det(1,int(2Ans/230))+"%
End:End
Output(6,2,"
sub(Str2,2,230→Str2:0→E
If not(⌊E(2
Then
Output(2,2,"NEED >0 KEYS
E+1→E:End
If 1≠⌊E(4:Then
Output(3,2,"NEED 1 START
E+1→E:End
If 1≠⌊E(5:Then
Output(4,2,"NEED 1 GOAL
E+1→E:End
⌊F
If 1=Ans(1) or 1=Ans(2) or 10=Ans(1) or 10=Ans(2:Then
Output(5,2,"BAD ST COORD
E+1→E
End
⌊G
If 1=Ans(1) or 1=Ans(2) or 10=Ans(1) or 23=Ans(2:Then
Output(6,2,"BAD END COORD
E+1→E
End
If E:Then
" Error
If E>1:Ans+"s
Output(7,2,"Fix "+det(1,E)+Ans+".
Pause :End
If E:Goto Z0
For(I,2,7:Output(I,2,Str0:End
If not(G:{60,100,1,1,1→θ
2→O
Output(2,3,"TIME:
Output(3,3,"MOVES:
Output(4,3,"DIFF:
Output(5,3,"TYPE:
Output(6,3,"REQ:
For(I,1,5:Output(I+1,9,⌊θ(I
End
Repeat max(K={45,105
Output(O,9,det(1,⌊θ(O-1))+"
Output(O,2,Str4
Repeat Ans
getKey
End:Ans→K
max(2,min(6,O+(K=34)-(K=25
Output(O,2,"
Ans→O
If max(K={24,26:Then
{3,998
If O=3:{2,999
If max(O={4,5
{1,4
If O=6:{0,1
max(Ans(1),min(Ans(2),⌊θ(O-1)+(K=26)-(K=24→⌊θ(O-1
End:End
If K=45
Goto Z0
Str2+det(1,{⌊θ(1),⌊θ(2),⌊E(2),⌊θ(5),⌊F(1),⌊F(2),⌊G(1),⌊G(2),0,⌊θ(3),⌊θ(4→Str2
det(6+2G,Str9,Str2,L
For(I,2,15:Output(3,I,Str6:End
Goto C
Lbl P
"rowSwap(MAZEprgmlvl→Str9
0→E
If ".P:NT:FN"=det(0,7,Str9) or ".L:NT:FN"=det(5,Str9,15
Then
Output(2,2,"LEVELS INVALID
Output(4,2,"The Levels
Output(5,2,"App Var Is
Output(6,2,"Missing Or
Output(7,2,"Invalid.
1→E
Pause :End
If E:Goto MM
Output(2,2,"PLAY MAZE RUN
Output(4,2,"Select Level
Output(5,2,"To Play:
Output(6,7,"
Output(7,2,"DONE: , "+det(1,int(2sum(⌊C)/15))+"%
1→L
Repeat max(K={105,45
det(1,L
If 1=length(Ans:"0"+Ans
Output(6,8,Ans
Output(7,7,sub("NY",1+⌊C(L),1
Repeat Ans
getKey
End:Ans→K
max(1,min(15,L+(K=26)-(K=24→L
End
If K=45
Goto MM
For(I,4,7:Output(I,2,Str0:End
Output(4,2,"Loading…
Output(2,2,"LEVEL "+det(1,L)+"
Output(5,2,"Quickest:"+det(1,⌊T(L))+"s
det(5,Str9,L→Str7:0→A
DelVar [A]{10,23→dim([A]
For(J,1,10
For(I,1,23
23(J-1)+I
expr(sub(Str7,Ans,1→[A](J,I
A+1-4(A=4→A
Output(7,15,sub(Str8,Ans,1
End:End
SetUpEditor L₁
length(Str7)-230
expr(sub(Str7,231,Ans→L₁
L₁(1→T:L₁(2→M:L₁(3→W:L₁(4→R:L₁(5→Y:L₁(6→X:L₁(7→B:L₁(8→A:L₁(10→D:L₁(11→Z
ClrHome
Disp "LEVEL "+det(1,L),"TIME:"+det(1,T),"MOVES:"+det(1,M),"KEYS:"+det(1,W
If R
Disp "REQ:YES
Output(7,1,"DIFF:"+sub("EMHC",D,1
Output(8,1,"TYPE:"+sub("MAZE INV MAZEKEY RUN OTHER ",8Z-7,8
Output(4,12,"
Output(4,16,"
Output(2,14,"
Output(6,14,"
Output(4,14,Str4
" "+Str5+Str6+"SE →Str7
Pause
startTmr→θ:Repeat checkTmr(θ:End:startTmr→θ
1→[A](B,A
startTmr→:W→F
T→G:0→N
Lbl 0
Repeat max(K={45,55}) or not(W) and X=A and Y=B or (R and (not(M) or not(T
Output(3,14,sub(Str7,[A](Y-1,X),1
Output(5,14,sub(Str7,[A](Y+1,X),1
Output(4,13,sub(Str7,[A](Y,X-1),1
Output(4,15,sub(Str7,[A](Y,X+1),1
Repeat Ans or R and not(T
If checkTmr(θ:Then
T-(T>0→T
Output(2,6,det(1,Ans)+"
startTmr→θ
End:getKey
End:Ans→K
M-(M>0 and max(K={24,25,26,34→M
Output(3,7,det(1,Ans)+"
max(2,min(22,X+(K=26)-(K=24→X
max(2,min(9,Y+(K=34)-(K=25→Y
If max([A](Y,X)={3,6:Then
X+(K=24)-(K=26→X:Y+(K=25)-(K=34→Y
End
If 2=[A](Y,X:Then
1→[A](Y,X
W-1→W
Output(4,6,det(1,Ans)+"
If not(Ans
5→[A](B,A
End
End
If K=55:Then
sub(Str7,1,5)+"•→Str7:1→N
End
If K=55:Goto 0
checkTmr()+⌊D(3→⌊D(3
G-T→G
⌊D(2)+(F-W→⌊D(2
1
If K=45 or R(X≠A and Y≠B and (not(M) or not(T:0
Ans→W
If N and R:0→W
Ans→⌊C(L
If W and G<⌊T(L
G→⌊T(L
1+⌊D(5→⌊D(5
not(W)+⌊D(4→⌊D(4
real(13,1
Output(6,2,"YOU "+sub("LOSE…WIN!!",1+5W,5
real(13,0
Pause :ClrHome
Goto M
Lbl O
Output(2,2,"OPTIONS
Output(4,3,"Skins…
Output(5,3,"Contrast
Output(6,3,"ArchiveDat
Output(7,3,"Reset
4→O
Lbl S0
real(5,0,
⌊S
Output(4,13,sub(Str1,Ans(4),1)+sub(Str2,Ans(5),1)+sub(Str3,Ans(6),1
Output(5,14,⌊S(1
Output(6,15,sub("NY",1+⌊S(3),1
Repeat max(K={105,45
Output(O,2,Str4
Repeat Ans
getKey
End:Ans→K
max(2,min(7,O+(K=34)-(K=25
Output(O,2,"
Ans→O:End
If K=45
Goto M
If O=4:Goto SS
If O=5:Goto SC
If O=6:Goto SA
If O=7:Goto SR
Lbl SS
Output(2,2,Str0:For(I,4,7:Output(I,2,Str0:End
Output(2,2,"GAME SKINS
Output(4,3,"Player
Output(5,3,"Keys
Output(6,3,"Wall
4→O:24→K
Repeat K=45
If max(K={24,26:Then:For(I,4,6:Str1:If I=5:Str2:If I=6:Str3:Output(I,15,sub(Ans,⌊S(I),1:End:End
Output(O,2,Str4
Repeat Ans
getKey
End:Ans→K
Str1
If O=5:Str2
If O=6:Str3
max(1,min(length(Ans),⌊S(O)+(K=26)-(K=24→⌊S(O
max(4,min(6,O+(K=34)-(K=25
Output(O,2,"
Ans→O:End
Goto O
Lbl SR
Output(2,2,Str0:For(I,4,7:Output(I,2,Str0:End
Output(2,2,"RESET DATA
Output(4,2,"Reset Game To
Output(5,2,"Beginning?
Output(6,2,"₁.No
Output(7,2,"₂.Yes
Repeat max(Ans={92,93
getKey:End
If Ans=92
Goto MM
det(0,4,Str9
For(I,4,7:Output(I,2,Str0:End
Output(4,2,"Game Reset!
Output(6,2,"Custom Levels
Output(7,2,"Not Deleted.
Pause
Goto RB
Lbl SC
⌊S(1→C
real(13,1
Repeat max(K={45,105
real(5,0,C
Output(5,14,C
Repeat Ans
getKey
End:Ans→K
max(10,min(39,C+(K=25)-(K=34→C
End
real(13,0
Output(5,13,"
If K=105
C→⌊S(1
Goto S0
Lbl SA
not(⌊S(3→⌊S(3
Goto S0
Pause
Lbl S
Output(2,2,"STATISTICS
⌊D
Output(4,2,"Keys:"+det(1,Ans(2
Output(5,2,"Time:"+det(1,Ans(3))+"s
Output(6,2,"Fails:"+det(1,Ans(4
Output(7,2,"Plays:"+det(1,Ans(5
Pause
Goto MM
Lbl Q
If "A"=sub(det(0,7,Str9),1,1
det(0,Str9
For(I,2,7:Output(I,2,Str0:End
Output(2,2,"Saving…
For(I,1,4
If I=1:⌊D
If I=2:⌊S
If I=3:⌊T
If I=4:⌊C
det(8,Str9,det(1,Ans),I
Output(7,15,sub(Str8,I,1
End
If ⌊S(3
det(0,Str9
DelVar Str0DelVar Str1DelVar Str2DelVar Str3DelVar Str4DelVar Str5DelVar Str6DelVar Str7DelVar Str8DelVar Str9DelVar ⌊DDelVar ⌊SDelVar ⌊TDelVar ⌊C
ClrHome:Return