Coder Social home page Coder Social logo

pasek108 / befunge93interpreter Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 21.28 MB

BeFunge 93 interpreter with grid visualisation, debugging tools and nyan cats animations

Home Page: https://pasek108.github.io/BeFunge93Interpreter/

HTML 18.73% JavaScript 58.33% Less 22.94%
befunge-interpreter pixel-animation befunge-93 nyan-cat

befunge93interpreter's Introduction

BeFunge 93 IDE Readme

❓Why my commits often have no names and I'm not using branches❓
  • I often create with bursts many things at once
  • I don't plan things ahead, I just create things that seems good at that moment
  • Sometimes I have bad internet connection and it is troublesome to send commits
  • I'm coding alone so creating branches and describing commits is not useful for me

Table of Contents


Informations

Befunge 93 interpreter with visualization on grid, debugger and nyan cats pixel animations.
See live demo.

preview


Technologies

Languages:

  • HTML5
  • CSS3
  • JS ES2018

Libraries and frameworks:

Programs:


Features

  • Interpretation of given code program
  • Visualisation of program in grid, stack and interactive console
  • Program controls (load, execute, run, step, stop)
  • Breakpoints that pause program execution
  • Information about language and exapmle programs
  • Table with instructions
  • Settings:
    • Speed
    • Pointer and breakpoint color
    • Grid lines visibility
  • Nyan cats animations:
    • Defualt nyan cat
    • Gameboy nyan cat
    • Rasta nyan cat
    • Christmas nyan cat
    • Mexican nyan cat
  • Multiple languages:
    • Polish
    • English

Note

Room for improvements:

  • Instruction how to use the program
  • Unlimited program grid size
  • Editing program on the grid
  • Zooming grid in and out
  • Skipping over empty cells
  • Hilighting program path
  • Execution that is not blocking the webiste
  • Faster execution

Setup

Ways to run this program:

  1. Use the live demo
  2. Download this repo and run index.html file
  3. Download this repo and start live server (VSCode LiveServer Extension, Prepros preview etc.)

To edit this program:

  • Download this repo
  • Install Prepros
  • Add this project in Prepros
  • Start coding

Acknowledgements


Details

This section is a general description of the project required to understand how it works, the exact details are in the code or simply are the code.

User interface

Main menu

main menu


Main menu

main menu


Project structure

The project directory tree looks like this:

  • πŸ“ TicTacToe (project folder)
    • πŸ“„ github and prepros config
    • πŸ“„ readme file
    • πŸ“„ index.html file
    • πŸ“ _for_readme - πŸ“„ files for readme
    • πŸ“ language
      • πŸ“ en - πŸ“„ files for english language
      • πŸ“ pl - πŸ“„ files for polish language
    • πŸ“ nyan_cats
      • πŸ“„ nyan cat icon
      • πŸ“ default - πŸ“„ files for default nyan cat
      • πŸ“ gameboy - πŸ“„ files for gameboy nyan cat
      • πŸ“ rasta - πŸ“„ files for rasta nyan cat
      • πŸ“ christmas - πŸ“„ files for christmas nyan cat
      • πŸ“ mexican - πŸ“„ files for mexican nyan cat
    • πŸ“ js - πŸ“„ scripts used in the project
    • πŸ“ css
      • πŸ“„ css files compiled by prepros
      • πŸ“ less - πŸ“„ less files

Code organization

program diagram

Warning

Classes must be loaded from bottom to the top to avoid situation when class does not exist in the time of its objects creation

Menu is entry of the program.

Menu creates and manages one instance of each of the classes:

  • MenuWindow (Credits)
  • Difficulty
  • TopScore
  • Game

Difficulty and TopScore classes are extension of MenuWindow class which is responsible for showing and hiding menu window with transition

Game class creates and manages:

  • One instance of RoadBackground class
  • Two instances of treesBackground class (left and right side)
  • One instance of classes:
    • HealthBar
    • EnergyBar
    • PointsCounter
    • GameOver
  • One instance of Player class
  • Many instances of classes:
    • Enemy
    • Deer
    • HappyDeer

befunge93interpreter's People

Contributors

pasek108 avatar

Watchers

 avatar

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.