eeaas-snake

1.0.7 • Public • Published

Snake

This is an easter egg to be used with the "eeaas" package.

Installation

yarn add eeaas
yarn add eeaas-snake

Once installed you can import the easter egg and enable it.

Usage

import Eeaas from 'eeaas';
import Snake from 'eeaas-snake';
 
Eeaas.register(Snake); // Register snake
Eeaas.enable(); // Enable all easter eggs, or alternatively use `Eeaas.Eggs.Snake.enable()` to only enable snake

To test if it works type "snake" while the app is running. You should be presented with a 2D snake game. Use the "esc" key to cancel the game.

Custom keylisteners

To use different keylisteners change the startTrigger and/or stopTrigger attributes on the Snake object.

import Eeaas from 'eeaas';
import Snake from 'eeaas-snake';
 
Snake.startTrigger = 'secretstring';
Snake.stopTrigger = ['esc', 'stop'];
 
Eeaas.register(Snake);
Eeaas.enable();

Now, typing "secretstring" will launch the game. Cancel the game by pressing the "esc" key or typing "stop".

Custom start and/or stop trigger methods

To write your own custom methods you'll have to overwrite the enable and disable attributes on the Snake object as well as the relevant "trigger" attributes.

Example: You want to trigger the game only when a button is clicked

Add a button to your markup:

<button id="snake-trigger-button">Snake trigger</button>

Update the enable, disable and startTrigger attributes:

import Eeaas from 'eeaas';
import Snake from 'eeaas-snake';
 
Object.assign(Snake, {
  enable() {
    this.startTrigger();
  },
 
  disable() {
    document.getElementById('snake-trigger-button').removeEventListener('click', this.start);
    this.stop();
  },
 
  startTrigger() {
    // The button needs to be in the DOM by the time this code runs
    document.getElementById('snake-trigger-button').addEventListener('click', this.start);
  }
});
 
Eeaas.register(Snake);
Eeaas.enable();

Dependents (0)

Package Sidebar

Install

npm i eeaas-snake

Weekly Downloads

1

Version

1.0.7

License

MIT

Unpacked Size

8.22 kB

Total Files

6

Last publish

Collaborators

  • caweidmann