Socket
Socket
Sign inDemoInstall

2048-board-renderer

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

2048-board-renderer

2048 board renderer


Version published
Weekly downloads
4
Maintainers
1
Weekly downloads
 
Created
Source

2048 board renderer

Build

Package for easily rendering boards from the game 2048. Uses data in the format provided from 2048-engine to render the board.

See 2048-react for a convenient wrapper for use in React.

API

The package exposes one method.

createBoard(boardData)

It takes one argument, boardData, which is a Board object from 2048-engine.

The function returns an object with the following properties:

  • htmlElement: A HTMLElement containing the rendered board.
  • update: A function that takes an updated boardData Board object and modifies htmlElement to match the new state.

Any updates to the board should be made using the update function for animations to be played. New games should create new boards using createBoard to avoid weird animations.

Usage

import { createBoard } from '2048-board-renderer';
import { createGame, Direction } from '2048-engine';

const game = createGame();

const board = createBoard(game.currentState.board);
document.getElementById('game')?.appendChild(board.htmlElement);

const move = (direction: Direction) => {
  const gameState = game.move(direction);
  board.update(gameState.board);
};

move(Direction.UP);

For a playable example see example directory

Notes on the board HTMLElement

The board HTMLElement is a div with no styling regarding width. The width of the board is therefore determined by its parent container.

The height of the board is determined based on width and the aspect ratio of the board.

Keywords

FAQs

Package last updated on 13 Jul 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc