【问题标题】:java OOP ultimate tic tac toe gridjava OOP 终极井字游戏网格
【发布时间】:2020-11-18 03:04:55
【问题描述】:

我正在使用 OOP 概念在 java 中编写终极井字游戏,并且我正在尝试制作板并正确打印出来。 我制作了包含 9 个小板的 Bigboard 类,每个小板由 9 个分配有索引的框组成。当我尝试打印它时,我得到了这个。

| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |

| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |

| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |
| 0 | 1 | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |

而不是这个

| 0 | 1 | 2 | | 0 | 1 | 2 | | 0 | 1 | 2 | 
| 3 | 4 | 5 | | 3 | 4 | 5 | | 3 | 4 | 5 |
| 6 | 7 | 8 | | 6 | 7 | 8 | | 6 | 7 | 8 |

| 0 | 1 | 2 | | 0 | 1 | 2 | | 0 | 1 | 2 | 
| 3 | 4 | 5 | | 3 | 4 | 5 | | 3 | 4 | 5 |
| 6 | 7 | 8 | | 6 | 7 | 8 | | 6 | 7 | 8 |

| 0 | 1 | 2 | | 0 | 1 | 2 | | 0 | 1 | 2 | 
| 3 | 4 | 5 | | 3 | 4 | 5 | | 3 | 4 | 5 |
| 6 | 7 | 8 | | 6 | 7 | 8 | | 6 | 7 | 8 |

大板类打印方法

    void print () {
        System.out.println("printing the " + this.name  + " info....");
        
        for (int i = 0; i < boards.length; i++) {
            if (i!=0 && i%boardColSize == 0) 
                System.out.println();
            boards [i].print();
        }
        System.out.println("");
    }
}

小板类打印方法

    void print () {
        for (int i = 0; i < boxes.length; i++) {
            if (i!=0 && i%boardColSize == 0) 
                System.out.println();
            boxes [i].print();
        }
        System.out.println("");

box类打印方法

    void print() {
        if (Integer.valueOf(placeHolder) == 2 || Integer.valueOf(placeHolder) == 5 || Integer.valueOf(placeHolder) == 8)
            System.out.print("| "+placeHolder + " |");
        else
            System.out.print("| "+ placeHolder + " ");
    }
    
}

如何将小板格式化为 3x3 网格?

【问题讨论】:

    标签: java tic-tac-toe


    【解决方案1】:

    您的小板打印在方法末尾有一个 println() 调用,这意味着每个小板总是在新行上打印。 此外,为了获得所需的输出,您需要能够一次打印一行小板。 即。

    • 打印小板0行0
    • 打印小板1行0
    • 打印小板2行0
    • 打印换行符
    • 打印小板0行1
    • ...

    【讨论】:

      猜你喜欢
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 2023-03-25
      • 2022-12-10
      • 2016-09-07
      相关资源
      最近更新 更多