Algoritmia

aloha…

eu estou fazendo um tic tac toe… e estou com um problema de algoritmia… eu tenho o seguinte código que coloca num array todas os cantos que estiverem desocupados… mas eu agora keria um método que me colocasse num array destes as jogadas das linhas, colunas ou diagonais que apenas tivessem uma casa vazia, ou seja… jogadas vencedores…

public Move[] getLegalCornerMoves(IBoard board) { ArrayList<Move> moves = new ArrayList<Move>(); for (int i = 0, j = 0; i < BOARDSIZE; i += 2, j += 2) { Move m = new Move(i, j); if (board.isFree(m)) { moves.add(m); } }

Como é que eu faço isto sem ser com uma carrada de if´s que é a única maneira que eu estou vendo ?

Vc ja pensou em fazer esse programa, onde ele aprende-se algumas estrategias para sempre ganhar ou empatar … nunca perder… tipo … no começo ele só sabe que se fizer uma sequencia em alguma linha, coluna ou diagonal ele ganha e conforme vc joga com ele, ele vai armazenando informações de jogadas e aprendendo a não perder.

Como é que eu faria isso ?