Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/avindra/snake

:snake: minimal JavaScript snake (renders to 2d canvas)
https://github.com/avindra/snake

2d-canvas canvas game javascript snake typescript webaudio

Last synced: about 5 hours ago
JSON representation

:snake: minimal JavaScript snake (renders to 2d canvas)

Awesome Lists containing this project

README

        

# Snake [![Build Status](https://github.com/avindra/snake/workflows/ci/badge.svg)](https://github.com/avindra/snake/actions)

It is an implementation of the game of snake using reference JavaScript, and `` for graphical output. The codebase uses Typescript (mostly for a handful of `interface` descriptions.)

There is experimental sound: unplug your headphones to rip beeps over your speakers.

[Click to play 🐍!](https://avindra.github.io/snake)

## Development

A [`Makefile`](./Makefile) is included for convenience.

`esbuild` is used to build/bundle.

`deno` is used for unit testing.

* run `make build` to build/bundle
* run `make dev` to get a watch/recompile workflow (requires Python 3 for http server)
* run [`deno test src`](https://deno.land/manual/testing#assertions) to run unit tests
- Unit tests are co-located into src/