cs308-gizmoball's People
cs308-gizmoball's Issues
Drawings or Screenshots of GUI
Two modes: construction and play
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.
Class Diagram
Along with a brief explanation of each class
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 entirelyLeftFlipper needs a PhysicsDef jsonNeed 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
Revised Specification
a bulleted list of points that our system is going to address
Use Cases
We need to create use cases for the GizmoBall project, according to this specification:
https://personal.cis.strath.ac.uk/murray.wood/361/GP%20Use%20Cases.html
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.