You're welcome! Upon re-reading my post I wasn't, precisely speaking, speaking precisely. I don't want to be pedantic; but, just in case, I'll rephrase the last sentence in my third bullet:

"For any given direction, the choices should be a ninety-degree turn to the right or the left."

Phrasing difference doesn't imply association with specific arrow keys. How annoying/confusing would snake be if the Left and Right arrows changed behavior based on the direction the worm was traveling? While traveling down, the left arrow would turn you to the right! Yikes.

The only "bug" I could find by reading the code is that placeFood() will not take in account the slots that are busy (i.e. players snake occupies a block of the map). Other than that it's awesome!

The code is not very organized at the moment, sorry for that

Actually, if food has been placed on a position where the snake's body currently resides it executes placeFood() again on the next movement of the snake until it's not on the body. But yeah it doesn't actually check where the body of the snake currently is for the placement.

I'm still looking into features to add, I got a few that may work. I haven't looked into multiplayer yet, I'll see if I can think of a few ways it can be implemented in a fun way. I'm going on vacation this week but I'll probably add a few more things later on