-
-
Notifications
You must be signed in to change notification settings - Fork 952
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
Maze watchface #2146
base: main
Are you sure you want to change the base?
Maze watchface #2146
Conversation
Not sure how to add labels, so apologies for not doing that. My first Github PR and all that... |
Build checks have not completed. Possible reasons for this are:
|
Alright this a monster PR so review is going to be slow. It looks super cool though! To start, could you run the autoformatter and make sure your code follows the style guidelines? Actually I'm not sure why it isn't written there, but all functions (and enum members) should be PascalCase Also, I see a few notes in the code where you're working around bugs (in InfiniSim or otherwise). Please remove the workarounds and report the bugs! It'll be much better for the project to fix the issues Regarding time: use CurrentDateTime() for wall-clock time. For precise timing of things like inputs, animations etc, use |
Adds a watchface integrated into a maze.
Features
Known issues
Images
Extra info
The maze generation is unbiased, and it uses Wilson's Algorithm for generation. You can see a very nice demonstration and explanation of it if you scroll down a bit on this page: https://professor-l.github.io/mazes.
In my usage, the seed is the numbers themselves (and the space allotted for the status indicators). However, since I have multiple seeds, it effectively generates multiple disconnected mazes. To fix this, I go through and search for borders between these disconnected mazes and poke holes to make them all connected again. I'm pretty sure that still makes an unbiased maze, but have no idea how to prove it.
Every time the minute rolls over, the RNG used to generate the maze is reseeded. So if you have two watches, they will both display the same maze. You can generate a new maze by long clicking. You can also generate a blank maze by long clicking twice in a row (press the button or long click again to go back to the regular watchface).
Also on this blank screen, you can swipe to enter codes to show silly images. I leave it an exercise to the users to discover what these display.
Or if you don't like fun, here's an Imgur post containing the codes and resultant images: https://imgur.com/a/BOaVYQi