Lights Out type puzzle but with Cross and Knights patterns and 5x5, 7x7 and 9x9 grids. (Arduboy screen prevents addition of 11x11 grid. It won’t fit on the screen!)
It also has a ‘Demo’ mode to show you how it is done, but the moves are shuffled each time it is selected. Is the shuffle required? I’ll leave you figure that bit out.
Use the direction buttons to move the cursor from square to square then button ‘A’ to activate the pattern change on that square. Button ‘B’ activates or deactivates the menu. In Menu mode Button ‘A’ activates the selected option. Button ‘B’ cancels the menu.
The Knights pattern is harder than the normal Cross pattern. A short tune and display sequence will follow a successfully completed ‘All squares lit’ solution.
At the risk of giving my age away, I actually saw this in a shop in the early 1980’s as a Vulcan Electronics XL-25.
The buttons were illuminated underneath by red LEDs. In those days the only available LED colour was red.
I took the idea home and programmed it in BASIC on a ZX81. Since then it has appeared on a BBC Micro, PC MS DOS in green screen console text mode, (5x5 only.)
Windows Mobile 3.0 to 6.5 (Pocket PC pre-Windows Phone)
If you hadn’t got there first, I totally would have done it myself.
(And if not me, probably someone else.)
This kind of puzzle is used as a minigame or puzzle in lots of different games. I’ve seen a variation used for opening a door in Sonic Adventure DX, and I’m sure at least one of the Zelda games has done it at some point.
A couple of weeks back I saw a video of someone making it using the logic gates provided in a game I like called Scrap Mechanic:
Interesting thought: it would probably make a good tutorial/problem for beginners. Maybe you (or anyone) ought to have a go at witing a tutorial for it on the forums.
Okay. I’ll do it. It may take a few weeks as I will need the time to do it, on and off, and I won’t release it half-baked. (Done that far too many times in the past!)
5x5 was developed in an incremental method of slowly adding more and more to the app, and then testing that the new additions didn’t break what was already there. Probably not the ideal solution but for an embedded non-critical application I could get away with cutting a few corners, as I had the time to fix it as I went along.