Socket
Socket
Sign inDemoInstall

disgame

Package Overview
Dependencies
31
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    disgame

A lightweight tile-based Discord game engine!


Version published
Weekly downloads
4
decreased by-75%
Maintainers
1
Install size
12.1 MB
Created
Weekly downloads
 

Readme

Source

Disgame

Disgame is an extremely lightweight Discord game engine. (Beta)

ezgif-2-42edb508961e

// ...
const wait = (ms: number) => new Promise((resolve, reject) => setTimeout(resolve, ms));

client.on("message", async (msg) => {
    // ... listen for command
    
        const gameMessage = await msg.channel.send(
            new Discord.MessageEmbed()
                .setTitle("Game")
                .setDescription("...") // The description will automatically be overwritten by Disgame to contain the game view
                .setFooter("")
        )

        const game = new Disgame({
            message: gameMessage, // the message disgam will "render" to. (If embed uses description; if message uses content)
            size: { // the emoji background tile size
                width: 10,
                height: 7
            },
            backgroundEmoji: "⬜" // the game background
        });

        // create tiles
        const appleTile = game.addTile(new Tile({ emoji: "🍎", position: { x: 0, y: 0 } }));
        const bananaTile = game.addTile(new Tile({ emoji: "🍌", position: { x: 3, y: 3 } }));
        const pearTile = game.addTile(new Tile({ emoji: "🍐", position: { x: 5, y: 5 } }));

        for (var i = 0; i < 4; i++) {
            // increment position of "appleTile" to move diagonally
            appleTile.position.x++;
            appleTile.position.y++;

            game.render(); // call render fuction to edit the message with the updated scene
            await wait(1000); // wait 1 second
        }

        game.removeTile(appleTile); // remove "appleTile" once its done
        game.render(); // render 
});

// ...

Table of Contents

  1. Overview
  2. Usage
    1. Base
    2. Tiles
  3. Examples
  4. Credits

Usage

Base

The base (Disgame) is the start to any game. It is used to render the view to a chosen message

 const game = new Disgame({
    message: gameMessage, // a created message (embed, plain, etc)
    size: { 
        width: 10,
        height: 7
    },
    backgroundEmoji: "⬜"
});

Disgame_Dimension

Options/Properties
OptionalNameDescriptionDefault
messageDiscord.Message The message in which you want to render the game when render() is called.
size{width: number; height: number} The size of the canvas.{width: 10, height: 10}
backgroundEmoji`string The emoji used to fill the background.
Methods
NameDescriptionReturns
render()"Renders" the game view as text to the Discord message. (Should be called when you want to update a change on the screen)void
addTile(tile: Tile)Adds a new tile object to the game.tile
removeTile(tile: Tile)Removes a tile from the game.void
getTile(name: string)Gets all tiles with the chosen name.Tile[]

Tiles

Tiles are emojis at certain positions on the game canvas. The can be added and remove from games using the respective game functions addTile(tile: Tile)/removeTile(tile: Tile). Tiles can also be found by calling getTile(name: string).

Disgame_Position

const game = new Disgame({
   message: gameMessage, // a created message (embed, plain, etc)
   size: { 
        width: 10,
        height: 7
    },
    backgroundEmoji: "⬜"
});

let bananaTile = game.addTile(new Tile({
    emoji: "🍌",
    position: {
        x: 3,
        y: 4
    }
}));

game.render();
Options/Properties
OptionalNameDescriptionDefault
emojistring The emoji used to display the tile
namename Used to get tiles by name using the getTile(tile: string) function.
position(IPosition) {x: number, y: number} The tile's position{x: 0, y: 0}

Examples

Moving Tile

Coming soon

Credits

Made by Badusername420

FAQs

Last updated on 15 Sep 2021

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc