heuristicas começando a implementar ...
[xYpjg3TdSw.git] / todo.txt
blob3cdb49f9eb60aa2ce33c542d0491005289a40437
1 Criar arquitetura da ia em si
2         hierarquia de classes herdando de Enemy
3         tratar empate por repetição de jogadas DONE (ignora posições já atingidas no jogo)
4         quando a vitória é garantida nem sempre ele vai pelo caminho mais curto. sem tratar empate por repetição pode ser que acabe empatando DONE (prioridade para o caminho mais curto para a vitória)
5         best move first DONE
6         aumentar a profundidade quando ainda está sobrando tempo
7         repetição de tabuleiros
8         simetria
10 eficiência:
11         mudar Move para ser só um inteiro em vez de um par de chars
12         board saber de quem é a vez para não ter que ficar passando por parâmetro
14 depois:
15         Tratar início do jogo DONE
16                 Iniciar, parar, computador começa, usuário começa DONE
17                 Conflito quando usar o load DONE
18                         salvar mais coisas no log DONE
19                         ou permitir mudar as opções após o load (mais fácil, menos robusto) DONE
20                 iniciar faz o computador jogar caso seja a vez dele DONE
21         Tratar fim do jogo DONE
22                 Condição de vitória DONE
23                 Mensagem bonita
24         Tratar intervenção do usuário quando é a vez do computador DONE
25                 Só pode pedir para parar, talvez nem isso DONE