snekjs

A terminal-based Snake implementation written in JavaScript (Node.js) 🐍

Usage no npm install needed!

<script type="module">
  import snekjs from 'https://cdn.skypack.dev/snekjs';
</script>

README

🐍 Snek.js License: MIT snekjs on NPM

A terminal-based Snake implementation written in JavaScript (Node.js).

snek.gif

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

# install and run via npm or yarn
npm install && npm run play
yarn && yarn play

npm module

Add the snekjs module.

yarn add snekjs

Create the game.

// index.js
const { UserInterface, Game } = require('snekjs')
const game = new Game(new UserInterface())

// Begin game
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.