Made By JolyneFr / 51902190390
SJTU SE2019 SEP Project1
This game was written only for HW, ANY other feature was NOT included.
Thanks for Understanding
- Start Menu
- Display & Move of Snake
- Display & Determination of Bricks & Apples
- Pause, Save & Load Game, Restart
- MultiPlayer in one game (Arrow Keys for Snake1 & WASD for Snake2)
- 3 Special Fruit
- LifeFruit.
- Speed Up & Down (MAX_SPEED == 5 && MIN_SPEED == 1).
- Exchange Snakes (Only Available in MultiPlayer Games).
- Map Editon
- You are able to edit bricks (except snakes and boundarys).
- Edition is available in Pause and Start windows.
- Remember to ask for permission if you are playing with friends.
- Simple AI-Snake: "Delamain"
- Using BFS Algorithm, treated all fruits equally.
All required tasks are included.
I sincerely hope that EVERYONE reads this guide before playing my QSnake.
Especially my dear TA, who grades my final work.
Use arrow key
& WASD
to control the snake.
Press space
to pause.
- Bricks represented by different colors are shown in the gameWindow.
- Snake1 , Snake2 , Apple , LifeFruit , SpeedUp , SpeedDown , Exchange .
- Exchange Fruits are only available in MultiPlayer games(vs Player2 or Delamain)
- The number of fruits on the canvas is set to PlayerNum by default. When a fruit is eaten, another fruit appears on a random postion within the canvas. So if you want more fruits to exist at the same time, just use edit function to add as many as you want.
- You CAN'T move through the boundary (You will die if you do so).
- When your head crashes into another snake's body (or yourself's), you can consume one life to BREAK one brick.
- The GameSence WON'T be saved implicitly, so please do it manually.
- Delamain's algorithm may be simple, but beating it is kind of difficult.
- The implement of
QTimer::timeout()
andQKeyEvent::keyPressEvent()
is not connected, which means your death may occur before you see it on canvas. - All comments have been completed.
JoyneFr 2020/12/16