欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java简单练习-五子棋

程序员文章站 2022-07-27 20:29:19
使用二维数组,实现五子棋功能 //使用二维数组,实现五子棋功能. //⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑如下图 public static void main(String[] args) { String[][] a = new String[15][15]; String[] c = {"⒈", "⒉", "⒊", "⒋", "⒌", "⒍", "⒎", "⒏", "⒐", "⒑", "⒒", "⒓", "⒔", "⒕", "⒖"}; //初始化...

使用二维数组,实现五子棋功能

    //使用二维数组,实现五子棋功能.
    //⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑如下图
    public static void main(String[] args) {
        String[][] a = new String[15][15];
        String[] c = {"⒈", "⒉", "⒊", "⒋", "⒌", "⒍", "⒎", "⒏", "⒐", "⒑", "⒒", "⒓", "⒔", "⒕", "⒖"};
        //初始化棋盘
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a.length; j++) {
                //若判断为棋盘最后一列,则需要将行号c[i]赋值给对应位置,即在最后一列给出行号
                //若判断为棋盘最后一行,则需要将列号c[i]赋值给对应位置,即在最后一行给出列号
                //其余位置放置为"十"即可
                if (j == a.length - 1) {
                    a[i][a.length - 1] = c[i];
                } else if (i == a.length - 1) {
                    a[a.length - 1][j] = c[j];
                } else {
                    a[i][j] = "十";
                }
                System.out.print(a[i][j]);
            }
            System.out.println();

        }
        //双方开始下棋,每下一颗棋子都必须同步更新一次棋盘.
        while (true) {
            Scanner input = new Scanner(System.in);
            for (int i = 0; i <= 1; i++) {
                //黑棋先走,即奇数时为黑方下棋,偶数时为白方下棋.
                if (i % 2 == 0) {
                    System.out.println("请黑棋下,他的位置是:");
                } else {
                    System.out.println("请白棋下,他的位置是:");
                }
                int x = input.nextInt();
                int y = input.nextInt();
                //判断用户目前输入的位置是否有棋子,若已有棋子则需要重新选择位置.
                if (a[x - 1][y - 1] == "★" || a[x - 1][y - 1] == "☆") {
                    System.out.println("此处已有棋子,请重新选择位置");
                }
                //黑方下的棋子输出显示为"★",白方下的棋子输出显示为"☆".
                if (i % 2 == 0) {
                    a[x - 1][y - 1] = "★";
                } else {
                    a[x - 1][y - 1] = "☆";
                }
                //更新打印棋盘.
                for (int j = 0; j < a.length; j++) {
                    for (int k = 0; k < a.length; k++) {
                        System.out.print(a[j][k]);
                    }
                    System.out.println();
                }
            }
        }
    }

总结:

用户的输赢功能暂时未实现,还需继续完善.

本文地址:https://blog.csdn.net/crraxx/article/details/109816423

相关标签: java 数组