Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
fastrgv authored Jan 23, 2024
1 parent 126d1fd commit c27c788
Showing 1 changed file with 36 additions and 3 deletions.
39 changes: 36 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Type "7z x filename" to extract the archive.




# RufaSok ...
Minimalist Sokoban
using GLFW3, OpenAL audio
Expand All @@ -32,6 +33,15 @@ Type "7z x filename" to extract the archive.
## What's new:


**ver 2.5.9 -- 24jan2024**

* Upgraded hbox4 solvers, embedded & external. Now checks memory available.
* Default method used by embedded hbox4 may now be set interactively.
* Resizing is now done exclusively with mouse drag.
* Fixed problem with the embedded ibox solver not respecting time limit.
* Other code improvements & corrections.


**ver 2.5.8 -- 8oct2023**

* Revived OSX support, but without a bundle, and built without using Xcode.
Expand Down Expand Up @@ -63,6 +73,7 @@ solver keys [within parentheses]:
* (.) hbox4 [most capable];
* (=) bfs#1 [for small puzzles];
* (,) bfs#2 [medium]
* (0..5) sets hbox4 method

movement keys:

Expand Down Expand Up @@ -98,9 +109,11 @@ other keys:

----------------------------------------------
## Embedded Autosolver Function
Three autosolvers are now embedded within this application so that pressing the (=)-key or (,)-key at any time initiates an attempt to solve the present state of the current puzzle within a limited amount of time. If successful then you will see an onscreen prompt to continue to press the same key to single-step toward the solution. Otherwise you will see no such prompt. These two embedded solvers are good for small and dense layouts; but not so good at large, sparse puzzles.
Three autosolvers are now embedded within this application so that pressing the (=)-key or (,)-key or (.)-key at any time initiates an attempt to solve the present state of the current puzzle within a limited amount of time. If successful then you will see an onscreen prompt to continue to press the same key to single-step toward the solution. Otherwise you will see no such prompt. These three embedded solvers are good for small and dense layouts; but not so good at large, sparse puzzles.

Similarly, the 3rd alternate solver [hbox4] is initiated with the (.)-key. It is the most capable embedded solver.
The 3rd alternate solver [hbox4] is initiated with the (.)-key. It is the most capable embedded solver.

Note: all 3 solvers can fail if the puzzle is too large (256 or more valid puzzle positions).

Thus, you can give yourself a headstart toward a correct solution by limited use of this feature. Once you think you can solve it yourself, stop using the solver and proceed manually. This really helps when you cannot see what your next move should be.

Expand All @@ -111,6 +124,26 @@ Embedded autosolver failure might imply the present state of the puzzle is impos
Finally, a single command-line argument (decimal float) specifies a persistent timeout interval to wait for the internal autosolver before giving up. The default is 10.0 seconds. A new setting remains in effect until a different setting is specified using a command-line argument.


The default method used by embedded solver Hbox4 [ (.)-key ] can now be reset using the k-key, where k is 0..5.


### 6 method options for hbox4:

* 0 "quickest"
* 1 more "efficient"
* 2 suppress hungarian estimator (for dense puzzles)
* 3 like 0 but tries to reduce total moves
* 4 like 1 but tries to reduce total moves [default]
* 5 like 2 but tries to reduce total moves

For further details see:

* https://sourceforge.net/projects/hbox4/





## External Autosolvers
Remember that there are still three external autosolvers without time constraints. Subject to several limitations, typing: "solver-name puzzle-file-name.sok maxlevels level-number" will attempt to solve a particular puzzle for you, where solver-name is either "iplr3r" or "ibox3r". There are many large or sparse [lishout] puzzles the first two solvers cannot handle, but they are pretty good at sovling the small dense ones. Use the script ccc.sh to compile either solver for your operating system (assuming the presence of an Ada compiler).

Expand Down Expand Up @@ -295,7 +328,7 @@ and on Windows:
RufaSok itself is covered by the GNU GPL v3 as indicated in the sources:


Copyright (C) 2023 <fastrgv@gmail.com>
Copyright (C) 2024 <fastrgv@gmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down

0 comments on commit c27c788

Please sign in to comment.