五子棋java.doc
《五子棋java.doc》由会员分享,可在线阅读,更多相关《五子棋java.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、import java.io.BufferedReader;import java.io.InputStreamReader;/* * 五子棋游戏类 * */public class GobangGame / 定义达到赢条件的棋子数目private final int WIN_COUNT = 5;/ 定义用户输入的X坐标private int posX = 0;/ 定义用户输入的X坐标private int posY = 0;/ 定义棋盘private Chessboard chessboard;/* * 空构造器 */public GobangGame() /* * 构造器,初始化棋盘和棋子
2、属性 * * param chessboard * 棋盘类 */public GobangGame(Chessboard chessboard) this.chessboard = chessboard;/* * 检查输入是否合法。 * * param inputStr * 由控制台输入的字符串。 * return 字符串合法返回true,反则返回false。 */public boolean isValid(String inputStr) / 将用户输入的字符串以逗号(,)作为分隔,分隔成两个字符串String posStrArr = inputStr.split(,);try posX
3、= Integer.parseInt(posStrArr0) - 1;posY = Integer.parseInt(posStrArr1) - 1; catch (NumberFormatException e) chessboard.printBoard();System.out.println(请以(数字,数字)的格式输入:如3,5);return false;/ 检查输入数值是否在范围之内if (posX = Chessboard.BOARD_SIZE | posY = Chessboard.BOARD_SIZE) chessboard.printBoard();System.out.
4、println(X与Y坐标只能大于等于1,与小于等于 + Chessboard.BOARD_SIZE+ ,请重新输入:);return false;/ 检查输入的位置是否已经有棋子String board = chessboard.getBoard();if (boardposXposY != 十) chessboard.printBoard();System.out.println(此位置已经有棋子,请重新输入:);return false;return true;/* * 开始下棋 */public void start() throws Exception / true为游戏结束bool
5、ean isOver = false;chessboard.initBoard();chessboard.printBoard();/ 获取键盘的输入BufferedReader br = new BufferedReader(new InputStreamReader(System.in);String inputStr = null;/ br.readLine:每当键盘输入一行内容按回车键,则输入的内容被br读取到while (inputStr = br.readLine() != null) isOver = false;if (!isValid(inputStr) / 如果不合法,要求
6、重新输入,再继续continue;/ 把对应的数组元素赋为String chessman = Chessman.BLACK.getChessman();chessboard.setBoard(posX, posY, chessman);/ 判断用户是否赢了if (isWon(posX, posY, chessman) isOver = true; else / 计算机随机选择位置坐标int computerPosArr = computerDo();chessman = Chessman.WHITE.getChessman();chessboard.setBoard(computerPosAr
7、r0, computerPosArr1,chessman);/ 判断计算机是否赢了if (isWon(computerPosArr0, computerPosArr1, chessman) isOver = true;/ 如果产生胜者,询问用户是否继续游戏if (isOver) / 如果继续,重新初始化棋盘,继续游戏if (isReplay(chessman) chessboard.initBoard();chessboard.printBoard();continue;/ 如果不继续,退出程序break;chessboard.printBoard();System.out.println(请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 五子棋 java
限制150内