Yo, I just recently discovered that calculators can be programmed after stumbling upon an unfinished pong game in the programs of one of my school's calcs. I copied it down and modified it into a crappy unoptimized flappy bird-esque game. Sorry if this is in the wrong section or if it's been done a million times before, I hope that somebody might enjoy it and possibly improve upon it.

THE GAME

Navigate the bird ( > ) between the pillars ( I ) By timing your jumps

the bird is constantly falling and if it hits the ground or the pillars, the game is over.

THE CONTROLS

Jump with the up arrow ↑ or the Enter key.

THE CODE (I typed this as it appears in the calculator but added comments to the side with a //)

This program is pretty long and may take awhile to copy line by line, so you might type something incorrectly by mistake. If anyone knows how to post the code as a file that can be downloaded, please reply.

```
1→G //The max number of steps before the game progresses 1 frame, make it larger to make the game slower (NOTE: ON TI84 INCREASE THE NUMBER TO 4!)
3→Y // y coordinate of player
18→X // x coordinate of pillar
randInt(4,8)→N // y coordinate of starting pillar piece, N, used to determine y coordinate of other pillar pieces
N→O // N O P Q and R form the coordinates of the pillar
O→P
P→Q
Q→R
0→L //Check if the the game is lost, 0 is false and 1 is true
0→S //The current score
0→F //The step counter
If (N+1<9) //Determine where each piece of the pillar should go
Then
N+1→O
Else
N-6→O
End
If (N+2<9)
Then
N+2→P
Else
N-5→P
End
If (N+3<9)
Then
N+3→Q
Else
N-4→Q
End
If (N+4<9)
Then
N+4→R
Else
N-3→R
End
Repeat 0 //START GAME LOOP
If (F<G) // Count 1 step
F+1→F
getKey→K //Check if the up arrow or enter key is pressed, if so, jump
If (K=105 or K=25)
Then
If (Y-3>1)
Then
Y-3→Y
Else
1→Y
End
End
If (F=G) // Check if the max number of steps has been reached (START STEP)
Then
If (X-2>0) //If the max number of steps has been reached, move the pillar 2 spaces
Then
X-2→X
Else
randInt(4,8)→N //If the pillar has reached the end of the screen, reset its location and give it a random y coordinate
16→X
End
If (Y+1<9) // (Gravity) within the max steps reached part of the code, if max steps reached, move the player down
Then
Y+1→Y
Else
1→L
End
0→F
If (N+1<9) // Once again, setting the location of all the pillars around the central N pillar
Then
N+1→O
Else
N-6→O
End
If (N+2<9)
Then
N+2→P
Else
N-5→P
End
If (N+3<9)
Then
N+3→Q
Else
N-4→Q
End
If (N+4<9)
Then
N+4→R
Else
N-3→R
End
ClrHome //Clear the screen and display the graphics
Output(N,X,"I")
Output(O,X,"I")
Output(P,X,"I")
Output(Q,X,"I")
Output(R,X,"I")
Output(Y,4,">")
Output(1,3,"SCORE:")
Output(1,10,S)
If (X=4) //If the pillars x coordinate equals the players x coordinate (4)
Then
If (Y=N or Y=O or Y=P or Y=Q or Y=R) //And the players y coordinate is equal to one of the pillar pieces y
Then
1→L // Set the lose variable to true
Else
S+1→S // If the player dodged inbetween the pillars, add 1 point to the score
End
End
End //(END STEP)
If L=1 //If lose is equal to true, display the highscore and stop the program
Then
If (S>H) //If the players score is greater than the highscore, set highscore to score
S→H
Output(2,8,"BEST:")
Output(2,14,H)
//OPTIONAL 1 SECOND PAUSE AFTER GAME ENDS
64→I
While I≠0
I-1→I
End
//OPTIONAL DISPLAY TEXT PRESS ENTER
Output(5,11,"PRESS")
Output(6,11,"ENTER")
Stop //Exit game loop, causing program to end
End
End //End game loop
```