Connect 4 Logic Game

Thread Starter

ant12345

Joined Nov 22, 2013
1
I am designing the game of connect-4 using non-programmable chips and could really use some help. The end result I am going for is to have the player to play against the computer but for now I am just trying to get the two player implementation of the game working.

I am going to use a 7x6 grid of LEDs to mimic the classic connect-4 game, however I foresee having to double this grid and overlay one on top of the other so that it is possible to differentiate between player one and player two with different color LEDs

One idea I had to make the mechanic of dropping a marker work was to use a 6-bit binary counter- perhaps a mod counter- to mirror the lit pattern of LEDs in a column. Each time player 1 went, the counter would increment by a specific amount and each time player 2 went the counter would increment by a different amount depending on how the mod counter was designed.

For example: the counter for player 1 in column 1 starts of at 000000
player 1 goes and it increments to 000001
player 2 goes and the counter stays the same at 000001
player 1 goes again in the same column and the counter increments to 000101

000001 and 000101 are 4 states away from one another
Going through a bunch of cases made it apparent that states increment in some pattern

p1 LEDS...# changes.......move......count
000000.........................................0
000001....1 change.......player 1.......1
000001.......................player 2.......2
000101....4 changes.....player 1........4
001101....8 changes.....player 1........8
001101.......................player 2.......16
101101....32 changes....player 1........32

I believe this requires a way to stage the output, so I was considering using a shift register and clock that pulses 6 times once a move is made to update the LEDs. The shift registers will store the values of the LED until the next move is made when they will be updated again. I would achieve the 6 pulses by doing something like tying a counter to pin 4 of the 555 timer.

This seems doable but it feels like it would require quite a lot to implement. I feel like there should be a simpler way to accomplish something like this. Any ideas? :confused:

I should mention that I am allowed to use chips that store data, just not chips that would complete this whole task for me
 
Last edited:
Top