TwerTrue
@TwerTrue
Молодой и неопытный разработчик

Как правильнее сделать?

Добрый день, я бы хотел узнать как мне лучше сделать.

private static void gamePlay() {
        if ("1".equals(gameMode)) {
            System.out.println("\n" + Main.playerOne.getName() + " ваш ход!");
            Player.turn(1);
            field.printSpace();
            tieGame(field.checkSpace());
            checkForWinner();
            System.out.println("\n" + Main.playerTwo.getName() + " ваш ход!");
            Player.turn(2);
            field.printSpace();
            tieGame(field.checkSpace());
            checkForWinner();
        } else if ("2".equals(gameMode)) {
            System.out.println("\n" + Main.playerOne.getName() + " ваш ход!");
            Player.turn(1);
            field.printSpace();
            tieGame(field.checkSpace());
            checkForWinner();
            System.out.println("\n" + Main.bot.getName() + " ходит!");
            Bot.turn();
            field.printSpace();
            tieGame(field.checkSpace());
            checkForWinner();
        }
    }


есть данный метод и он работает по разному в зависимости от выбора игрока, 1 - это игрок против игрока, 2 игрок против бота, так вот его лучше разделить или же оставить таким как он есть

public static void turn(int serialNumber) {
        int x;
        int y;

        x = Main.field.getX();
        y = Main.field.getY();

        if ((x >= 3 | x < 0) | (y >= 3 | y < 0)) {
            System.out.println("Вы ввели недопустимые координаты!");
            turn(serialNumber);
        } else {
            if (Main.field.pole[x][y] == 'O' | Main.field.pole[x][y] == 'X') {
                System.out.println("\nВы не можете туда походить!");
                Main.field.printSpace();
                turn(serialNumber);
            } else {
                if (serialNumber == 1) {
                    Main.field.pole[x][y] = 'X';
                } else {
                    Main.field.pole[x][y] = 'O';
                }
            }
        }
    }


Вот второй метод он находиться в классе игрок и при его вызове я указываю какой игрок ходит, можно ли сделать как то иначе ?
  • Вопрос задан
  • 142 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы