Java编程实现五子棋人人对战代码示例

  

利用Java,在控制台操作下,编写的五子棋,作为复习二维数组,面向对象等基础知识.w表示白棋,b表示黑棋

  

癑ava编程实现五子棋人人对战代码示例"

        进口java.util.Scanner;      公开课MainMethod {      公共静态char [] [] c=new char [10] [10];      公共静态void main (String [] args) {   MainMethod MainMethod=new MainMethod ();   mainMethod.init ();   int我;   布尔颜色;   int[]点=new int [2];   扫描仪扫描仪=new扫描仪(系统);      (i=1;我& lt;100;我+ +){   mainMethod.draw();//绘制棋盘   System.out.println(“请输入坐标,范围为(0,0)到(9,9)");   int x=scanner.nextInt ();   int y=scanner.nextInt ();   如果(我% 2==1)   颜色=true;   其他的   颜色=false;   点[0]=x;   点[1]=y;   如果(mainMethod。油漆(点、颜色)==false) {//System.out.println(“下的位置不合理,请重新开始”);   打破;   }   如果(mainMethod.win ()==1) {   mainMethod.draw ();   System.out.println(“恭喜白棋赢! !”);   打破;   }else if (mainMethod.win ()==1) {   mainMethod.draw ();   System.out.println(“恭喜黑棋赢! !”);   打破;   }      }      如果(i==100)   System.out.println(“平局”);      }      公共char [] [] init(){//初始化棋盘   for (int i=0;我& lt;c.length;我+ +){   for (int j=0;j & lt;c.length;j + +) {   [我]c [j]=?”;   }   }   返回c;   }      公共布尔涂料(int[],布尔colr){//判断下的位置是否正确,若正确改变棋盘   布尔b=true;   int x=点[0];   int y=点[1];      如果(内侧(点)==false | | c [x] [y]==' w ' | | c [x] [y]==' b ' | | x & lt;0){   b=false;   返回b;   }      else if (colr==true){//白棋下   如果(c [x] [y]==' + ') {   c [x] [y]=' w ';   }   }      else if (colr==false){//黑棋下   如果(c [x] [y]==' + ') {   c [x] [y]=' b ';   }   }   返回b;   }      公共布尔内侧(int[]点){//判断点是否在棋盘上   int x=点[0];   int y=点[1];   如果(x & lt;0 | | y & lt;0 | | x祝辞=c。长度| | y祝辞=c.length)   返回错误;   其他的   返回true;      }      公共int赢得(){//判断输赢,1表示白的赢,1黑的赢,0暂无输赢   int whoWin=0;      int[]点=new int [2];   外:尽管(真正的){   for (int i=0;我& lt;c.length;我+ +){   for (int j=0;j & lt;c.length;j + +) {      如果(c[我][j]==' w '){//遍历数组,找到的第一个白棋   点[0]=我;   点[1]=j + 4;      如果(内侧(点)){//如果存在向右数第4个的棋盘   如果(c[我][j + 1)==' w ',,c[我][j + 2]==' w ',,c[我][j + 3]==' w ',,[我]c [j + 4)==' w ') {   whoWin=1;   打破外;   }   }      点[0]=我+ 4;   点[1]=j + 4;      如果(内侧(点)){//如果存在向右,向下数4个的棋盘   如果(c (i + 1) (j + 1)==' w ',,c [i + 2] [j + 2]==' w ',,c [i + 3] [j + 3]==' w '   ,,c (i + 4] [j + 4)==' w ') {   whoWin=1;   打破外;   }   }      点[0]=我+ 4;   点[1]=j;      如果(内侧(点)){//如果存在向下数4个的棋盘   如果(c (i + 1) [j]==' w ',,c [i + 2] [j]==' w ',,c [i + 3] [j]==' w ',,c (i + 4] [j]==' w ') {   whoWin=1;   打破外;   }   }      点[0]=i - 4;   点[1]=j + 4;      如果(内侧(点)){//如果存在向左,向下数4个的棋盘   如果(c [i - 1] [j + 1)==' w ',,c [i - 2] [j + 2]==' w ',,c [i - 3] [j + 3]==' w '   ,,c (i - 4] [j + 4)==' w ') {   whoWin=1;   打破外;   }   }      }else if (c[我][j]==b) {   点[0]=我;   点[1]=j + 4;      如果(内侧(点)){//如果存在向右数第4个的棋盘   如果(c[我][j + 1)==b,,c[我][j + 2]==b,,c[我][j + 3]==b,,[我]c [j + 4)==b) {   whoWin=1;   打破外;   }   }      点[0]=我+ 4;   点[1]=j + 4;      如果(内侧(点)){//如果存在向右,向下数4个的棋盘   如果(c (i + 1) (j + 1)==b,,c [i + 2] [j + 2]==b,,c [i + 3] [j + 3]==' b '   ,,c (i + 4] [j + 4)==b) {   whoWin=1;   打破外;   }   }      点[0]=我+ 4;   点[1]=j;      如果(内侧(点)){//如果存在向下数4个的棋盘   如果(c (i + 1) [j]==b,,c [i + 2] [j]==b,,c [i + 3] [j]==b,,c (i + 4] [j]==b) {   whoWin=1;   打破外;   }   }      点[0]=i - 4;   点[1]=j + 4;      如果(内侧(点)){//如果存在向左,向下数4个的棋盘   如果(c [i - 1] [j + 1)==b,,c [i - 2] [j + 2]==b,,c [i - 3] [j + 3]==' b '   ,,c (i - 4] [j + 4)==b) {   whoWin=1;   打破外;   }   }      }      }   }   whoWin=0;   打破外;      }   返回whoWin;   }      公共空间画(){//绘制棋盘   for (int i=0;我& lt;c.length;我+ +){   for (int j=0;j & lt;c.length;j + +) {   system . out。打印(c[我][j] + " ");   }   System.out.println ();   }   }      }

Java编程实现五子棋人人对战代码示例