GithubHelp home page GithubHelp logo

legend-of-iphoenix / village Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 1.0 59 KB

An esoteric programming language about being a forgetful village chief.

Home Page: https://legend-of-iphoenix.github.io/Village/

License: MIT License

HTML 6.06% JavaScript 93.94%
programming-language esolang interpreter

village's Introduction

Village

An esoteric programming language about being a forgetful village chief.

Documentation

Documentation can be found in the /docs/ folder.

I recommend starting with syntax.md so that you get a basic idea of how the language is formatted and moving on to using commands.md as a guide and reference..

Interpreter

You can check out my horribly-styled interpreter here.

Contributing

Fork this project and make your changes on your branch.
Create a PR into Legend-of-iPhoenix/Village/master.

  • be sure to include a short, concise description of your changes!

I'll review your pull request and hopefully merge it.

village's People

Contributors

legend-of-iphoenix avatar gitter-badger avatar

Stargazers

 avatar  avatar Oluwamayowa Esan avatar josheewa avatar  avatar

Watchers

James Cloos avatar  avatar

Forkers

gitter-badger

village's Issues

Examples

I need to create examples of certain features being used. Feel free to contribute your own and put them here.

Here's an example of if statements and indentation: (broken)

Call for the villager named Charles.
Tell Charles to harvest 10 wood.

Ask Ada if she has any stone.
 - If she doesn't:
 - Tell Ada to write the text "Success" on her scroll.
 - If she does:
 - Tell Ada to write the text "Fail" on her scroll.
Tell Ada to post her scroll to the community message board.

Ask Charles if he has any wood.
 - If he does:
 - Tell Ada to write the text "Charles has wood" on her scroll.
 - Tell Ada to post her scroll to the community message board.
 - Ask Charles if he has 5 wood.
  + If he does:
  + Tell Ada to write the text "Charles has 5 wood" on her scroll.
  + Tell Ada to post her scroll to the community message board.
  + If he doesn't:
  + Note: Do nothing.
 - If he doesn't:
 - Note: Do nothing.

Basic script to increase villager housing limit:

Call for the villager named Ada.
Teach Ada how to harvest wood.

Tell Ada to harvest 20 wood.

Call for the villager named Ken.
Teach Ken how to mine stone.

Tell Ken to mine 10 stone.

Call for the villager named Alan.
Teach Alan how to draft blueprints.

Tell Alan to draft a blueprint for a house requiring 20 wood and 10 stone.

Call for the villager named John.
Teach John how to build structures.

Tell Ada to write the text "waiting" on her scroll.

Tell John to build a house using Alan's blueprint, Ada's wood, and Ken's stone.

Tell Ada to write the text "1" on her scroll.
Tell Ada to write the text "2" on her scroll.
Tell Ada to write the text "3" on her scroll.
Tell Ada to write the text "4" on her scroll.
Tell Ada to write the text "5" on her scroll.
Note: at this point, we have a new house and our villager cap increased by 2

Todo/Ideas issue.

This is for putting ideas I have/you have. I'm probably never going to close this issue. A todo list will be curated and put into this issue here. If your idea is accepted, you will find it in the first post.

  • Conditionals (Ask <villager> if <he/she> has <item>.)
  • Loops (Until <event>, <do something>.) (This can already be done using conditionals and skips)
  • "Variables" (Tell villager to write the number of <item>s <he/she> has onto <his/her> scroll.)
  • More villager names (I'm using the names of famous computer scientists.)
  • Documentation, in big, red, flaming letters (I tried to do this, but GitHub didn't like my injected HTML)
  • Example code.
  • Internal code documentation.
  • Routines? (almost like functions, but they don't take input? Maybe? I don't know how I can make this fit in.)
  • Jumps (Skip to step <n>.)
  • Tell <villager> to write <his/her> occupation on <his/her> scroll.
  • Ask <villager> if <he/she> is a <occupation>.
  • Ask <villager> if <he/she> has <more/less> <item> than <other villager>.
  • Villager limits
  • Tell <villager> to swap scrolls with <villager>
  • Ability to specify villager occupation.
  • Allow changing of max execution time.
  • Input. Again, no clue how I am going to implement this. (maybe using trains? Perhaps a library or even a innkeeper?)
  • TRAINS! (partial implementation - you can't use them, but they exist and can be built)

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.