jeanpierrethach / freeflow-grid-solver- Goto Github PK
View Code? Open in Web Editor NEWQt GUI application of the puzzle game Flow Free
License: Apache License 2.0
Qt GUI application of the puzzle game Flow Free
License: Apache License 2.0
Modulate mouse event listeners.
Allow dynamic resizing for the grid, lines and ellipses. (With height and width variables in mainwindow.h)
Read data from JSON files or any other format allowed.
The previous implementation only reads from a stringstream object that replicates a JSON file. It has to read from a JSON file.
The current implementation reads from a JSON file using QT classes.
Generate color palettes for the level generator. (Not implemented: Keep a count of the amount of origins generated to parameterize generateColorPalette function and reduce nbOfColors generated)
Set levels from the data.
Allow the user to save a game.
Allow the user to load a saved game.
Add path verification algorithm.
Allow user to play against an AI. (generate a random level of X format that can be solve)
Clear paths from generated level.
Change matrix pos into method
Dynamically create 2d array according to the level JSON file.
Allow the user to go back to the level selection.
Modulate project.
Refactor/rename Path into Cell.
Allow the user to restart the current level.
Allow the user to go back to the main screen.
Implement our own push buttons and dynamically position and resize itself according to mainwindow frame.
Moved to #4
Bug to fix:
Context: Any level is opened.
Action: When the user moves on a blank case towards another blank case.
Issue: It crashes.
Possible solution: It cannot find an appropriate color from the vector of QColor?
[Resolved]
Solution: Added restriction on the color of currentX and currentY mouse movement events (Not equal to the blank color).
Bug to fix:
Context: Loading a saved game after performing the action.
Actions:
[Resolved] When the user connects two origins then clears the path by clicking the origin or a case of the path.
[Resolved] When the user overrides a path connected with a different path.
[Resolved] When the user moves overrides until the first case right before the origin of a different path.
Issue: The origin on the other end will be cleared.
Possible solution: (Look at clearPathColorCase() and mouse movement event functions)
Solution for resolved actions: Use clearOrigin() on the next pointer and added or operator (Check if the point has next or previous or is an origin)
Bug to fix:
Context: The application is running.
Action: A sequence of actions related to the back and load functions.
Issue: The application closes on the taskbar.
Possible solution: Check signals and slots implementation, mostly close() calls?
Bug to fix:
Context: A level is loaded.
Action: Clicking outside the grid frame and dragging towards the grid.
Issue: The application crashes.
Possible solution: Check mouse listeners, check width/height/interval values, check vector (could be getColor from those vectors when calling the painter?)
Add play and quit menu before loading the level.
When the user tries to link the same two color origin grid case, it has to be fully connected.
If the user clicks on the origin, the cases going forward that path must be cleared.
If the user clicks on a case from a path, the cases going forward that path must be cleared.
If the user overrides a path with another path and then clicks to clear the path forward from the path overrided, it has to only clear his path.
Restrict diagonal path.
If the user moves pass the first origin after creating a path, disallow the creation of path pass that origin.
If the user moves pass the second origin after creating a path, disallow the creation of path pass that origin.
If the user moves on an origin, its case will be highlighted and will not be available to be linked unless he resets the origin.
Allow the user to move back from cases created for a path.
If the users tries to create a path that goes pass another path, the path already established has to keep its cases until the point of collision.
If the users tries to create a path at the end of another path, only clear that case.
If the users tries the step above and move his cursor backwards to the original path, it shouldn't clear the cases.
Path 1 Red, Path 2 Blue.
If the user create Path 1 and cuts on the Path 2 and then recreates Path 1 onto the end case of Path 2, the logic of clearing that case only should be applied.
If the users clicks on an origin, all path created must be from that point.
(Functionality to adjust : Moving to another origin of the same color resets its origin to the new one)
Moved to second sprint #2
Allow user to create level.
Modify load implementation to allow loading file from any repositories.
Differentiate json file from a generated level/defined level to a user-created level (Loading slot).
Add path resolution algorithm. (Partially complete)
Allow the user to choose his level and difficulty.
At odd grid size, the painter inside the grid cases is off a little bit. (Change int to double)
Allow offset changes on the left, top, right, bottom side for the grid frame.
Deallocate memory when possible and fix memory leaks.
(gridbuilder class, clear() method, pointers, etc.)
Memory leak (Path* next[1], previous[1], delete grid, etc.)
Refactor/clean up code.
Path* (setter), grid->getGrid[][]...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.