mr womp womp wrote:
If you really want to go crazy, since there are patterns in between different symbols, you can also merge similar symbols together like I did here with v,v and b,b to save even more bytes:
Code:
EDIT: Here is the code I got for t,t and th
Code:
Of course, you can start to see that the for() loop at the end becomes redundant, so you could put it in a sub-program with a Return at the end and just call the subprogram for each character. Also, you will obviously want to reuse the same For(B,0,1) for all the pairs because there is no reason to seperate them. So the code for v,v, b,b, t,t, ch,k, sh, k, khw, g , gh and th would be like this:
Code:
Where prgmD is this:
Code:
Code:
For(B,0,1
61+augment({1,1},cumSum(binomcdf(4,0
augment(augment(56+cumSum(binomcdf(10,0)),66-4B+binomcdf(8+B,0)),-4B+augment(augment({63},Ans),Ans→L₁
{3,4,5,6,6,6,5
110-66B+augment(augment(binomcdf(9,0),cumSum(binomcdf(9+B,0))),augment({2},augment(Ans,Ans+4
For(A,1,dim(Ans
Pxl-On(L1(A),Ans(A),Red
End
End
EDIT: Here is the code I got for t,t and th
Code:
For(B,0,1
15+cumSum(binomcdf(10,0
augment(Ans,9+5B+augment(augment({9,8,8,8},7+cumSum(binomcdf(4,0))),{12→L₁
12+67B+augment(augment(binomcdf(9,0),cumSum(binomcdf(6,0))),{7,7,5,6
For(A,1,dim(Ans
Pxl-On(L1(A),Ans(A),Red
End
End
Of course, you can start to see that the for() loop at the end becomes redundant, so you could put it in a sub-program with a Return at the end and just call the subprogram for each character. Also, you will obviously want to reuse the same For(B,0,1) for all the pairs because there is no reason to seperate them. So the code for v,v, b,b, t,t, ch,k, sh, k, khw, g , gh and th would be like this:
Code:
For(B,0,1
61+augment({1,1},cumSum(binomcdf(4,0
augment(augment(56+cumSum(binomcdf(10,0)),66-4B+binomcdf(8+B,0)),-4B+augment(augment({63},Ans),Ans→L₁
{3,4,5,6,6,6,5
110-66B+augment(augment(binomcdf(9,0),cumSum(binomcdf(9+B,0))),augment({2},augment(Ans,Ans+4
prgmD
15+cumSum(binomcdf(10,0
augment(Ans,9+5B+augment(augment({9,8,8,8},7+cumSum(binomcdf(4,0))),{12→L₁
12+67B+augment(augment(binomcdf(9,0),cumSum(binomcdf(6,0))),{7,7,5,6
prgmD
97+cumSum(binomcdf(10,0
augment(Ans,99-6B+augment(augment({5},4+cumSum(binomcdf(4,0))),{9,9,9,8→L₁
84-66B+binomcdf(10,0
augment(Ans,78-66B+augment({2,3,1,1},cumSum(binomcdf(5,0
prgmD
cumSum(binomcdf(10,0
augment(Ans,5B+binomcdf(5,0
138+augment(Ans,1+5B+cumSum(binomcdf(4,0
augment(Ans,142+5B+{2,2,1→L₁
13+augment(7binomcdf(10,0),cumSum(binomcdf(5,0
65B+augment(Ans,14+augment({2,1,1},cumSum(binomcdf(4,0
prgmD
138+augment(cumSum(binomcdf(10,0)),5B+augment(binomcdf(8,0),augment(cumSum(binomcdf(5,0)),augment(seq(6-(X=3),X,1,6),{2,3,4,5→L₁
augment(10+binomcdf(10,0),cumSum(binomcdf(9,0
66B+43+augment(Ans,augment({3,2,2},1+augment(cumSum(binomcdf(7,0)),{6,5,5,9
prgmD
End
Where prgmD is this:
Code:
For(A,1,dim(Ans
Pxl-On(L1(A),Ans(A),Red
End
Return
I modified this to use JWinslow23's awesome subroutine thing, so it now looks like this:
Code:
For(B,0,1
61+augment({1,1},cumSum(binomcdf(4,0
augment(augment(56+cumSum(binomcdf(10,0)),66-4B+binomcdf(8+B,0)),~4B+augment(augment({63},Ans),Ans->L1
{3,4,5,6,6,6,5
110-66B+augment(augment(binomcdf(9,0),cumSum(binomcdf(9+B,0))),augment({2},augment(Ans,Ans+4
For(Z,~1,0
If Z
Goto SB
End
15+cumSum(binomcdf(10,0
augment(Ans,9+5B+augment(augment({9,8,8,8},7+cumSum(binomcdf(4,0))),{12->L1
12+67B+augment(augment(binomcdf(9,0),cumSum(binomcdf(6,0))),{7,7,5,6
For(Z,~1,0
If Z
Goto SB
End
97+cumSum(binomcdf(10,0
augment(Ans,99-6B+augment(augment({5},4+cumSum(binomcdf(4,0))),{9,9,9,8->L1
84-66B+binomcdf(10,0
augment(Ans,78-66B+augment({2,3,1,1},cumSum(binomcdf(5,0
For(Z,~1,0
If Z
Goto SB
End
cumSum(binomcdf(10,0
augment(Ans,5B+binomcdf(5,0
138+augment(Ans,1+5B+cumSum(binomcdf(4,0
augment(Ans,142+5B+{2,2,1->L1
13+augment(7binomcdf(10,0),cumSum(binomcdf(5,0
65B+augment(Ans,14+augment({2,1,1},cumSum(binomcdf(4,0
For(Z,~1,0
If Z
Goto SB
End
End
Label SB is near the beginning of the program (right after a menu function, so it will never be accidentally called) and look like this:
Code:
Lbl SB
For(A,1,dim(Ans
Pxl-On(L1(A),Ans(A),Red
End
End