Io ho realizzato il gioco del Forza4 in Java ed ho utilizzato la seguente "strategia":

1) Non hai bisogno di controllare i 4 verticali verso l'alto (dato che le pedine arrivano dall'alto può solo verificarsi un 4 verticale verso il basso rispetto all'ultima pedina inserita)

2) hai 4 possibilità per ciascuna delle altre forme di 4 (la X indica la pedina appena posizionata, le O le pedine dello stesso colore già presenti):
codice:
Casi orizzontali:
|---|---|---|---| |---|---|---|---| |---|---|---|---| |---|---|---|---|
| X | O | O | O | | O | X | O | O | | O | O | X | O | | O | O | O | X |
|---|---|---|---| |---|---|---|---| |---|---|---|---| |---|---|---|---|

Casi diagonale principale:
|---|---|---|---| |---|---|---|---| |---|---|---|---| |---|---|---|---|
| X |   |   |   | | O |   |   |   | | O |   |   |   | | O |   |   |   |
|---|---|---|---| |---|---|---|---| |---|---|---|---| |---|---|---|---|
|   | O |   |   | |   | X |   |   | |   | O |   |   | |   | O |   |   |
|---|---|---|---| |---|---|---|---| |---|---|---|---| |---|---|---|---|
|   |   | O |   | |   |   | O |   | |   |   | X |   | |   |   | O |   |
|---|---|---|---| |---|---|---|---| |---|---|---|---| |---|---|---|---|
|   |   |   | O | |   |   |   | O | |   |   |   | O | |   |   |   | X |
|---|---|---|---| |---|---|---|---| |---|---|---|---| |---|---|---|---|

I casi per la diagonale secondaria sono simmetrici.
Devi semplicemente prendere in considerazione ciascuno di questi casi, uno per uno.


Ciao.