I was so exhausted that I even forgot to provide the usage, especially there is no README for now...
View control is shooting-game like, that is
- W for moving towards (0, 0, z), where z is the camera's current height
- S for moving away from (0,0,z)
- A/D for moving left/right about axis Z of the graphics space. Arrow Left/Right are alias to them.
- Arrow Up/Down for adjusting the height of the camera
Puzzle control (no mouse control, no file save/load, nonconventional notations)
- explode1: The distance between stickers. As I focus on solving only edges, I set this to the minimum value so that internal stickers don't bother me.
- explode2: The distance between cells ("faces").
- X/Y/Z/X'/Y'/Z': Equivalent to mouse Ctrl+click at a boundary cell in MC4D. Pure rotation to the puzzle. No twist happens. Always reveals the originally invisible cell and pushes the cell on the "boarder" out. This absolute coordinate is not conformed to L/R/F/B related coordinates, so the player have to know where they are looking at and which direction is which.
- reset: reset the puzzle, but not the view.
- scramble: currently level 8 only, not configurable. To hack it, change
this and reload the web page (Be aware that your browser might cache the page).
- i = 0~7: indicates a clockwise twist at Octant i (following the bottom-left form from
Wikipedia, in gray code). By default, the camera is at Octant 3.
- undo: undo basic moves. Basic moves are rotations and twists.
- redo (I should have just named it "do"): The accepted format is comma-splited list, in which each element can be a basic move (X'/Y'/Z' noted as non-capitalized x/y/z) or an algorithm ID. A tedious save/load can be manually done by the combination of dump history/reset/redo.
- dump history: shows the history (including scramble) in a comma-splitted list of basic moves. Algorithm ID is not preserved.
- A0~A7: the player can define any sequence here. Ai can embed Aj, and there is no protection to recursion (recursive algorithm for a twisty puzzle? I didn't protect it anyway) so be careful when copy-pasting sequences.
That's all I have. Obviously some future studies to do,
- Magic Puzzle Ultimate. Classic. It must be clever handling high-dimensional puzzle in a generic way. What are the data structures it use? Can it support God's number calculation? So many questions... Can't wait to dig into that.
- Hyperspeedcube. Looks good. I'm not a speedcubing guy, but it will be a chance to learn Rust.
Thanks to this community,
QL
Quey-Liang Kao 在 2022年9月30日 星期五晚上11:49:04 [UTC+8] 的信中寫道: