在 Java 控制台运行的五子棋游戏,需要用户用键盘输入棋子的位置来进行游戏。
规则:1、五子棋是两个人之间进行的竞技活动,由于对黑方白方规则不同,黑棋必须先行(本章节设计的游戏,黑棋与白棋的规则一样,但一样由黑棋先下)。2、五子棋专用盘为 15×15 ,五连子的方向为横、竖、斜。3、在棋盘上以对局双方均不可能形成五连为和棋。4、首先形成五连子的一方为赢。
游戏流程:
需要三个类:
一、创建gobang工程,加入上述三个类。
二、Chessboard类(棋盘类)
将棋盘看作一个二维数组,void initBoard()方法创建一个二维数组。
① initBoard()方法初始化二维数组,设置大小为22*22,把数组中每个元素赋值为“十”
② printBoard()方法在控制台输出二维数组的每个元素。注:print输出后不换行,println输出后换行。
③ setBoard()方法在棋盘的指定位置(posX,posY)上赋上指定的值(chessman)。
④ getBoard()方法返回棋盘。
二、Chessboard类(棋盘类)
枚举类enum,有BLACK和WHITE两个静态属性,构造器是私有的,通过getChessman()来获取棋子,即Chessman.BLACK.getChessman();
等于
三、GobangGame类
控制游戏的开始,重玩和结束,Chessboard依赖此类。有以下几种构造器和方法:
GobangGame() 无参构造器
GobangGame(Chessboard chessboard) 有参构造器
boolean isValid(String inputStr) 验证控制台输入是否合法
void start() 开始游戏
boolean isReplay(String chessman) 是否重新开始游戏
int[] computerDo() 计算机随机下棋
boolean isWon(posX,posY,String ico) 判断输赢