A variation of the popular game Snake using multi-snake threads moving against things to practice concurrency
Project made during 2nd Year of graduation for the class - Concurrent and Parallel Programming
You don't need to do anything, just watch snakes randomly battling against each other.
If you want to control a snake just Mouse-Right-Click it to select and Mouse-Left-Click in a Cell to make her move to its destiny.
There are 4 Special items on the board that Snakes can interact with:
- Grabing a rat makes your Snake grow 3 cells.
- Getting a jump pad makes your Snake able to walk through other objects/snakes.
- Crashing against a barrier will kill your Snake
- Getting a Turbo Boost will make your Snake move 3 times as fast.
Snakes finish the "race" when they reach the opposite of the Board from where they Spawned.
Detailed instruction can be found in 'The Snake Race - Instrucoes.docx' & 'The Snake Race - Relatorio.docx' (both in Portuguese)
/SnakeRace/src/snakepackage/SnakeApp.java is where the main method is.
Need to refactor the code, many parts are messy. It works but it isn't very effective.
More documentation & comments to ease cleaning code.
Some OOP rules (Visibility/Encapsulation) are not being followed because it wasn't the focus on this subject, I should fix that.