Git Product home page Git Product logo

cs308-gizmoball's People

Contributors

d-g-n avatar eddiewilkie avatar georgecas avatar jcribbes avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cs308-gizmoball's Issues

TODO List

  • (major) Flipper collisions need work, don't collide when in motion sometimes
  • (major) BuildMode needs finished, figuring out best way to add gizmos
  • |declan| (major) JUnit tests cases for all model classes
  • (medium) Related to BuildMode, add ghost preview of the gizmo when you have a gizmo selected on the board so you can see where you're placing something, also find a way to let the user know when they're in build mode, like draw the gridlines, pause the game and change the header of the window to "GizmoBall - filename.giz - BuildMode" or "GizmoBall - filename.giz - RunMode" etc
  • (medium) Square checking, when a gizmo is being placed it should iterate through all gizmos and check if any gizmos location is within that square, if it is don't allow placement. make sure to account for variable width and height gizmos.
  • (medium) File loading and saving done through a dialogue
  • (minor) Add documentation for all methods in the JDoc style
  • (minor) tidy code up to improve readability
  • (minor) GUI changes to make it look prettier
  • (minor) Stacked balls merge into each other

Gizmos need names

As per the original spec, in the file it reads to generate a board Gizmos and the Ball are referred to by a string like "P1" or "T2" or something. We'll probably need to add a string in the AbstractGizmo class and the BallActor to either init a gizmo with a string or if a string is not specified, assign it one so that when the board is saved that gizmo has a string reference.

TODO notes

This is just a quick and easy place to put things that you still need to do with the code but don't want to make another commit with comments all over it.

Declan:

  • Absorber, OuterWall, RightFlipper jsons need doing entirely
  • LeftFlipper needs a PhysicsDef json
  • Need to add a way to visualise MIT physics lines in the view for debugging purposes. rotation works
  • Right now circles are drawn from the top left of the circle but really it should probably draw from midpoint definitions in the json, ie right now to draw a circle at 10, 10 you need to specify it at 10-radius, 10-radius
  • Need listeners for Mouse/Keyboard input
  • Need to put square checking in ProjectManager, ie if you try place a 2x2 thing at 1,1 but there's a block at 2,2 it should say no

Can't process multiple collisions in one frame.

when the move_time is set to 0.01 which is 100 frames per second it doesn't really have any issue with calculating the collisions because there's never usually more than one every 0.01 seconds but on 0.05 seconds which is the suggested time spec when the ball starts moving really fast is can skip quite a few collisions and start teleporting all over the place.

need to figure out how to show multiple collisions per frame

Information: Correct translation to pixels

Guys, in my latest commit on georgios branch, I changed the way we store the information about gizmos. The abstract gizmo class automatically translates from L to pixels. Declan can you please include this in the master branch?

Thanks

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.