Skip to content

💥 Library for making games in the browser with ascii art!

Notifications You must be signed in to change notification settings

EthanThatOneKid/ascii-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ascii-game

GitHub forks GitHub stars bundle size npm downloads

Installation

npm i ascii-game

Usage

// Dependencies
const A = require('ascii-game');

// AsciiGame.Display takes an object with properties *w* and *h* to determine the dimensions of the display
const display = new A.Display(w <int cols>, h <int rows>);

// AsciiGame.Model takes and stores a two-dimensional array of single-character strings
const model = new A.Model([
  "+-+",
  "| |",
  "| |",
  "+-+"
]);

Documentation

AsciiGame.Display

AsciiGame.Display.append(s, x, y)

  • s: character being appended
  • x: x-position in the display data
  • y: y-position in the display data
  • returns nothing

AsciiGame.Display.appendModel(model, x, y)

  • model: instance of the AsciiGame.Model class
  • x: x-position in the display data
  • y: y-position in the display data
  • returns nothing

AsciiGame.Display.appendModels(appendations)

  • appendations: [{model, x, y}, ...]
  • returns nothing

AsciiGame.Display.capture()

  • returns a new instance of the AsciiGame.Model class of the current display data

AsciiGame.Display.cls()

  • clears all of the cells in the display data
  • returns nothing

AsciiGame.Display.createConsoleOutput()

  • returns stringified rendition of the display data that can be immediately printed to the console

AsciiGame.Display.createElement()

  • returns html element rendition of the display data

AsciiGame.Display.flush()

  • updates the instance's el property
  • returns nothing

AsciiGame.Display.log()

  • prints the current display data in the console
  • returns nothing

AsciiGame.Display.render(sel)

  • sel: query selector of element that the display data will render to
  • returns nothing

AsciiGame.Model

AsciiGame.Model.log()

  • prints the current model data in the console
  • returns nothing

Examples

render your game on the html document

<div id="game"></div>
const A = require('ascii-game');
const display = new A.Display({"w": 32, "h": 18});
const helloWorld = new A.Model([
  "Hello",
  "World"
]);
display.appendModel(helloWorld, 16, 8);
display.flush();
display.render("#game");

Engineered with ♥ by @EthanThatOneKid

About

💥 Library for making games in the browser with ascii art!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published