| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
The new solver algorithm decreases the size of the search space by combining states. A flood fill is used to find all of the positions accessible by the player without changing the board state, and that flood is considered a node in the search graph, rather than there being a node for every position on every board state. Other optimizations are implemented too, like checking for changes locally instead of using tick, and using unordered_map/unordered_set because bitsets are hashable.
Also changed wrap to use references, finally.
refs #1
|
| |
|
|
|
|
|
|
| |
I wrote a pathfinding algorithm that will attempt to solve boards as they are generated. I tried a variety of algorithms, most of which either did not terminate in a timely fashion. Depth-first search, with a tendancy towards moving towards the center, proved to be the best algorithm, and managed to solve boards the other algorithms timed out on. Because the algorithm was mostly tested on levels 0-9, and level diversity increases dramatically past that point (to the point where, past level 50, I am concerned that actual impossible boards may appear), I cannot be completely sure that the algorithm will perform as desired. To help debug, the program will dump a string representing a board state if an impossible board is generated.
Also fixed a bug in wrap().
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Player cannot yet end their game
|
|
|
|
| |
Only the title screen is currently implemented
|
|
|
|
|
| |
Previously, when you started the game, the first 9 levels were so easy that they were practically pointless. Now, when you start the game, you start at
level 0 and the levels are as difficult as the Red Levels used to be.
|
|
|
|
|
|
|
|
|
|
|
| |
You can now view and submit highscores to the global highscore list. If the connection fails, you are allowed to retry sending it so your score is not
lost. The actual global highscore list is a PHP file and MySQL database that will need to be uploaded to Four Island Other for this to work.
Some other things were done. Because it was discovered that the frequent window caption changes were making Maze Of Life crash, they were removed and the
player is now notified of their score by the level number appearing in 100 point font at the beginning of each level during the doneWorking stage. Also,
a cheat was added that allows you to play the game in fullscreen if you press F4 on a supporting platform. The player is now also slightly faster.
Closes #104
|
|
|
|
|
|
|
|
| |
You can now view and add to a local highscore list.
A change to State was necessary due to how the user's name would be entered into the highscore list and thus all states have been modified.
Refs #104
|
|
|
|
| |
Previously, the generated mazes didn't wrap and it would be very difficult to wrap. This has been fixed. Plus, titles have been added to all states and the "gameSleep" variable has been removed due to it's not-usefulness.
|
|
|
|
| |
'Twas a bad idea
|
| |
|
|
|
|
| |
Fixes #102
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|