🐍 Snek.js
A terminal-based Snake implementation written in JavaScript (Node.js).
Instructions
Use the arrow keys (↑
, ↓
, ←
, →
) or W
A
S
D
to navigate the snake up, down, left, or right. Eat the red dot to gain points. If the snake collides with the wall or its own tail, it's game over. Press ENTER
to restart, and Q
, ESCAPE
or CTRL
+ C
to quit the game.
Installation
Clone from repository
git clone https://github.com/taniarascia/snek
cd snek
yarn && yarn play
npm module
Add the snekjs
module.
yarn add snekjs
Create the game.
const blessed = require('blessed')
const { UserInterface, Game } = require('snekjs')
const ui = new UserInterface(blessed, blessed.screen())
const game = new Game(ui)
game.start()
Run the game.
node index.js
Acknowledgements
- Vanya Sergeev for pointing out my snake collision bug, for advising me to make a single, reusable draw method, for showing me how to properly bind methods between classes, and for overall guidance and inspiration
- Devin McIntyre for general advice
- Panayiotis Nicolaou's JavaScript Snake for Web for initial logic
Author
License
This project is open source and available under the MIT License.