15 Tile Sliding Puzzle

J2ko's picture
Build image: 
In-game name (NO VISITORS! Must be LEARNER rank or higher!): 
J2ko
Builder name(s) and current ranks: 
J2ko: Regular
Creation location: 
1195 42 2616
Machine Features: 

- always solvable scrambles (kinda cheaty; makes random moves on another board that is read from when the scramble button is pressed)
- compact design
- solve detection (featuring pyrotechnics)
- all redstone including 7 segment displays is my own design
- not unbearably slow(?)
- board can be scrambled, turned off, and solved with button presses

I'm gonna be honest I built this over a year ago I don't remember too much of the nitty gritty but here goes (watch the video for a better explanation):
The inputs are encoded/decoded with serial for lightning fast signal transmission!
Numbers on the board are stored as signal strengths and are shuffled around as the player wishes based on which tile is empty
The signals are decoded into readable numbers using my own 7 segment display design
The scramble circuit features a duplicate of the game logic, but the only difference is that moves are made randomly whenever the player moves a tile in the real game

not spamproof or solid state >:(

How To Use: 

The goal of the puzzle is to get every number in order left to right, top to bottom.

To scramble the board, press the scramble button. The scramble will only change as you make moves, so a complete solve should make a fairly unique scramble from the previous one.

The d-pad will move whichever free tile can be moved in the direction you chose. Note that this build is NOT spam proof, but it should not break permenantly if messed with.

You can also clear the board or put it back into a solved state.

Request status: 
Not approved

Comments

Just tested the puzzle.

Edit: Edited the messages, because I failed to realize you have monostables in the sending unit.

I noticed 3 things of concern for Builder quality:

- Collision in the input fields. Yes you said it does not have spam protection. But one could make the input-pad collision safe. Might increase its size though, the gain is significant usage quality.

- I was easily able to cause the whole board to go nuts (scramble) while game play, by simply slowly pressing the same button twice. You should be able to solve this by using a command queue and poll for updates at a proper rate to prevent any spam.

- Pressing the scramble button multiple times somehow always causes the same board (even after clear) - would have expected a scrambled board. There are some conditions where it does change - slightly - but these are unknown to me. Is this intentional?

Due to these last two reasons I will deny the PR for now.
But if you find time to do something about them, personally I am very likely to approve the PR.

Not sure how much work fixing scrambling is, I assumed improving the sending unit would be simple, but it sounds more complicated. What could be done is adding a queue using hex values from the buttons, as you already have mono-stables there it should be fairly easy to do this. More of an issue is to then serial send the hex values. Will increase the size though.

Feel free to ping me in Discord in #help or DM, if you have done something about these issues.

By Ecconia