Version Five:
1. Maintains features of versions one and two
2. Moves are pre-ordered, unless a row has two of a kind and one empty.
Not Too Challenging!
Alterations to computer_move method:
public void computer_move() { int i=0; int j=0; if(position[0][0]!=EMPTY&&position[0][0]==position[0][1]&&position[0][2]==EMPTY) { j=0; i=2;} else if(position[0][0]!=EMPTY&&position[0][0]==position[0][2]&&position[0][1]==EMPTY) { j=0; i=1;} else if(position[0][1]!=EMPTY&&position[0][1]==position[0][2]&&position[0][0]==EMPTY) { j=0; i=0;} else if(position[1][0]!=EMPTY&&position[1][0]==position[1][1]&&position[1][2]==EMPTY) { j=1; i=2;} else if(position[1][0]!=EMPTY&&position[1][0]==position[1][2]&&position[1][1]==EMPTY) { j=1; i=1;} else if(position[1][2]!=EMPTY&&position[1][2]==position[1][1]&&position[1][0]==EMPTY) { j=1; i=0;} else if(position[2][0]!=EMPTY&&position[2][0]==position[2][1]&&position[2][2]==EMPTY) { j=2; i=2;} else if(position[2][1]!=EMPTY&&position[2][1]==position[2][2]&&position[2][0]==EMPTY) { j=2; i=0;} else if(position[2][0]!=EMPTY&&position[2][0]==position[2][2]&&position[2][1]==EMPTY) { j=2; i=1;} else if(position[0][0]!=EMPTY&&position[0][0]==position[1][0]&&position[2][0]==EMPTY) { j=2; i=0;} else if(position[0][0]!=EMPTY&&position[0][0]==position[2][0]&&position[1][0]==EMPTY) { j=1; i=0;} else if(position[1][0]!=EMPTY&&position[1][0]==position[2][0]&&position[0][0]==EMPTY) { j=0; i=0;} else if(position[0][1]!=EMPTY&&position[0][1]==position[1][1]&&position[2][1]==EMPTY) { j=2; i=1;} else if(position[0][1]!=EMPTY&&position[0][1]==position[2][1]&&position[1][1]==EMPTY) { j=1; i=1;} else if(position[1][1]!=EMPTY&&position[1][1]==position[2][1]&&position[0][1]==EMPTY) { j=0; i=1;} else if(position[0][2]!=EMPTY&&position[0][2]==position[1][2]&&position[2][2]==EMPTY) { j=2; i=2;} else if(position[0][2]!=EMPTY&&position[0][2]==position[2][2]&&position[1][2]==EMPTY) { j=1; i=2;} else if(position[1][2]!=EMPTY&&position[1][2]==position[2][2]&&position[0][2]==EMPTY) { j=0; i=2;} else if(position[0][0]!=EMPTY&&position[0][0]==position[1][1]&&position[2][2]==EMPTY) { j=2; i=2;} else if(position[0][0]!=EMPTY&&position[0][0]==position[2][2]&&position[1][1]==EMPTY) { j=1; i=1;} else if(position[1][1]!=EMPTY&&position[1][1]==position[2][2]&&position[0][0]==EMPTY) { j=0; i=0;} else if(position[0][2]!=EMPTY&&position[0][2]==position[1][1]&&position[2][0]==EMPTY) { j=2; i=0;} else if(position[2][0]!=EMPTY&&position[2][0]==position[1][1]&&position[0][2]==EMPTY) { j=0; i=2;} else if(position[2][0]!=EMPTY&&position[2][0]==position[0][2]&&position[1][1]==EMPTY) { j=1; i=1;} else if(position[1][1]==EMPTY) { j=1; i=1; } else if(position[0][2]==EMPTY) { j=0; i=2; } else if(position[2][0]==EMPTY) { j=2; i=0; } else if(position[2][2]==EMPTY) { j=2; i=2; } else if(position[1][2]==EMPTY) { j=1; i=2; } else if(position[2][1]==EMPTY) { j=2; i=1; } else if(position[0][1]==EMPTY) { j=0; i=1; } else if(position[0][0]==EMPTY) { j=0; i=0; } else if(position[1][0]==EMPTY) { j=1; i=0; } //could just be else... position[j][i]=COMPUTER; win(); TURN=HUMAN; }