This is a human versus TTL circuit version of Tic Tac Toe, but with no CPU. It's all plain old digital logic.
Not a member? You should
Already have an account?
To make the experience fit your profile, pick a username and tell us what interests you.
based on your interests.
Choose more interests.
Create an account to leave a comment.
Already have an account?
Ok, I think I have the minimal hack (this is HaD after all) to the finite state machine to allow the machine to make the first move. Interpose an AND gate and a normally open switch between S9 and Boardmoves/Move9 like this:
AND ----> Boardmoves/Move9
Location 0 in the state lookup ROM is changed to 0x0D, which causes the FSM to loop attempting to turn on Boardmoves/LED9 via S13 but is blocked by the open switch. When the user presses this "you go first" switch, LED9 is turned on, and then play proceeds as usual.
Entries in the ROM which were previously unreachable (e.g. 5 machine moves) need to be fixed to indicate tie or win.
One motivation for this mod is that when the machine goes first on a corner, it is possible to trap the user if they do not reply with centre.
Nice exemplar of a finite state machine implementation by the way. 👍
Are you sure? yes | no
Actually, I'm using a 32kx8 ROM so there is more space in there for other moves. Why not a switch and pull-down resistor connected to the A13 address line on the ROM. Low selects the current 8K of ROM where the user moves first. High selects the 8K where the board moves first. It's too late for my PCBs (they are ordered), but I can try this out on the breadboard in the next few days.
I've generated the new 8K set of moves and states. I've rewrired the Logisim version to have a "move first" selector and it all works. Next up, try it out on the breadboard. After that, change the schematic and PCB design.
Nice work! Your mod preserves the purity of the FSM model (all state transitions through mapping.) 👍
I've modified the breadboard with the switch and it works. I've updated the PCB design and the Github repository to have this new version.
[this comment has been deleted]
It's not hard to add. You just need another switch for the null (I pass) move and a initial state in the ROM. Machine can then make a predetermined first move, probably corner.
I think it will make the required ROM a bigger one. I'm happy with the game as it is, but feel free to clone/fork the Github repository and change it!
Yes, I think it will require one extra latch, but no LED, and 10 bits of state. What would make it cute would be the machine making a hmmm sound for a few seconds before "making its move". 😉
👍 Can the machine make the first move?
Become a member to follow this project and never miss any updates
© 2019 Hackaday
Yes, delete it
You are about to report the project "Tic Tac Toe in TTL", please tell us the reason.
Your application has been submitted.
Are you sure you want to remove yourself as
a member for this project?
Project owner will be notified upon removal.