Well, when I say I have zero inspiration, that might not be entirely true.
I was thinking about programming a Snake game a little bit...
The think is, I was thinking "How would I handle turns?" Well, my thinking is that the turn coordinates could be stored in a queue, since those are FIFO. Like, limit what buttons respond to direction depending on your current direction, and then I could place the coordinates the snake was at and the direction it was traveling before the turn.
Of course, there's also the problem of like...seeing if the front of the snake intercepts any part of the body of the snake, which would result in a game over. Hm...
I suppose I said I have no inspiration because I'm still kinda trying to find a way to solve that without being too super complex.
I could maybe like...I dunno. Maybe I could store an array representing the game grid. Maybe I could like, make some named constants and put values to them and then assign them to the array as the game plays. Like, I could have an LEFT, RIGHT, UP DOWN, TURN UP, TURN DOWN, TURN LEFT, AND TURN RIGHT...or something. Maybe corners could just be named the new direction that the snake's gonna be erased in, leaving just the four directions. There'd also be a value to refer to blank spaces. Then the current coordinates of the head could be checked against the corresponding array value, and if the value isn't BLANK or FOOD, then you've either hit a wall or your body (depending on if I want to make it a wraparound version of snake or not - although I could make that configurable).
Sorry about my rambling. I'm just trying to come up with a good solution for solving a snake programming problem. I'm just kind of typing this up as I think of ways that would work without being some clusterfuck hassle.
So far, I'm liking my random musings. I think an array would work well. I could have a snake class that just keeps track of like, the back and front coordinates of the snake, and would have functions to see which way the back and front of the snake should travel once it reaches a new coordinate on the game grid. It would also be able to see if it's encountered food, its body, or a wall or whatever.