I made a project a while ago, which I think is my most involved game I have ever made in TI-BASIC. It's basically a clone of Bejeweled.

Check it out here. Tell me what you think!

Source code if you want it (copy-pasted from TokenIDE):

```
:"Bejeweled 84+
:"000007E01DB82A5477EE742EE3C797E977EE3BDC1BD80DB005A0024001800000
G-T
Full
ClrDraw
AxesOff
ZStandard
104→Xmax
⁻72→Ymin
ZInteger
For(A,0,74
If A<11
Text(51,A+15,sub("?Y°﹢.﹢°Y? ",A+1,1
If A<21
Text(46,A+10,sub("?Y'([i]ÎQJ'['JQÎ[i]('Y? ",A+1,1
If A<25
Text(41,A+8,sub("﹢[s]!!]:XX.χ[i][i][i]χ.XX:]!![s]﹢ ",A+1,1
If A<22
Text(36,A+8,sub(" .Jí[e]í[e]|u([s]:[s](|u[e]í[e]íJ. ",A+1,1
Text(5,A+11,sub("[[JJ[i]Q' 'QplotsquareJJJJ JJJplotsquareQ' 'QplotsquareJJJJ YQplotsquare('(plotsquareQY 'QplotsquareJJJJ 'QplotsquareJJJ 'QplotsquareJJJJ [[JJplotsquareQ' ",A+1,1
Text(0,A+11,sub("[[]]X[( |u[Î]]]? [[ |u[Î]]]? [[. .[[ |u[Î]]]? [[ |u[Î]]]? [[??Y[|u ",A+1,1
End
{11,21,36,56,71,77
For(A,1,6
Line(Ans(A),0,Ans(A)+4,0
End
{31,42,51,62
For(A,1,4
Line(Ans(A),0,Ans(A)+1,0
End
14
Line(2,⁻Ans,36,⁻Ans
Line(Ans,⁻30,24,⁻30
{2,Ans,26
For(A,1,3
Line(Ans(A),⁻22,Ans(A)+10,⁻22
End
12
Line(Ans,⁻2Ans,Ans,⁻28
Line(26,⁻2Ans,26,⁻28
⁻16
Line(0,Ans,0,⁻20
Line(38,Ans,38,⁻20
Line(⁻Ans,⁻12,19,⁻13
13
Line(22,⁻12,19,⁻Ans
Line(40,⁻Ans,40,⁻61
{1,15,1,21,37,21,Ans,23,Ans,29,25,29,15,Ans,23,Ans
For(A,1,8
Pt-On(Ans(2A-1),⁻Ans(2A
End
⁻12
Line(41,Ans,92,Ans
Line(41,Ymin,92,Ymin
Line(42,Ans,42,Ymin
Line(92,Ans,92,Ymin
"[[i][[[(ẋXẋ(+([(+(X]X(°û[Q°J|u[|uJ(X[i][(→Str1
SetUpEditor BJWL
If 4=dim(ʟBJWL
Then
ʟBJWL(1→V
ʟBJWL(2→P
ʟBJWL(3→F
ʟBJWL(4→E
Else
DelVar FDelVar PDelVar V30→E
4→dim(ʟBJWL
E→ʟBJWL(4
End
7^cumSum(binomcdf(7,0→L₃
StorePic 2
Lbl A
RecallPic 2
Text(15,2,P+F
Pt-On(37,⁻15
Text(23,14,V
Pt-On(25,⁻23
Line(41,⁻62,41,⁻62+min(49,49F/E
Text(25,49,"Generating
Text(31,44,"board…please
Text(37,48,"be patient…
DelVar [A]{8,8→dim([A]
List►matr(₁₀^(1+iPart(7fPart(randL₃))),₁₀^(1+iPart(7fPart(randL₃))),₁₀^(1+iPart(7fPart(randL₃))),₁₀^(1+iPart(7fPart(randL₃))),₁₀^(1+iPart(7fPart(randL₃))),₁₀^(1+iPart(7fPart(randL₃))),₁₀^(1+iPart(7fPart(randL₃))),₁₀^(1+iPart(7fPart(randL₃))),[A]
Repeat [A]=[B]
[A]→[B]
For(X,0,1
For(A,1,8
Matr►list([A],A,L₁
not(DeltaList(DeltaList(L₁→L₁
For(B,1,6max(Ans
If L₁(B
Then
Repeat Ans≠[A](B+1,A
10^randInt(1,7→[A](B,A
End
End
End
End
[A]ᵀ→[A]
End
End
For(A,1,8
For(B,1,8
For(C,0,7
Text(7+6A,38+6B+C,sub(sub(Str1,5log([A](A,B))-4,5)+" ",C+1,1
End
Line(92,⁻12,92,Ymin
End
End
DelVar LDelVar SDelVar T1→Z
1→θ
1→W
Repeat F≥E or L=15 and F<E or sum(K={22,23,45
Line(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ
Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ
Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ
Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ
getKey→K
If Ans
Then
Line(38+6Z,⁻7-6θ,42+6Z,⁻7-6θ,0
Line(38+6Z,⁻13-6θ,42+6Z,⁻13-6θ,0
Line(37+6Z,⁻8-6θ,37+6Z,⁻12-6θ,0
Line(43+6Z,⁻8-6θ,43+6Z,⁻12-6θ,0
End
If Ans=23
DelVar FDelVar PDelVar V30→E
If K=22
DelVar F
If K=21
Then
If S and T and (Z=S or θ=T) and 2>abs(Z-S)+abs(θ-T
Then
Pt-Off(37+6S,⁻7-6T
Pt-Off(43+6S,⁻7-6T
Pt-Off(37+6S,⁻13-6T
Pt-Off(43+6S,⁻13-6T
[A](T,S→A
[A](θ,Z→[A](T,S
DelVar GDelVar NA→[A](θ,Z
Repeat not(M
DelVar M[A]→[B]
For(X,0,1
For(A,1,8
Matr►list([A],A,L₁
not(DeltaList(DeltaList(L₁→L₁
For(B,1,6max(Ans
If L₁(B
Then
3^M+2N+2+F→F
Line(41,⁻62,41,⁻62+min(49,49Ans/E
If P+Ans≥ᴇ9
ᴇ9-1-P→F
Text(15,2,P+Ans
Pt-On(37,⁻15
N+not(M→N
M+1→M
For(C,0,2
{B+C,A
If X
{A,B+C
Text(7+6Ans(1),38+6Ans(2),"
0→[B](Ans(1),Ans(2
End
End
End
End
[A]ᵀ→[A]
End
If M
Then
1→W
[B]→[A]
If not(G
Then
For(X,0,1
{T,S
If X
{θ,Z
Text(7+6Ans(1),38+6Ans(2),"
StorePic 1
For(C,0,7
If [A](Ans(1),Ans(2
Text(7+6Ans(1),38+6Ans(2)+C,sub(sub(Str1,5log([A](Ans(1),Ans(2)))-4,5)+" ",C+1,1
End
RecallPic 1
End
1→G
End
For(A,1,8
Matr►list([A],A,L₁
If not(min(L₁
Then
DelVar DDelVar L₂8→dim(L₂
8→C
For(B,1,8
L₁(9-B
If Ans
Then
Ans→L₂(C
C-1→C
End
If not(L₁(B
B→D
End
List►matr(L₂+₁₀^(1+iPart(7fPart(randL₃)))not(L₂),[B]
rowSwap(augment([A],[B])ᵀ,A,9)ᵀ→[A]
{8,8→dim([A]
For(B,D,1,⁻1
Text(7+6B,38+6A,"
StorePic 1
For(C,0,7
Text(7+6B,38+6A+C,sub(sub(Str1,5log([A](B,A))-4,5)+" ",C+1,1
End
RecallPic 1
End
End
End
Else
If not(N
Then
[A](T,S→A
[A](θ,Z→[A](T,S
A→[A](θ,Z
End
End
End
DelVar SDelVar T
Else
If S and T
Then
Pt-Off(37+6S,⁻7-6T
Pt-Off(43+6S,⁻7-6T
Pt-Off(37+6S,⁻13-6T
Pt-Off(43+6S,⁻13-6T
End
Z→S
θ→T
Pt-On(37+6S,⁻7-6Ans
Pt-On(43+6S,⁻7-6Ans
Pt-On(37+6S,⁻13-6Ans
Pt-On(43+6S,⁻13-6Ans
End
End
Z+(K=26 and Z<8)-(K=24 and Z>1→Z
θ+(K=34 and θ<8)-(K=25 and θ>1→θ
If W and F<E
DelVar I1→L
If L and L<16
Then
Matr►list([A],1,L₂
For(A,2,8
L₂→L₁
Matr►list([A],A,L₂
.1(L₁+L₂)(L₁≠L₂
{0,0,sum(Ans,1,3),sum(Ans,2,4),sum(Ans,3,5),sum(Ans,4,6),sum(Ans,5,7),sum(Ans,6,8
If .3≤max(max(fPart(Ans/L₁),fPart(Ans/L₂))) or max(.3010299957=abs(DeltaList(log(abs(DeltaList(DeltaList(L₁
Then
15→L
8→A
End
L+1→L
End
If L=16 and I or L≠16
[A]ᵀ→[A]
L≠16→I
End
not(L→W
If L=15 and F<E
Then
ClrDraw
RecallPic 2
Text(15,2,P+F
Pt-On(37,⁻15
Text(23,14,V
Pt-On(25,⁻23
For(X,0,1
Text(⁻1,21,X+47,"NO MORE
Text(⁻1,29,X+53,"MOVES
If not(X
StorePic 1
End
RecallPic 1
Text(37,49,"Press ENTER
Pause
DelVar FDelVar PDelVar V30→E
End
End
ClrDraw
If F≥E
Then
min(999,V+1→V
min(15015,E+15→E
P+F→P
DelVar F
End
If K=22
DelVar F
If K≠45
Goto A
{V,P,F,E→ʟBJWL
ClrHome
Disp "Bejeweled 84+","","Game saved.
```

```
:ClrHome:Disp "HOW DOES A","MATHEMATICIAN","LOSE WEIGHT?
:Pause "
:Pause "BINOMIALS!
:Pause "(BUY NO MEALS)":ClrHome
```