JAVA五子棋游戏(控制台程序).doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:11 大小:16KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

JAVA五子棋游戏(控制台程序).doc

JAVA五子棋游戏(控制台程序).doc

预览

免费试读已结束,剩余 1 页请下载文档后查看

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

//==================类1================================publicclassChessboard{privateString[][]init;staticfinalintBOARD_SIZE=22;publicvoidinitBoard(){//初始化棋盘,开始新的游戏时,应该调用此方法init=newString[15][15];for(inti=0;i<init.length;i++){for(intj=0;j<init[i].length;j++){init[i][j]="﹢";}}}publicvoidprintBoard(){//在控制台输出棋盘,各方每一完一颗棋子后,由于棋盘上棋子的状态有改变,//所以必须调用此方法重新输入棋盘for(String[]row:init){for(Stringstring:row){System.out.print(string);}System.out.println();}}publicvoidsetBoard(intposX,intposY,Stringchessman){//posX与posY是新下棋子的x与y坐标,,chessman是新下棋子的类型(黑子与白子),//每下完一颗棋子后,通过调用此方法把棋子设置到棋盘上。if(chessman.equals(Chessman.WHITE.getChessman())){init[posX][posY]=chessman;}else{init[posX][posY]=Chessman.BLACK.getChessman();}}publicString[][]getBoard(){//返回棋盘,返回类型是保存棋盘的二维数组returninit;}}//================类2========================publicenumChessman{BLACK("●"),WHITE("○");privateStringchessman;privateChessman(Stringchessman){this.chessman=chessman;}publicStringgetChessman(){returnthis.chessman;}}//=============类3===============================importjava.util.Random;importjava.util.Scanner;publicclassGobangGame{publicstaticfinalintWIN_COUNT=5;privateintposX=0,posY=0;privateChessboardchessboard;/**publicGobangGame(){**}*/publicGobangGame(Chessboardchessboard){this.chessboard=chessboard;}publicbooleanisVaild(StringinputStr){//此方法验证控制台的输入字符串是否合法,如果合法,返回true,//如果不合法,则返回false,此方法抛出Exception异常int[]p=newint[2];String[]pointStrings=inputStr.split(",");try{for(inti=0;i<pointStrings.length;i++){p[i]=Integer.parseInt(pointStrings[i])-1;}}catch(Exceptione){//TODOAuto-generatedcatchblockSystem.out.println("输入格式不合法,请重新输入!");returnfalse;}if((p[0]>=0&&p[0]<15)&&(p[1]>=0&&p[1]<15)){if(!chessboard.getBoard()[p[1]][p[0]].equals("﹢")){