Code Monkey home page Code Monkey logo

basic-board-game-editor's Introduction

basic board game editor

is a basic board game editor with some simulation capabilities (and printing)

Demo

Screenshot

usage

open the file dist/index.html in your preferred browser

(after you downloaded/cloned the project or just the dist folder)

setup

if you want to run the dev server for development or the tests you need to

cd /to/the/project/dir
npm install

running the dev server

npm run dev
# then open your browser at http://localhost:8080

on mac you might get high cpu usage even if you are not modifying anything... according to webpack/webpack#701 you need to install npm install fsevents to solve this

building

if you're on linux/mac and you got sed & echo then you can just run

npm run buildCompiler # this will build the interpreter (it's actually not a compiler but like to call is so)
npm run build         # this will build & output into ./dist

if you don't have sed & echo then you need to take some manual steps to build the compiler (actually just delete some lines in some file)

see devDocs/usingTheInterpreter.md for these steps

running tests

tests are only done for the interpreter and are written in jest

npm run test

there are still some tests missing. the tests can be found at simulation/__tests__

dev docs

the dev docs are located at ./devDocs

notes

there won't be much movement in this project (at least from me) because i have some other things/projects to do and for my board game all features are there

TODOs & issues

in ./TODO.md are issues, ideas & todos captured

some of the notable issues are

  • when a line is connected to a field anchor point then moving the field/line undo is bugged

    • this could also mess up the field connected lines list
  • printing (vars) maybe not all vars are found

  • variable check maybe not all vars are found

  • when the tile outline is displayed the drag operations (fields/lines/imgs) are slow

  • error messages are not i18n ready

basic-board-game-editor's People

Contributors

dependabot[bot] avatar janisdd avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

basic-board-game-editor's Issues

New Player type

Bug or Feature?
Feature

Currently there is now easy way to access the local variables of another player (except for np.X, pp.X).
With more than 3 players this might be not enough.

With a new datatype (Player) one could store a reference to a player in a variable e.g.

Player x = cp
...
x = np
...
/* any player could run this */
x.Y = ...

Further thoughts
However we then could only use cp/np/pp as a value for such a player variable so it might also be useful to allow player indices (0 to players.length - 1) or to get a player from an index via a function e.g. player(0)? and make the player count accessible e.g. playerCount

Flashing dialogs/modals

Safari only

When opening a modal then it is placed top, left most in the browser window (for 0.x seconds) before being centered.
This also happens if some properties/settings are changed in the modal (probably because rerender)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.