Also, in response to kg583's post, x and s are changed, not allowing for a repeat of the same if statement.

Is there a way to hack my calculator to get me to be able to put in a matrix with more than 200 entries? ]]>

Also, is either one more size efficient?

A) pressing enter

B) using a colon ]]>

`:If K=26 and X=20 and S=1:Then :2→S :21→B :40→U :20→O :1→X :End :If K=26 and X=20 and S=1:Goto A`

The other option is to rework your program flow. For example, introduce a variable that allows your `Repeat` loop to exit:

`:0→E (or whatever var you like) :Repeat E game code :If K=26 and X=20 and S=1:Then :2→S :21→B :40→U :20→O :1→X :1→E :End end of loop :End :Goto A`

where you return to A once the loop is done.

]]>Also, I see you have a few Memory Leaks, specifically at the code section below:

`If K=26 and X=20 and S=1:Then 2→S 21→B 40→U 20→O 1→X Goto A <-- This line here End`

As for what it does: the snippet removes the `Then` and `Else` from your code by utilizing two tricks. Firstly, if you have only one line after an `If` statement, if doesn't need a `Then` or `End`. Secondly, instead of selectively storing values to variables, you can store a "default" value (in this case 1), then change it based on the condition. Effectively, the code changes the phrase, "If `H` does not equal 1, set `U` to this expression. Otherwise, set `U` to 1" into "Set `U` to 1. Then, if `H` does not equal 1, change `U` to this expression." They mean the same and work the same, but one is more efficient speed- and size-wise.

thanks! ]]>

`//22 tokens LD(I LX(I)-not(Ans)+not(not(Ans→LX(I`

`If H≠1:Then [A]((H-1),(G+O))→U Else 1→U End --can be -- 1→U If H≠1:[A]((H-1),(G+O))→U`

You can also use this optimization for a lot of the If statements in your Position Code ]]>

`If dim(LX)>0:Then Can be: If dim(LX:Then ------ If LD(I)=0:Then LX(I)+1→LX(I) Else LX(I)-1→LX(I) End Can be optimized to: LD(I) LX(I)+(Ans>0)-(not(Ans→LX(I`

Sorry for the poor examples, I used my 3DS xl to type all this by hand xD

]]>Firstly, you can drop every closing parenthesis that occurs at the end of a line. E.g.,

`:Output(Y,X,"X") can be :Output(Y,X,"X" and even :Output(Y,X,"X`

Secondly, any time you test if a number is 0, it's smaller to use the `not(` command:

`:If D=0 and F≤0:Then can be :If F≤0 and not(D:Then`

I'll have to spend a bit more time looking through the code for larger-scale optimization, but these should get you started.

]]>`If dim(⌊X)>0:Then For(I,1,dim(⌊X)) Output(⌊Y(I),⌊X(I)," ") End For(I,1,dim(⌊X)) If ⌊D(I)=0:Then ⌊X(I)+1→⌊X(I) Else ⌊X(I)-1→⌊X(I) End For(I,1,dim(⌊X)) 0→T ⌊X(I)→G ⌊Y(I)→H prgmPOSITION If ⌊D(I)=0:Then If R=1:Then If dim(⌊X)=I:Then (dim(⌊D)-1)→dim(⌊D) (dim(⌊T)-1)→dim(⌊T) (dim(⌊X)-1)→dim(⌊X) (dim(⌊Y)-1)→dim(⌊Y) 1→T End If I=1 and T=0:Then seq(⌊D(θ),θ,2,dim(⌊D))→⌊D seq(⌊T(θ),θ,2,dim(⌊T))→⌊T seq(⌊X(θ),θ,2,dim(⌊X))→⌊X seq(⌊Y(θ),θ,2,dim(⌊Y))→⌊Y 1→T End If T=0:Then augment(seq(⌊D(θ),θ,1,(I-1)),seq(⌊D(θ),θ,(I+1),dim(⌊D)))→⌊D augment(seq(⌊T(θ),θ,1,(I-1)),seq(⌊T(θ),θ,(I+1),dim(⌊T)))→⌊T augment(seq(⌊X(θ),θ,1,(I-1)),seq(⌊X(θ),θ,(I+1),dim(⌊X)))→⌊X augment(seq(⌊Y(θ),θ,1,(I-1)),seq(⌊Y(θ),θ,(I+1),dim(⌊Y)))→⌊Y End End Else If L=1:Then If dim(⌊X)=I:Then (dim(⌊D)-1)→dim(⌊D) (dim(⌊T)-1)→dim(⌊T) (dim(⌊X)-1)→dim(⌊X) (dim(⌊Y)-1)→dim(⌊Y) 1→T End If I=1 and T=0:Then seq(⌊D(θ),θ,2,dim(⌊D))→⌊D seq(⌊T(θ),θ,2,dim(⌊T))→⌊T seq(⌊X(θ),θ,2,dim(⌊X))→⌊X seq(⌊Y(θ),θ,2,dim(⌊Y))→⌊Y 1→T End If T=0:Then augment(seq(⌊D(θ),θ,1,(I-1)),seq(⌊D(θ),θ,(I+1),dim(⌊D)))→⌊D augment(seq(⌊T(θ),θ,1,(I-1)),seq(⌊T(θ),θ,(I+1),dim(⌊T)))→⌊T augment(seq(⌊X(θ),θ,1,(I-1)),seq(⌊X(θ),θ,(I+1),dim(⌊X)))→⌊X augment(seq(⌊Y(θ),θ,1,(I-1)),seq(⌊Y(θ),θ,(I+1),dim(⌊Y)))→⌊Y End End End End End For(I,1,dim(⌊X)) Output(⌊Y(I),(⌊X(I)-O),"-") End End`

position

`If G≠1:Then [A](H,(G-1+O))→L Else 1→L End If G≠20:Then [A](H,(G+1+O))→R Else 1→R End If H≠1:Then [A]((H-1),(G+O))→U Else 1→U End If H≠10:Then [A]((H+1),(G+O))→D Else 0→D End`

gamehud

`For(C,21,26) For(B,1,10) Output(B,C,"*") End End`

gametext

`0→Q 1→X 1→S Lbl B 0→dim(⌊X) 0→dim(⌊Y) 0→dim(⌊D) 0→dim(⌊T) 0→O 1→B 20→U Lbl A ClrHome For(θ,1,10) For(Q,B,U) If [A](θ,Q)=1 Output(θ,(Q-O),"=") If [A](θ,Q)=2 Output(θ,(Q-O),"Y") End End prgmGAMEHUD 9→Y Repeat 0=1 X→G Y→H prgmPOSITION getKey→K If K=24 and L≠1 Then Output(Y,X," ") X-1→X 1→P End If K=26 and R≠1 Then Output(Y,X," ") X+1→X 0→P End F-1→F If K=25 and D=1:Then Output(Y,X," ") Y-1→Y 3→F End X→G Y→H prgmPOSITION If D=0 and F≤0:Then Output(Y,X," ") Y+1→Y End If K=21:Then X→⌊X(dim(⌊X)+1) Y→⌊Y(dim(⌊Y)+1) 1→⌊T(dim(⌊T)+1) P→⌊D(dim(⌊D)+1) End If K=24 and X=1 and S=2:Then 20→X 1→S Goto B End Output(Y,X,"X") If K=26 and X=20 and S=1:Then 2→S 21→B 40→U 20→O 1→X Goto A End prgmGAMEBLET End`

I have parentheses for now for clarity, but after development. other optimizations are helpful though. ]]>