Java数组实现五子棋功能

简介:
package ch4;
import java.io.*;

/**
 * Created by Jiqing on 2016/11/9.
 */
public class Gobang {
    // 定义棋盘的大小
    private static int BOARD_SIZE = 15;
    // 定义一个二维数组来充当棋盘
    private String[][] board;
    public void initBoard()
    {
        // 初始化棋盘数组
        board = new String[BOARD_SIZE][BOARD_SIZE];
        // 把每个元素赋为"╋",用于在控制台画出棋盘
        for (int i = 0 ; i < BOARD_SIZE ; i++)
        {
            for ( int j = 0 ; j < BOARD_SIZE ; j++)
            {
                board[i][j] = "╋";
            }
        }
    }
    // 在控制台输出棋盘的方法
    public void printBoard()
    {
        // 打印每个数组元素
        for (int i = 0 ; i < BOARD_SIZE ; i++)
        {
            for ( int j = 0 ; j < BOARD_SIZE ; j++)
            {
                // 打印数组元素后不换行
                System.out.print(board[i][j]);
            }
            // 每打印完一行数组元素后输出一个换行符
            System.out.print("\n");
        }
    }
    public static void main(String[] args) throws Exception
    {
        Gobang gb = new Gobang();
        gb.initBoard();
        gb.printBoard();
        // 这是用于获取键盘输入的方法
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String inputStr = null;
        // br.readLine():每当在键盘上输入一行内容按回车,用户刚输入的内容将被br读取到。
        while ((inputStr = br.readLine()) != null)
        {
            // 将用户输入的字符串以逗号(,)作为分隔符,分隔成2个字符串
            String[] posStrArr = inputStr.split(",");
            // 将2个字符串转换成用户下棋的座标
            int xPos = Integer.parseInt(posStrArr[0]);
            int yPos = Integer.parseInt(posStrArr[1]);
            // 把对应的数组元素赋为"●"。
            gb.board[yPos - 1][xPos - 1] = "●";
            /*
             电脑随机生成2个整数,作为电脑下棋的座标,赋给board数组。
             还涉及
                1.座标的有效性,只能是数字,不能超出棋盘范围
                2.如果下的棋的点,不能重复下棋。
                3.每次下棋后,需要扫描谁赢了
             */
            gb.printBoard();
            System.out.println("请输入您下棋的座标,应以x,y的格式:");
        }
    }
}


本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6048455.html,如需转载请自行联系原作者

相关文章
|
3月前
|
存储 编译器 C语言
【C语言篇】数组和函数的实践:扫雷游戏(附源码)
【C语言篇】数组和函数的实践:扫雷游戏(附源码)
44 0
|
8月前
|
C语言
C语言初阶⑤(数组)扫雷游戏(分步实现+效果图)
C语言初阶⑤(数组)扫雷游戏(分步实现+效果图)
45 1
|
7月前
|
C语言 C++
C++初阶学习第三弹——类与对象(上)——初始类与对象
C++初阶学习第三弹——类与对象(上)——初始类与对象
30 0
|
Java 编译器 索引
Java语法糖:甜化你的编程体验
Java语法糖:甜化你的编程体验
Java语法糖:甜化你的编程体验
|
存储 安全
扫雷详解(数组的综合应用)
扫雷详解(数组的综合应用)
139 0
扫雷详解(数组的综合应用)
课外拓展2.实现qsort函数及模拟实现qsort函数
课外拓展2.实现qsort函数及模拟实现qsort函数
77 0
|
安全 前端开发
带你读书之“红宝书”:第五章 基本引用类型⑤
带你读书之“红宝书”:第五章 基本引用类型⑤
86 0
带你读书之“红宝书”:第五章 基本引用类型⑤
|
前端开发 JavaScript 物联网
带你读书之“红宝书”:第五章 基本引用类型⑥
带你读书之“红宝书”:第五章 基本引用类型⑥
76 0
带你读书之“红宝书”:第五章 基本引用类型⑥
|
存储 前端开发
带你读书之“红宝书”:第五章 基本引用类型④
带你读书之“红宝书”:第五章 基本引用类型④
90 0
带你读书之“红宝书”:第五章 基本引用类型④

热门文章

最新文章