- Select your snake / character
- Use the arrow keys to navigate the screen
- Collect votes / to stay alive
- The aim of the game is to survive for the longest amount of time.
- This project looks at the core game logic and hacks it!
- In snake's original feedback loop ->
- Snake eats food and gets bigger.
- snake takes up game spaces until the snake crashes into itself.
-
Length of snake decreases on move / over time 🆕 ☑️
-
snake eats food and length increases ☑️
-
speed of snake increases when snake eats food ☑️
-
snake hits self / wall and dies 🆕 ☑️
-
By introducting this new game variable it changes the gameplay of snake making it a challenge to stay alive. Therefore points are based on time alive rather than final length.
- Snake moves over time / on move ❎
- Snake moves up when up button pressed ❎
- Snake length decreases on move ❎
- Snake length increases on food ❎
- Snake dies when hitting wall ❎
- Snake dies when hitting self ❎
- Boris and Nigel ☑️
- choose your snake for different colour, face on head of the snake? ☑️
- Giphy snake background ☑️
- CSS grid? background-color transparent / rgba with decreasing opacity ☑️
- User defines size of grid ❎
- game over -> random nigel or boris gif. ❎
- two snakes??? awsd ❎
- Create game grid / board (CSS) ☑️
- How to make snake ☑️
- Create snake sprite (RGBA bg-color, array of posX posY) ☑️
- Create food sprite (coloured dots, posX & posY - random) ☑️
- Implement Movement (update the snake positions array) ☑️
- Implement the length increase logic (append snake segment) ☑️
- Implement the snake death logic (if snake posX, posY, overlaps then game over) ☑️
- Implement speed (decrease
setTimeOutuseRef() value) ☑️
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject
, you can’t go back!
If you aren’t satisfied with the build tool and configuration choices, you can eject
at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use eject
. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.