Git Product home page Git Product logo

javaplayland's People

Contributors

angrave avatar chendu1993 avatar cjcanno2 avatar davidli43 avatar milanocookies93 avatar nkelly132 avatar sriv22 avatar swotfabs avatar themasterofrobots avatar willhempy avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

javaplayland's Issues

Level 8 Broken

Multi Line comment can't be deleted and consumes inserted code lines, prohibiting them from executing

Create "Falling" Animation

This is a rather low priority issue, but a falling animation for when the character steps into a pit or off the map would be grand.

Character movement

  1. Protagonist should only move/animate when the user's code is running.
    i.e.
    should not be constantly moving before PLAY button is hit.
    and should not move once the program has finished running.
  2. Would nice if Protagonist movement is a bit more discrete. i.e. obvious move from one square to the next, rather than smooth flow. Suggest we try a short pause (10ms?)when arriving each square/completion of each command.

Mouse editing of parameter values

Editing the parameter value is only intuitive if you use the keyboard. For example, it's difficult to use if you avoid the keyboard arrow keys. For example one cannot highlight the entire expression with the mouse; instead, the code is selected.

go(__) should not be runnable

go(__) should not be runnable

Cloud alert when user tries to run code with unset/bad parameter
e.g. code that includes go(__) should not be runnable

Game 6: Need to listen for changing current line using up/down arrows. Scrolling is also ignored.

Two items:

  1. The currently selected line can be changed using keyboard up/down arrows. The UP-DOWN-DELETE div is not updated.
  2. Also the div position is not updated when the editor window is scrolled.
    Probably related to (2) or might be third issue. I noticed if you scroll down and click on a lower line you get "TypeError: offset is null" at
    "top": "" + offset.top + "px",
    i.e.
    offset = $('.ace_gutter-layer').children().eq(row).position();
    returned null

Fix parameter entry height

Parameter edit box does not consistently display at the correct height when ace editor is scrolled.
Probably needs same calculation as the swap-up-down-delete buttons.

Jump Command?

There was some discussion of a jump command, this is just here to remind us that at some point we want to implement that.

Inserting commands bug

by spamming the button to insert commands at a fast enough rate you can insert more than is allowed, and the button will show a negative availability

Visual Config for characters is an Object

gameVisual.coffee takes in an object of character objects.
But, the order in which the characters are read in determines their z coordinate.
The config sent into gameVisual's startGame function should be an array, and the interpreteAsciiMap function should create that array with some sense of what the z coordinates of the characters it is reading in should be.

Redesign layout and general UI polish

Sometime ideas -
Minimize 'useless' space. i.e. Bigger editor area.
ie. Maximize fraction of screen realestate to task in hand.
Larger editor font?
Rethink button placement e.g. run button in bottom left of editor.
Currently there are too many buttons and not enough of reason to explore them.
About box could also contain level instructions and general help.
Legal info could be a copyright sentence in 8pt at base of screen and a text hyperlink.
Need a privacy policy.
Java reference link as a sticky menu item. i.e. don't need to play a game to get to reference.
Maybe animated -add captions to icons to explain their meaning?
Pop-up help first time a new level is tried. Slowly introduce button usage as more games are played.

Incorrect line focus/highlight when color game starts or is reset.

Note in the first set of games, skipping the comment lines was sufficient to choose a reasonable starting line. In the color games this is no longer true. Unlike the first games, color games include a "void paint" preamble.

Also, when the game is reset, the same line should be highlighted. Instead the second line is typically highlighted. (it seems count comment lines is not used in this case)

New Desired behavior: If there are lines of code to be inserted then choose a position so that new lines of code can be appended to existing code.
If the game is to delete or swap existing lines then skip the pre-amble and highlight the first deleteable statement.
Put this behavior in a method and store the desired line in a variable, so we can re-use it when a game is reset. Be sure to reset line number after the ace editor text has been reset.

Screenreader / access / keyboard shortcut / alt text support

Up-down-buttons need keyboard shortcuts.
i.e. Should be able to navigate site using keyboard and without using a mouse/touch.
All images should have alt and title text.
What can we do about the graphics2G/simulation map? Set an alt text that describes the current actor and current flag position?

Level info button

Add click logic to level info button to show code comments/ instructions

MysteryGame

change functions to be something like...
mysteryMove
mysteryTurn
mysteryWalk

Scoring Idea

Every click costs a point or more (including line swaps and the play button)
You start with 100+x points where x is the minimum points required to complete the level.

Play Reset Reference button icons

Need icons for "Play" Reset-Code, "GameMap", "Reference" buttons.
Eventually we may also need "single step" "stop(abort)" and "pause" icons too.

Bad code - no feedback

  1. In the quest, there is no text or visual feedback if Beanshell stops
  2. in the sandbox the no such method error message is long winded and difficult to read.

Cannot Change Parameters on Currently Selected Line

The way the up/down/delete buttons are implemented, they create a div which sits on top of the ace editor and stops click events from propagating to it.
The problem this is causing right now is that it is preventing the pop up editor from triggering on the current line.
There are three ways to remedy this, one is to cause the pop up editor to trigger as well due to a click on the new div.
Another is to shrink the div to only take up as much space the three buttons require.
The third is to have the div propagate clicks down to the ace editor, though we do not want it to propagate clicks if someone is clicking one of the three buttons.

Need better level selector

Need a better level selection screen.
Some questions to ponder - Do we really want any level description text?
Would just a gray v gold star (=completed) be sufficient?
Should we disallow future levels? Currently seems a bit silly...

Bean Shell: class definitions not working

class A {};

causes
bsh.InterpreterError: Defining class problem: A: BeanShell cannot yet simultaneously define two or more dependant classes of the same name. Attempt to define: A while defining: A at bsh.BshClassManager.definingClass(BshClassManager.java:464) at bsh.ClassGenerator.generateClassImpl(ClassGenerator.java:79) at bsh.ClassGenerator.generateClass(ClassGenerator.java:29) at bsh.BSHClassDeclaration.generateClass(BSHClassDeclaration.java:97) at bsh.BSHClassDeclaration.eval(BSHClassDeclaration.java:63) at bsh.Interpreter.eval(Interpreter.java:664) at bsh.Interpreter.eval(Interpreter.java:758) at bsh.Interpreter.eval(Interpreter.java:747) at codemoo.Run.main(Run.java:17) Threw bsh.EvalError: Sourced file: inline evaluation of: class A{}; true;'' internal Error: Defining class problem: A: BeanShell cannot yet simultaneously define two or more dependant classes of the same name. Attempt to define: A while defining: A : at Line: 1 : in file: inline evaluation of:class A{}; true;'' : class A {

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.