Giter Club home page Giter Club logo

barter's People

Contributors

ptrgags avatar

Stargazers

 avatar

Watchers

 avatar  avatar

barter's Issues

Option to Select Story

On the Barter Web page, there should be an option to select a story from a list. Once I create a story, the user should be able to select between the tutorial and the the story at the very least.

A dropdown at the top of the page would be helpful

Autosave file

When exiting the program, write to a file (@story_dir/.save.json).

When beginning the program, look for that file. if it exists, read the data from that file instead of starting from scratch.

Create a Story

It would be nice to have more content. Add another story in the future.

  • Find some story starters
  • Plan a story
  • Use the story creator to make a JSON file

Codacy Issues

Fix the Codacy Ruby style/error prone issues before we merge into master.

A Touch of Color

It would be nice to add some color to Barter Story Creator. maybe with the colorize gem.

Add sprites

It would be nice if items had sprites associated with them

Hidden Options

It would be nice to have a Hidden attribute on options that have a non-empty give_items list. This way, the option will not appear until the user has the required items.

This requires a change in both the frontend and Story Creator.

Story Creator: Option Commands

  • basic option commands
  • Automatically create new situations as needed
  • edit option command
  • Add items to commands
  • Handle back links
  • Handle barter links
  • Handle one-time links

Refactor Barter Story Creator

While the code for Barter Story Creator works, it's rather messy to look at. Here are some things to refactor:

  • commands only ever take 1 argument for simplicity. Don't pass in the name of the command.
  • Refactor a StoryGraph class that manages the story data and a StoryCreator class that handles the
    CLI
  • Refactor prompting for item lists
  • See if the tab completion stuff can be refactored

Codacy

Add codacy analysis. I want to see how it handles Javascript

Requirements

Add an item type called a "requirement". This is a type of item that represents fulfilling a requirement. This will be helpful for making options that are only available after completing a requirement.

Usually this item type should be hidden from the user, but the hidden attribute will handle this.

More Informative GraphViz Diagrams

Now that we have GraphViz diagrams, it would be nice to make them look nicer and have more meaning.

  • Color the start node differently
  • One-time links should be colored/styled differently
  • Hidden links should be colored/styled differently
  • Back links could possibly be colored/styled differently
  • Improve the overall look-and-feel of graphs
  • Document the meaning of the above

Improve Tab Completion

I implemented tab completion with the GNU readline library, but I do not do this in the subcommands.

Add tab completion for the following things

  • Loading filenames
  • selecting items when defining item lists

Use HTTPS URLs

Whoops, forgot to use HTTPs in the CDN URLs. Fix this soon!

Refactor a Barter class

The game logic is currently strewn all over the place. Create a new Barter class to manage it.

Add Another Story

I want to write my own story for Barter that actually makes use of the bartering mechanic.

Wrong Item List in Help Command

When I was editing the Add Items command, I must have called the wrong function for the help command. The items displayed should be the list of all available items, not the current items for this option.

Story Creator: Situation Commands

Add commands to the Story Creator REPL to create and edit situation vertex data.

  • Create the story files as needed
  • Remove story files with prompt
  • Edit situations
  • Purge options on deletion
  • Move code to Situation.rb

Update Website

Once Version 0.2 is finished, update ptrgags.github.io.

Use Bootstrap

Plain HTML buttons are ugly. Use Bootstrap please.

Table Overflow

Tables overflow the parent panel on mobile. Fix this.

Design Story Creator Program

Do the following

  • Choose a language I don't often use (C# or Ruby maybe?) that results in a program that is easy for even non-programmer users to use without needing to install things.
  • Write a spec for the story creator program

Codecov

Add Codecov once we have unit tests.

Unlock repeatable options that require items

Right now, clicking an option that requires items removes the item from the inventory. This works for one-time options, but repeatable options cannot be selected again since the items are discarded.

Find a way to avoid this problem. Either don't remove items from the inventory or modify the option the first time it's clicked.

Debug Barter on iOS

I tried to show a friend the website for Barter yesterday. I was getting no story data displayed. I'm guessing it's a problem with ES 6 features that are not supported, but I need to learn how to debug iOS devices on Windows.

Consistent file I/O messages

Right now, Story Creator mentions when situation files are created, but it does not mention when an existing file is used. Make this more consistent.

Fix Codacy Issues

Codacy doesn't like my Python-based code style. I'll need to fix this soon and reconfigure Codacy settings.

Prune Situations

Allow an option to prune situations from the graph when there are no non-back options left.

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.