XOGame

Форк
0
/
X0Game.java 
46 строк · 1.8 Кб
1
import java.util.Scanner;
2

3
public class X0Game {
4
    FieldX0 gameField;
5
    Scanner scanner = new Scanner(System.in);
6
    char whoMakeNextTurn; boolean gameOver = false;
7

8
    void setupNewGame() {
9
        System.out.println("Will play new X0 game");
10
        this.gameField = new FieldX0(); this.gameField.initField();
11
    }
12
    void play() {
13
        this.setupNewGame();
14
        System.out.println("Who will make first turn: ");
15
        char first = this.scanner.next().charAt(0);
16
        if (first == 'X' || first == '0') {
17
            this.whoMakeNextTurn = first;
18
        }
19
        else { System.out.println("I recognizing only X and 0 (zero). So first will be X");
20
            this.whoMakeNextTurn = 'X';
21
        }
22
        while (!gameOver) {
23
            turn(); this.gameOver = this.gameField.isGameOver(this.whoMakeNextTurn);
24
            if (this.gameOver) {
25
                System.out.println(this.whoMakeNextTurn + " win!");
26
            }
27
            if (this.whoMakeNextTurn == 'X') {
28
                this.whoMakeNextTurn = '0';
29
            }
30
            else {
31
                this.whoMakeNextTurn = 'X';
32
            }
33
        } System.out.println("Game over.");
34
    }
35
    void turn() {
36
        System.out.println(this.whoMakeNextTurn + ", your turn. ");
37
        System.out.print("Chose row: "); int rowNumber = this.scanner.nextInt();
38
        System.out.print("Chose column: "); int colNumber = this.scanner.nextInt(); int rowIndex = rowNumber - 1; int colIndex = colNumber - 1;
39
        if (this.gameField.isPlaceFree(rowIndex, colIndex)) {
40
            this.gameField.setValue(rowIndex, colIndex, whoMakeNextTurn);
41
        this.gameField.printField(); }
42
        else {
43
            System.out.println("Wrong number (maybe this place is not free?). Make turn again"); turn();
44
        }
45
    }
46
}
47

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.