Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Field {
- char [][] gameField;
- boolean [][] booleansField;
- public Field() {
- this.gameField = new char[][]{
- {'#', '1', ' ', '2', ' ', '3'},
- {'1', ' ', '|', ' ', '|', ' '},
- {' ', '-', ' ', '-', ' ', '-'},
- {'2', ' ', '|', ' ', '|', ' '},
- {' ', '-', ' ', '-', ' ', '-'},
- {'3', ' ', '|', ' ', '|', ' '},
- };
- }
- public Field(boolean truee){
- this.booleansField=new boolean[3][3];
- }
- public char[][] createGameField() {
- char[][] gameField = new char[][]{
- {'#', '1', ' ', '2', ' ', '3'},
- {'1', ' ', '|', ' ', '|', ' '},
- {' ', '-', ' ', '-', ' ', '-'},
- {'2', ' ', '|', ' ', '|', ' '},
- {' ', '-', ' ', '-', ' ', '-'},
- {'3', ' ', '|', ' ', '|', ' '},
- };
- return gameField;
- }
- public boolean[][] createBooleansField() {
- boolean[][] booleansField = new boolean[3][3];
- return booleansField;
- }
- public void printGameField(Field field){
- for (int i = 0; i < field.gameField.length; i++) {
- System.out.println();
- for (int j = 0; j < field.gameField.length; j++) {
- System.out.print(field.gameField[i][j] + " ");
- }
- }
- }
- public boolean checkIfTheCoordinateIsFree(Step step, Field gameField) {
- int xGameFieldPosition = gameFieldCoordinateConverter(step.yPos);
- int yGameFieldPosition = gameFieldCoordinateConverter(step.xPos);
- if (gameField.gameField[xGameFieldPosition][yGameFieldPosition] == ' ') {
- return true;
- } else {
- return false;
- }
- }
- public Field showTheXOOnTheGameField(Field gameField, Step step, Player cross) {
- if (cross.xOSign) {
- gameField.gameField[gameFieldCoordinateConverter(step.xPos)][gameFieldCoordinateConverter(step.yPos)] = 'X';
- } else {
- gameField.gameField[gameFieldCoordinateConverter(step.xPos)][gameFieldCoordinateConverter(step.yPos)] = '0';
- }
- printGameField(gameField);
- return gameField;
- }
- public boolean[][] FixStepOnTheBooleansField(Player player, Step step) {
- player.booleansField[booleansFieldCoordinateConverter(step.xPos)][booleansFieldCoordinateConverter(step.yPos)] = true;
- return player.booleansField;
- }
- public int gameFieldCoordinateConverter(int position) {
- if (position == 1) {
- return 1;
- } else if (position == 2) {
- return 3;
- } else return 5;
- }
- public int booleansFieldCoordinateConverter(int position) {
- if (position == 1) {
- return 0;
- } else if (position == 2) {
- return 1;
- } else return 2;
- }
- public boolean threeInARow(Step step, Player player) {
- int xx = booleansFieldCoordinateConverter(step.xPos);
- int yy = booleansFieldCoordinateConverter(step.yPos);
- return checkHorisontal(xx, yy, player.booleansField) || checkVertical(xx, yy, player.booleansField) || checkDiagonals(xx, yy, player.booleansField);
- }
- private boolean checkHorisontal(int x, int y, boolean[][] booleansField) {
- if (x == 0) {
- if (booleansField[x + 1][y] && booleansField[x + 2][y]) {
- return true;
- }
- } else if (x == 1) {
- if (booleansField[x - 1][y] && booleansField[x + 1][y]) {
- return true;
- }
- } else if (x == 2) {
- if (booleansField[x - 1][y] && booleansField[x - 2][y]) {
- return true;
- }
- }
- return false;
- }
- private boolean checkVertical(int x, int y, boolean[][] booleansField) {
- for (int i = 0; i < booleansField.length; i++) {
- System.out.println();
- for (int j = 0; j < booleansField.length; j++) {
- // ? System.out.print(booleansField[i][j]);
- System.out.print(i+j);
- }
- }
- if (y == 0) {
- if (booleansField[x][y + 1] && booleansField[x][y + 2]) {
- return true;
- }
- } else if (y == 1) {
- if (booleansField[x][y - 1] && booleansField[x][y + 1]) {
- return true;
- }
- } else if (y == 2) {
- System.out.println(booleansField[x][y-1]);
- if (booleansField[x][y-1] && booleansField[x][y - 2]) {
- return true;
- }
- }
- return false;
- }
- private boolean checkDiagonals(int x, int y, boolean[][] booleansField) {
- if ((x == 0 && y == 1) || (x == 1 && y == 0) || (x == 2 && y == 1) || (x == 1 && y == 2)) {
- return false;
- } else if (x == 0 && y == 0) {
- if (booleansField[x + 1][y + 1] && booleansField[x + 2][y + 2]) {
- return true;
- }
- } else if (x == 1 && y == 1) {
- if (booleansField[x + 1][y + 1] && booleansField[x - 1][y - 1]) {
- return true;
- }
- } else if (x == 2 && y == 2) {
- if (booleansField[x - 2][y - 2] && booleansField[x - 1][y - 1]) {
- return true;
- }
- } else if (x == 0 && y == 2) {
- if (booleansField[x + 1][y - 1] && booleansField[x + 2][y - 2]) {
- return true;
- }
- }
- return false;
- }
- }
- /* for (int i = 0; i < booleansField.length; i++) {
- System.out.println();
- for (int j = 0; j < booleansField.length; j++) {
- System.out.print(booleansField[i][j] + " ");
- }
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement