java判断五子棋输赢_JAVA判断五子棋输赢 | 学步园

这是一个Java程序,用于判断五子棋棋盘上是否存在连续五个相同颜色的棋子,即判断是否获胜。程序通过遍历棋盘并检查不同方向的连续棋子来完成这一任务。
摘要由CSDN通过智能技术生成

采用简单的

1342543062_9759.png

public class Test {

static int[][] qipan = new int[15][15];

public static void main(String[] args) {

qipan[1][1] = 2;

qipan[2][2] = 2;

qipan[3][3] = 2;

qipan[4][4] = 2;

qipan[5][5] = 2;

System.out.println(isWin(qipan,2));

}

/**

* 判断五子棋棋盘数组是否存在连5

* @param qipan 棋盘数组,int类型,默认值为0

* @param color 棋子颜色,int类型,1为黑,2为白

* @return 如果存在连5,则返回True

*/

public static boolean isWin(int[][] qipan,int color){

boolean colsWcoln = false;

int colors = (int) Math.pow(color, 5);

for(int row = 0;row<15;row++){

for(int col=0;col<15;col++){

//第一种

if(row<=10 && col<4){

//int x = qcolpan[col][row]*qcolpan[col][row]*qcolpan[col][row]*qcolpan[col][row]*qcolpan[col][row]//→

int x = qipan[col][row]*qipan[col+1][row]*qipan[col+2][row]*qipan[col+3][row]*qipan[col+4][row];//→

int y = qipan[col][row]*qipan[col+1][row+1]*qipan[col+2][row+2]*qipan[col+3][row+3]*qipan[col+4][row+4]; //→

int z = qipan[col][row]*qipan[col][row+1]*qipan[col][row+2]*qipan[col][row+3]*qipan[col][row+4]; //→

if(x == colors || y == colors || z == colors){

colsWcoln = true;

}

}

//第二种

if(row<=10 && col>=4 && col<=10 ){

int x = qipan[col][row]*qipan[col+1][row]*qipan[col+2][row]*qipan[col+3][row]*qipan[col+4][row];//→

int y = qipan[col][row]*qipan[col+1][row+1]*qipan[col+2][row+2]*qipan[col+3][row+3]*qipan[col+4][row+4]; //→

int z = qipan[col][row]*qipan[col][row+1]*qipan[col][row+2]*qipan[col][row+3]*qipan[col][row+4]; //→

int m = qipan[col][row]*qipan[col-1][row]*qipan[col-2][row]*qipan[col-3][row]*qipan[col-4][row];//→

int n = qipan[col][row]*qipan[col-1][row+1]*qipan[col-2][row+2]*qipan[col-3][row+3]*qipan[col-4][row+4];//→

if(x == colors || y == colors || z == colors || m == colors || n == colors){

colsWcoln = true;

}

}

//第三种

if(row<=10 && col>10 ){

int z = qipan[col][row]*qipan[col][row+1]*qipan[col][row+2]*qipan[col][row+3]*qipan[col][row+4]; //→

int m = qipan[col][row]*qipan[col-1][row]*qipan[col-2][row]*qipan[col-3][row]*qipan[col-4][row];//→

int n = qipan[col][row]*qipan[col-1][row+1]*qipan[col-2][row+2]*qipan[col-3][row+3]*qipan[col-4][row+4];//→

if( z == colors || m == colors || n==colors){

colsWcoln = true;

}

}

//第四种

if(row>10 && col<4){

int x = qipan[col][row]*qipan[col+1][row]*qipan[col+2][row]*qipan[col+3][row]*qipan[col+4][row];//→

if(x == colors){

colsWcoln = true;

}

}

//第五种

if(row>10 && col>=4 && col<=10){

int x = qipan[col][row]*qipan[col+1][row]*qipan[col+2][row]*qipan[col+3][row]*qipan[col+4][row];//→

int m = qipan[col][row]*qipan[col-1][row]*qipan[col-2][row]*qipan[col-3][row]*qipan[col-4][row];//→

if(x == colors || m == colors)

{

colsWcoln = true;

}

}

//第六种

if(row>10 && col>10)

{

int m = qipan[col][row]*qipan[col-1][row]*qipan[col-2][row]*qipan[col-3][row]*qipan[col-4][row];//→

if(m == colors ){

colsWcoln = true;

}

}

}

}

return colsWcoln;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值