After recently finding one of my old calculators (I had two 83+'s for the longest time, but lost one) I have stumbled upon what was the best program I had made, 4 years into programming. Mind you up to just after this point I had almost zero experience online (tutorials, guides, or even contact with almost any other programmer), and a few weeks/months after making this project, I found my home forums: DevHardware.

Here is my once prized program, TICTACTO: (WARNING: This code was made before I knew the term "optimization" or how to "optimize" code. The file is absolutely massive, and iirc, is about 8-12 KB. Also, it was severely corrupted, so some of it may not work properly, and you may run into syntax errors. I tried taking out anything that was corrupted, but let me know if you find anything that looks like it wouldn't work. Lastly, this whole code was de-token-ized by Merth's TokensIDE, so ignore the "" breaks)

Here is my once prized program, TICTACTO: (WARNING: This code was made before I knew the term "optimization" or how to "optimize" code. The file is absolutely massive, and iirc, is about 8-12 KB. Also, it was severely corrupted, so some of it may not work properly, and you may run into syntax errors. I tried taking out anything that was corrupted, but let me know if you find anything that looks like it wouldn't work. Lastly, this whole code was de-token-ized by Merth's TokensIDE, so ignore the "" breaks)

**Code:**```
6->dim(listSCOR
```

ClrHome

Goto 9

Lbl 8

ClrHome

Disp "IS THIS YOUR","FIRST TIME","PLAYING TIC-TAC-","TOE?","(Y/N)

getKey->G

Repeat G=92 or G=71

getKey->G

End

ClrHome

If G=92:Goto 1

Goto AA

Lbl 9

Output(1,3,"Tic-Tac-Toe"

Output(2,6,"V-1.6"

Output(4,1,"Best on TI-84+SE"

Output(8,4,"Loading..."

Output(6,5,"Made By:"

Output(7,3,"Joey McNamara"

rand(1

If listSCOR(6)=0:Goto 8

Goto AA

Lbl AA

ClrHome

1->listSCOR(6)

Menu("Tic-Tac-Toe","One Player",C,"T\wo Player",B,"Reset Scores",R1,"Q\uit",NO,"Help",1

Lbl 1

ClrHome

Disp "To play Tic-Tac-","Toe, yo\u \use the","Up, Do\wn, Left, ","and Right arro\ws","to mo\vdotPlotmin( yo\ur ","c\urrent position","seen by thE 4 *s"

Output(8,1,"aro\und the grid."

Pause

ClrHome

Disp "Yo\u can also \use","the n\umbers 1-9 ","like a grid to ","j\ump to yo\ur ","desired position","q\uickly. "

Pause

ClrHome

Disp "The n\umbers and ","letters next to ","the grid sho\w ","yo\ur scores. "

Pause

ClrHome

Disp "X-X's \wins ","O-O's \wins ","0-0's \wins ","theta-theta's \wins ","D-Dra\ws "

Pause

ClrHome

Disp "X is either yo\u ","or \whoe\ver \used ","X at th[phat1]time. ","O is the second ","player \used only","d\uring T\wo ","Players mode "

Pause

ClrHome

Disp "0 is any One ","Player mode comp","other than the ","Impossible comp.","theta is the ","Impossible mode ","comp\uter's \wins."

Pause

ClrHome

Disp "In easy mode, ","the comp\uter ","\will only do ","randomly ","generated points"

Pause

ClrHome

Disp "In Normal mode, ","the comp\uter ","\will act only on","defense, and ","\will not \win ","on p\urpose, b\ut ","may on accident "

Output(8,1,"or self-defense."

Pause

ClrHome

Disp "In Hard mode, ","the comp\uter ","\will act on the ","defense and ","offense, and ","\will take any ","chance gi\ven to "

Output(8,1,"\win. "

Pause

ClrHome

Disp "Impossible mode ","is named s\uch ","for a reason. ","It is not ","possible to \win ","against the comp","\when it is in "

Output(8,1,"this mode. "

Pause

ClrHome

Disp "Yo\u \will no\w ","ret\urn to the ","main men\u. ","Good l\uck, ha\ve ","f\un, and try not","to lose too many","times! "

Output(8,1," -Joey Mac "

Pause

ClrHome

Goto AA

Lbl R1

Menu("Are yo\u s\ure?","No",AA,"Yes",R

Lbl C

Menu("Pick Diffic\ulty","Easy",E,"Normal",N,"Hard",H,"Impossible",IM,"Back",AA

Lbl E

1->A

Goto I

Lbl N

2->A

Goto I

Lbl H

3->A

Goto I

Lbl IM

4->A

Goto I

Lbl B

DelVar A

Goto I

Lbl R

For(U,1,5

0->listSCOR(U)

End

Goto AA

Lbl I

ClrHome

DelVar M

Disp " * X","* ! ! * O"," -+-+- 0"," ! ! theta"," -+-+- D"," ! ! "," *"

For(U,1,5

If listSCOR(U)<=9999999 and listSCOR(U)>=0:Then

Output(U,10,listSCOR(U)

Else

Output(U,10,"ERROR"

End

End

" "->Str1

Str1->Str2

Str2->Str3

Str3->Str4

Str4->Str5

Str5->Str6

Str6->Str7

Str7->Str8

Str8->Str9

2->X

2->Y

DelVar R

DelVar Q

Goto I1

Lbl I1

While 1

If Q=0:Then

If ((A=1 or A=2 or A=3) and int(M/2)!=M/2) or ((A=4 or A=5) and int(M/2)=M/2):Goto I4

DelVar G

"X"->Str0

If int(M/2)!=M/2 and A!=4 and A!=5:"O"->Str0

Output(1,1,Str0

Output(1,7,Str0

Output(7,1,Str0

Output(7,7,Str0

getKey->G

While not(G=24 or G=25 or G=26 or G=34 or G=23 or G=72 or G=73 or G=74 or G=82 or G=83 or G=84 or G=92 or G=93 or G=94 or G=105

getKey->G

End

G->R

X->S

Y->T

If G=23:Goto NO

If int(G/10)>=7 and int(G/10)<=9:int(G/10)*2-12->X

If G-10int(G/10)>=2 and G-10int(G/10)<=4 and int(G/10)>3:2G-20int(G/10)-2->Y

If G=105:Then

If X=2:Then

If Y=2 and Str1=" ":Then

M+1->M

Str0->Str1

Output(2,2,Str1

End

If Y=4 and Str2=" ":Then

M+1->M

Str0->Str2

Output(2,4,Str2

End

If Y=6 and Str3=" ":Then

M+1->M

Str0->Str3

Output(2,6,Str3

End

End

If X=4:Then

If Y=2 and Str4=" ":Then

M+1->M

Str0->Str4

Output(4,2,Str4

End

If Y=4 and Str5=" ":Then

M+1->M

Str0->Str5

Output(4,4,Str5

End

If Y=6 and Str6=" ":Then

M+1->M

Str0->Str6

Output(4,6,Str6

End

End

If X=6:Then

If Y=2 and Str7=" ":Then

M+1->M

Str0->Str7

Output(6,2,Str7

End

If Y=4 and Str8=" ":Then

M+1->M

Str0->Str8

Output(6,4,Str8

End

If Y=6 and Str9=" ":Then

M+1->M

Str0->Str9

Output(6,6,Str9

End

End

End

If G=24 and Y!=2:Y-2->Y

If G=25 and X!=2:X-2->X

If G=26 and Y!=6:Y+2->Y

If G=34 and X!=6:X+2->X

If S!=X or T!=Y:Then

Output(S,1,"

Output(S,7,"

Output(1,T,"

Output(7,T,"

Output(X,1,"*

Output(X,7,"*

Output(1,Y,"*

Output(7,Y,"*

End

End

If M>4:Then

If (Str1!=" " and Str1=Str2 and Str2=Str3) or (Str1!=" " and Str1=Str5 and Str5=Str9) or (Str1!=" " and Str1=Str4 and Str4=Str7) or (Str2!=" " and Str2=Str5 and Str5=Str8) or (Str3!=" " and Str3=Str5 and Str5=Str7) or (Str3!=" " and Str3=Str6 and Str6=Str9) or (Str4!=" " and Str4=Str5 and Str5=Str6) or (Str7!=" " and Str7=Str8 and Str8=Str9):Then

Output(6,10,"PRESS

Output(7,9,"[ENTER]

Pause

ClrHome

Disp Str0

Output(1,3,"WINS!

If Str0="0" or Str0="theta":Output(1,7,"...

listSCOR(1)+(Str0="X")->listSCOR(1)

listSCOR(2)+(Str0="O")->listSCOR(2)

listSCOR(3)+(Str0="0")->listSCOR(3)

listSCOR(4)+(Str0="theta")->listSCOR(4)

Goto RS

End

If M=9:Then

Output(6,10,"PRESS

Output(7,9,"[ENTER]

Pause

ClrHome

Disp "DRAW...

1+listSCOR(5)->listSCOR(5)

Goto RS

End

End

DelVar Q

If A!=0 and A!=4 and A!=5 and (M=1 or M=3 or M=5 or M=7 or M=9):Goto I4

End

Lbl I4

"0"->Str0

If A=4 or A=5:"theta"->Str0

Output(1,1,Str0

Output(1,7,Str0

Output(7,1,Str0

Output(7,7,Str0

M+1->M

Output(8,1,"Loading..."

If not(M=2 or A=1):Then

0->Z

If Str1=" " and (Str3="X" and Str2="X" or Str7="X" and Str4="X" or Str9="X" and Str5="X"):1->Z

If Str2=" " and (Str1="X" and Str3="X" or Str8="X" and Str5="X"):2->Z

If Str3=" " and (Str1="X" and Str2="X" or Str7="X" and Str5="X" or Str9="X" and Str6="X"):3->Z

If Str4=" " and (Str1="X" and Str7="X" or Str5="X" and Str6="X"):4->Z

If Str5=" " and (Str1="X" and Str9="X" or Str2="X" and Str8="X" or Str3="X" and Str7="X" or Str4="X" and Str6="X"):5->Z

If Str6=" " and (Str3="X" and Str9="X" or Str4="X" and Str5="X"):6->Z

If Str7=" " and (Str1="X" and Str4="X" or Str3="X" and Str5="X" or Str8="X" and Str9="X"):7->Z

If Str8=" " and (Str2="X" and Str5="X" or Str7="X" and Str9="X"):8->Z

If Str9=" " and (Str1="X" and Str5="X" or Str3="X" and Str6="X" or Str7="X" and Str8="X"):9->Z

If A=2:Then

If Z=0:Goto I5

Goto I6

End

If Str1=" " and (Str3=Str0 and Str2=Str0 or Str7=Str0 and Str4=Str0 or Str9=Str0 and Str5=Str0):1->Z

If Str2=" " and (Str1=Str0 and Str3=Str0 or Str8=Str0 and Str5=Str0):2->Z

If Str3=" " and (Str1=Str0 and Str2=Str0 or Str7=Str0 and Str5=Str0 or Str9=Str0 and Str6=Str0):3->Z

If Str4=" " and (Str1=Str0 and Str7=Str0 or Str5=Str0 and Str6=Str0):4->Z

If Str5=" " and (Str1=Str0 and Str9=Str0 or Str2=Str0 and Str5=Str0 or Str3=Str0 and Str7=Str0 or Str4=Str0 and Str6=Str0):5->Z

If Str6=" " and (Str3=Str0 and Str9=Str0 or Str4=Str0 and Str5=Str0):6->Z

If Str7=" " and (Str1=Str0 and Str4=Str0 or Str3=Str0 and Str5=Str0 or Str8=Str0 and Str9=Str0):7->Z

If Str8=" " and (Str2=Str0 and Str5=Str0 or Str7=Str0 and Str9=Str0):8->Z

If Str9=" " and (Str1=Str0 and Str5=Str0 or Str3=Str0 and Str6=Str0 or Str7=Str0 and Str8=Str0):9->Z

If A=3 or A=5:Then

If Z=0:Goto I5

Goto I6

End

If Str1=" ":1->Z

If M=3:Then

If Str7="X" or Str4="X":2->Z

If Str2="X" or Str3="X":4->Z

If Str8="X" or Str9="X":3->Z

If Str6="X":Then

5->Z

5->A

End

If Str5="X":Then

9->Z

5->A

End

Goto I6

End

If M=5:Then

If (Str2="X" or Str3="X") and Str4="theta" and Str7="X" or (Str4="X" or Str7="X") and Str2="theta" and Str3="X" or Str8="X" and Str3="theta" and Str2="X":5->Z

If Str9="X" and Str3="theta" and Str2="X":7->Z

5->A

Goto I6

End

Goto I6

End

Lbl I5

randInt(1,9)->Z

If (Z=1 and Str1!=" ") or (Z=2 and Str2!=" ") or (Z=3 and Str3!=" ") or (Z=4 and Str4!=" " or (Z=5 and Str5!=" ") or (Z=6 and Str6!=" ") or (Z=7 and Str7!=" ") or (Z=8 and Str8!=" ") or (Z=9 and Str9!=" "):Goto I5

Lbl I6

If Z=1:Then

Str0->Str1

Output(2,2,Str1

End

If Z=2:Then

Str0->Str2

Output(2,4,Str2

End

If Z=3:Then

Str0->Str3

Output(2,6,Str3

End

If Z=4:Then

Str0->Str4

Output(4,2,Str4

End

If Z=5:Then

Str0->Str5

Output(4,4,Str5

End

If Z=6:Then

Str0->Str6

Output(4,6,Str6

End

If Z=7:Then

Str0->Str7

Output(6,2,Str7

End

If Z=8:Then

Str0->Str8

Output(6,4,Str8

End

If Z=9:Then

Str0->Str9

Output(6,6,Str9

End

Output(8,1," "

DelVar Q

If M!=2:1->Q

Goto I1

End

Lbl 3

Menu("SAME SETTINGS?","YES, SAME",2,"NO, DIFFERENT",AA

Lbl 2

If A=5:4->A

Goto I

Lbl RS

Output(6,10,"Press"

Output(7,9,"[ENTER]"

Pause

ClrHome

Menu("Play again?","Yes",3,"No",NO

Lbl NO

ClrHome

"Done