compact ttt (win detection and spam proof)

lddtwo45's picture
Build image: 
In-game name (NO VISITORS! Must be LEARNER rank or higher!): 
lddtwo45
Builder name(s) and current ranks: 
lddtwo45 [Learner]
Creation location: 
791 163 -134
Machine Features: 
Super compact memory (3/4 of the size is just for organizing win detection), on screen inputs, win detection, spam proof, resets on a win, has a manual reset button, and runs at a decent speed. blue is x, light blue is o, cyan is used to only let in 1 input per cell, yellow is turn switching, lime and pink are win detection (as well as the long purple and magenta lines), purple and magenta are for using what turn it is to decide whether to turn on an x or o, and for bringing the redstone lines over to win detection, orange is inputs, black is spam proofing, and red is the reset line.
How To Use: 
Just choose which cell you want to make into either an x or an o, it'll do the rest itself! (note that there's a delay of about 4 ticks or so after your button releases where pressing any buttons will do anything, for spam protection) The cell on the left hand side shows what turn you're on, and the button under it is for resetting the board.

Comments

lddtwo45's picture

It's done!
took 3 days

By lddtwo45
Farex's picture

Hi, lddtwo45!

I have taken a quick look at your build, however I was not able to get too far. After placing a couple tiles, I did some minor spam-testing by activating a tile and then activating another one before the first one was displayed. There was some 3-5 ticks between my button presses, but this managed to break all further inputs. The reset button does not appear to fix the issue, so I cannot continue testing.

I expect this issue to either be fixed entirely before I review it again, and/or the build be fixed to how it was and more details on spam proofing provided (i.e. how many ticks it can handle between inputs, or basically its breaking point).

Please reply to this comment when you have updated the build! If I see no updates for ~2 weeks then I will mark this PR as denied and you can make a new one when the build is improved. And feel free to ask me any questions you may have, either via Discord or in-game. I look forward to being able to test your build, it seems quite promising!

Happy redstoning!
- Farex

By Farex
lddtwo45's picture

Thanks for reviewing, I'm not sure what the issue is. I was using worldedit earlier to copy paste it to my plot, and I was having some issues with the t flip flops. If it's that, it's an easy fix! Also, if the issue is that right after pressing one button the rest of the buttons won't do anything until the x or o display, that's done on purpose for spam proofing. I'll go check it out and see what went wrong!

By lddtwo45
lddtwo45's picture

It looks like one of the t flip flops WAS the issue. I'm not really sure if it was broken because of your spamming or my worldedit, but I'll do some testing on my own before you come back.

By lddtwo45
lddtwo45's picture

Alright, I'm ready for it to be checked again. Everything should be fine, I did some testing and it didn't break once. I also made a few changes so that there's maybe about a 1-2 tick window for spamming that it will actually break at. Even with an autoclicker I couldn't get anything to break without changing my fly speed.

Thanks for letting me know! lol

By lddtwo45
woesh0007's picture

Hello there. I found that if you make a column of +'es on the left side of the game, that no win is detected and that you can continue giving input to the game. I suggest that you put a bit more time into testing the build. I also noticed that you create a lot of double pulses that you later on filter to single pulses again. This unnecessarily complicates the build. You can use repeaters instead to cross two-high stacked wires without having to deal with these pulses and filters. With these issues, I would personally not vote for approval for this request. But note that you are very close to a rankup and that you can get there with just a few changes.

Good luck redstoning!

By woesh0007