summary refs log tree commit diff stats
path: root/gamestate.cpp
Commit message (Collapse)AuthorAgeFilesLines
* emscripten port emscriptenStar Rauchenberger2023-11-021-19/+34
|
* Modernized C++ a bit (and removed global highscores) HEAD masterStar Rauchenberger2023-11-021-489/+464
|
* Formatted source codeStar Rauchenberger2023-11-021-505/+428
|
* Redesigned the solver algorithmKelly Rauchenberger2018-07-131-75/+250
| | | | | | | | 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
* Whitespace changesKelly Rauchenberger2018-07-121-52/+52
|
* Ensured that generated levels are possibleKelly Rauchenberger2016-02-211-78/+245
| | | | | | 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().
* Title of window changes to match levelStarla Insigna2013-08-281-5/+11
|
* Added ability to add highscores to local highscore listStarla Insigna2013-08-281-1/+44
|
* Added highscore list viewingStarla Insigna2013-08-281-0/+5
|
* Added slight delayStarla Insigna2013-08-271-0/+2
|
* Added gameplayStarla Insigna2013-08-271-0/+350
| | | | Player cannot yet end their game
* Started rewriting game from scratch with SDL2Starla Insigna2013-08-271-317/+0
| | | | Only the title screen is currently implemented
* Removed empty levelKelly Rauchenberger2010-08-101-5/+3
| | | | | 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.
* Added global highscore listKelly Rauchenberger2009-11-081-38/+45
| | | | | | | | | | | 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
* Added local highscore listKelly Rauchenberger2009-10-181-3/+44
| | | | | | | | 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
* Fixed solver wrapping issueKelly Rauchenberger2009-06-191-19/+17
| | | | 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.
* Backed out changeset 9cb52f41967cKelly Rauchenberger2009-06-191-0/+273
| | | | 'Twas a bad idea
* Added GNU configure stuffKelly Rauchenberger2009-06-191-273/+0
|
* Added the doneMaking process backKelly Rauchenberger2009-06-181-21/+29
| | | | Fixes #102
* Added levelsKelly Rauchenberger2009-06-181-30/+69
|
* Wrote Life solverKelly Rauchenberger2009-06-181-13/+167
|
* Added Level classKelly Rauchenberger2009-06-181-5/+10
|
* Started Board classKelly Rauchenberger2009-06-181-60/+32
|
* Added movementKelly Rauchenberger2009-06-181-3/+63
|
* Created baseKelly Rauchenberger2009-06-181-0/+35