Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class TTT
- {
- private
- char grid[][] = {
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '},
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '},
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '},
- {' ', '-', '-', '-', '+', '-', '-', '-', '+', '-', '-', '-', '-'},
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '},
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '},
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '},
- {' ', '-', '-', '-', '+', '-', '-', '-', '+', '-', '-', '-', '-'},
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '},
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '},
- {' ', ' ', ' ', ' ', '|', ' ', ' ', ' ', '|', ' ', ' ', ' ', ' '}};
- private
- char player[] = {'X', 'O'};
- private
- int pos;
- private
- int movedata[][];
- TTT()
- {
- pos = 0;
- movedata = new int[9][3];
- for (int i = 0; i < movedata.length; i++)
- for (int j = 0; j < movedata[i].length; j++)
- movedata[i][j] = 0;
- }
- private boolean
- isValid(int index)
- {
- if (index <= movedata.length - 1)
- return true;
- else
- return false;
- }
- public void
- printGrid()
- {
- System.out.println();
- for (int i = 0; i < grid.length; i++)
- for (int j = 0; j < grid[i].length; j++)
- System.out.print((j != grid[i].length - 1)?grid[i][j]:'\n');
- System.out.println();
- }
- private void
- setGrid()
- {
- for (int i = 0; i <= pos; i++)
- switch (movedata[i][0])
- {
- case 1:
- switch (movedata[i][1])
- {
- case 1:
- grid[1][2] = player[movedata[i][2]];
- break;
- case 2:
- grid[1][6] = player[movedata[i][2]];
- break;
- case 3:
- grid[1][10] = player[movedata[i][2]];
- break;
- }
- break;
- case 2:
- switch (movedata[i][1])
- {
- case 1:
- grid[5][2] = player[movedata[i][2]];
- break;
- case 2:
- grid[5][6] = player[movedata[i][2]];
- break;
- case 3:
- grid[5][10] = player[movedata[i][2]];
- break;
- }
- break;
- case 3:
- switch (movedata[i][1])
- {
- case 1:
- grid[9][2] = player[movedata[i][2]];
- break;
- case 2:
- grid[9][6] = player[movedata[i][2]];
- break;
- case 3:
- grid[9][10] = player[movedata[i][2]];
- break;
- }
- break;
- }
- }
- public int
- getPos()
- {
- return pos;
- }
- public int
- getLastPlayer()
- {
- return movedata[(pos > 0)?pos - 1:pos][2];
- }
- public int
- getMaxMoves()
- {
- return movedata.length;
- }
- public void
- setMove(int x, int y, int p)
- {
- movedata[pos][0] = x;
- movedata[pos][1] = y;
- movedata[pos][2] = p;
- setGrid();
- if (isValid(pos))
- pos++;
- }
- public int[]
- inputMove(int player) throws java.io.IOException
- {
- String s = "";
- char c;
- while ((c = (char) System.in.read()) != '\n')
- if (c != '\n')
- s += c;
- int res[] = new int[3];
- res[0] = Integer.parseInt(s.substring(0, 1));
- res[1] = Integer.parseInt(s.substring(2, 3));
- res[2] = player;
- return res;
- }
- }
- class TTTGame
- {
- public static void
- main(String args[]) throws java.io.IOException
- {
- TTT game1 = new TTT();
- game1.printGrid();
- int res[] = new int[3];
- int lp = 0;
- do
- {
- System.out.print("Player " + ((lp == 0)?'O':'X') + "> ");
- res = game1.inputMove((lp == 0)?1:0);
- game1.setMove(res[0], res[1], res[2]);
- lp = game1.getLastPlayer();
- game1.printGrid();
- } while ((game1.getMaxMoves() - game1.getPos()) > 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement