用二维数组来完成五子棋游戏

1、Gobang.java

package xuexi;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

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");
			//System.out.println();
		}
	}
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
			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]="●";
			
			gb.printBoard();
			System.out.println("请输入您下棋的座标,应以X,Y的格式:");
//Scanner n=new Scanner();
}
	}

}

猜你喜欢

转载自my.oschina.net/u/3563297/blog/1812315