Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Undo/redo function #51

Open
gereleth opened this issue Aug 25, 2022 · 2 comments
Open

Undo/redo function #51

gereleth opened this issue Aug 25, 2022 · 2 comments

Comments

@gereleth
Copy link
Owner

ctrl-z for undo
shift-ctrl-z for redo (?)

And two buttons too.

Should multiple rotations of the same tile be combined into one undo?

@rjsmith64
Copy link

Undo would be great. I would keep each rotation as a separate undo step. Visually, it would be more obvious how the "unwinding" is happening. If a Y-piece were flipped back by 3 rotations, for example, it could be jarring to follow what's happening.

Having a "state stack" would be a cool feature. Maybe easier to implement too. When I'm stuck, I'll often make a guess and continue the logic until I find a conflict (or complete the puzzle). If you could save and restore the current puzzle state, you could revert back to the initial guess.

One save slot would be enough 90% of the time. Maybe offer three save slots and let the user manage them as they wish? It's not often I go more than 2 or 3 guesses deep. At that point I should be looking somewhere else.

@Jaybrainer
Copy link

Ctrl-Z = undo
Ctrl-Shift-Z / Ctrl-Y = redo

What needs logged for undo/redo?
2 types of rotations
pin
2 types of edge marks
coordinates

if there is some "checkpoint" system, will that consist of a list of moves which will be undone, or will it be a copy of the entire state? Consider for massive puzzles that a full copy could include a lot, such as the 100x100 that I am currently solving. I would assume that logging the moves since the checkpoint would take less to store.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants