-
Notifications
You must be signed in to change notification settings - Fork 4
[Server]: Add the option to restart/retry a puzzle #278
Copy link
Copy link
Open
Labels
D2Medium DifficultyMedium DifficultyP2Medium PriorityMedium PriorityS26Current relevant issue that should be worked on in the spring 2026 semesterCurrent relevant issue that should be worked on in the spring 2026 semesterapprovedThis issue has passed the draft stage, and is ready to be assignedThis issue has passed the draft stage, and is ready to be assigned
Metadata
Metadata
Assignees
Labels
D2Medium DifficultyMedium DifficultyP2Medium PriorityMedium PriorityS26Current relevant issue that should be worked on in the spring 2026 semesterCurrent relevant issue that should be worked on in the spring 2026 semesterapprovedThis issue has passed the draft stage, and is ready to be assignedThis issue has passed the draft stage, and is ready to be assigned
Type
Fields
Give feedbackNo fields configured for issues without a type.
Task Description:
This will primarily be needed for banquet. Was unsure of the priority to assign because it may not be needed, but at the same time it'd be super useful to have.
Anyways, so the current banquet plan will be to have a puzzles event where the robots go from their home cells to the board using the deadzone, play the game, and on game end go back to their home positions. Running this way once or twice would be pretty cool to see... but it'd get pretty tiring for people to play puzzles when the robots keep going back and forth between the home square.
With this task, what you'll do is just add an option to retry a puzzle by a UI button, and if clicked it will reset and start a new puzzles game. But instead of moving the pieces back to the home and back, it will just move each piece back to its original position in the puzzle.
Shouldn't be like a SUPER hard task, but there's two things you'd want to keep in mind.
First, it may be possible to just store all the commands ever sent to the robots between game start and game end in a stack, and on game reset just reverse all of those commands to send. Ideally we'd want a better system than this however, if possible.
Second, keep in mind now that we have a queue system essentially working and socket connection handling, that how you start a new game will update it for all the clients currently connected.