五子棋
/** * 五子棋需求分析(项目功能) * 1、展示棋盘(20*20) * 2、玩家(黑棋子)落入棋子(输入行,列) ,将指定的行和列覆盖棋盘 * 控制台的输入 行号,列号 * 验证用户的输入是否合法,并且是否为可落入棋子的位置**** * 3、电脑(白棋)落入棋子,随机生成 20以内的行和列 * 验证随机生成的数中 是否为可落入棋子的位置 ,如果不是继续生成随机数 直到是可落入位置停止 * 4、判断输赢 * 如何判断 * 5、循环 2,3,4步骤 * 6、结束 */ ``` static String [][]qipan=new String[20][20]; static Scanner sc=new Scanner(System.in); public static void main(String[] args) { //初始化期盼 for (int i=0;i //打印棋盘
printPan();
//判断输赢
if (judge()){
System.out.println(s+"赢了,游戏结束!!");
break;
}
}
}
/**
* 打印棋盘
*/
public static void printPan(){
for (int i=0;i<qipan.length;i++){
for (int j=0;j<qipan[i].length;j++){
System.out.print(qipan[i][j]);
}
System.out.println();
}
}
static String s="";//全局变量 用于表示某一方
public static boolean judge(){
boolean flag=false;
for (int i=0;i<qipan.length;i++){
for (int j=0;j<qipan[i].length;j++){
if (qipan[i][j]=="● "||qipan[i][j]=="○ "){
//判断右斜下方向
if (i<16&&j<16
&&qipan[i][j]==qipan[i+1][j+1]
&&qipan[i][j]==qipan[i+2][j+2]
&&qipan[i][j]==qipan[i+3][j+3]
&&qipan[i][j]==qipan[i+4][j+4]){
s=qipan[i][j];
flag=true;
break;
}else if (j<16&&
qipan[i][j]==qipan[i][j+1]&&
qipan[i][j]==qipan[i][j+2]&&
qipan[i][j]==qipan[i][j+3]&&
qipan[i][j]==qipan[i][j+4]){
//判断横向
s=qipan[i][j];
flag=true;
break;
}
else if (i<16&&j>4
&&qipan[i][j]==qipan[i+1][j-1]
&&qipan[i][j]==qipan[i+2][j-2]
&&qipan[i][j]==qipan[i+3][j-3]
&&qipan[i][j]==qipan[i+4][j-4]
){
//判断左斜下
s=qipan[i][j];
flag=true;
break;
}
else if(i>4 &&qipan[i][j]==qipan[i-1][j]
&&qipan[i][j]==qipan[i-2][j]
&&qipan[i][j]==qipan[i-3][j]
&&qipan[i][j]==qipan[i-4][j]
){
//判断向上
s=qipan[i][j];
flag=true;
break;
}
}
}
}
return flag;
}
}
最简单样式,后续会组件优化 不喜勿碰,喜欢的点个赞,点个关注,谢谢