If you really wanted, you wouldn't need combinational logic at all. If red switch 1 is on, turn on red LED 1. If green switch 7 is on, turn on green LED 7. You get the idea. There's no error checking, but it does the job. ^^ You'd need 18 LEDs and 18 switches or buttons. Simple as that.
Starting at this barebones approach, we can try to make it more elegant. One thing you could do would be to use red/green bi-colored LEDs, to cut down on the physical 'bulbs' you have to look at. You could also cut down the switches to 9 by having it automatically keep track of whose turn it is. Start out with the first switch being turned on controlling a red LED. The next switch will automatically control a green LED. You could do that with a simple counter to keep track of the turns. You could use a 7490 decade counter for that, and use its least significant bit to determine red or green. When the counter hits 9, there's no more moves, so don't accept anymore input, except for a reset.
As for determining whether a move is valid, use a 2-input AND gate. Connect the LED to an inverter, and AND that with the switch. If either red/green LED is already on, then a 0 appears on the AND and nothing happens. If the LEDs were both was off, then the AND will turn current player's LED on. You may need additional gates to determine:
Code:
LED 1 green is OFF
LED 1 red is OFF
Switch 1 turned ON
It's red's turn
Therefore, turn on red LED 1.
or
Code:
LED 4 green is OFF
LED 4 red is OFF
Switch 4 turned ON
It's green's turn
Therefore, turn on green LED 4.
As for determining a winner, a bunch of 3 input AND gates is all that's needed. Figuring out a winner of 3-in-a-row game with 3 input AND gates should be pretty obvious. 8) Turn on a "red is the winner" or "green wins" indicator somewhere and stop accepting inputs. Fair warning, this method is going to be a big gob of wires! You might (hopefully) come up with a more efficient method for doing everything, but this should get you started. Good luck debugging that many gates and wires on a breadboard in lab. :roll: