import java.io.*; class TicTacToe { int [][] board; int [] values; public static final int KEEP_PLAYING=0; public static final int O_WINS=1; public static final int X_WINS=2; public static final int TIE=3; TicTacToe() { board = new int[3][3]; values = new int[8]; //values for each winning row, column or diagonal System.out.println(""); } public void reset() { System.out.println(""); for (int r=0;r<3;r++) { for (int c=0;c<3;c++) { board[r][c]=0; } } } public String toString() { StringBuffer sb = new StringBuffer(); sb.append(stringFromPos(0,0) + "|" + stringFromPos(0,1) + "|" + stringFromPos(0,2)); sb.append(" 1|2|3\n"); sb.append("----- -----\n"); sb.append(stringFromPos(1,0) + "|" + stringFromPos(1,1) + "|" + stringFromPos(1,2)); sb.append(" 4|5|6\n"); sb.append("----- -----\n"); sb.append(stringFromPos(2,0) + "|" + stringFromPos(2,1) + "|" + stringFromPos(2,2)); sb.append(" 7|8|9\n"); return sb.toString(); } public void updateValues() { //updates values //row values for (int r=0;r<3;r++) { values[r]=0; for (int c=0;c<3;c++) { values[r]+=board[r][c]; } } //column values for (int c=0;c<3;c++) { values[c+3]=0; for (int r=0;r<3;r++) { values[c+3]+=board[r][c]; } } //diag values values[6]= board[0][0] + board[1][1] + board[2][2]; values[7]= board[0][2] + board[1][1] + board[2][0]; //for (int i=0;i "); try { input = in.readLine(); } catch (IOException e) { System.err.println(e); } if (input.equals("Q")) { System.exit(0); } int mv=-1; try { mv=Integer.parseInt(input); } catch (NumberFormatException e) { //nothing here necessary } if (mv>0 && mv<10) { int result = t.doHumanMove(mv); if (result!=0) { System.out.println("\nEssayez encore\n"); } else { t.doComputerMove(); } } else { System.out.println("\nEssayez encore\n"); } } } }