java 判断5个数连续_java五子棋判断五子连续

本文介绍了一个Java代码示例,用于检查五子棋游戏中是否存在连续五个棋子。通过检查竖直方向的棋子,代码使用两个循环分别向上和向下遍历,计算相同颜色的棋子数量。在测试中,代码成功识别了连续的五个棋子,但可能存在边界条件或其他逻辑错误的讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以判断竖行为例我的代码如下publicbooleancheckCol(intwho,BoardCellstartCell){intstartX=startCell.x;intcounter=1;startX++;while(board[startX][startCell.y]==who){counter++;st...

以判断竖行为例 我的代码如下

public boolean checkCol(int who, BoardCell startCell){

int startX = startCell.x;

int counter = 1;

startX++;

while(board[startX][startCell.y] == who){

counter++;

startX++;

if(startX == boardSize)

break;

}

startX = startCell.x;

startX--;

while(board[startX][startCell.y] == who){

counter++;

startX--;

if(startX == -1)

break;

}

System.out.println(counter);

return counter == COUNT;

}

之后我做了一个测试

b = new Board(10);

cell = new BoardCell();

cell.set(3, 2); b.addPiece(1, cell);

cell.set(4, 2); b.addPiece(1, cell);

cell.set(5, 2); b.addPiece(1, cell);

cell.set(6, 2); b.addPiece(1, cell);

cell.set(7, 2); b.addPiece(1, cell);

b.printBoard();

System.out.println(b.isFiveConnected(1, cell) ? "yes 5":"not 5");

cell.set(4, 2); b.addPiece(2, cell);

b.printBoard();

System.out.println(b.isFiveConnected(1, cell) ? "yes 5":"not 5");

输出结果为

0 1 2 3 4 5 6 7 8 9

0 . . . . . . . . . .

1 . . . . . . . . . .

2 . . . . . . . . . .

3 . . x . . . . . . .

4 . . x . . . . . . .

5 . . x . . . . . . .

6 . . x . . . . . . .

7 . . x . . . . . . .

8 . . . . . . . . . .

9 . . . . . . . . . .

1

5

yes 5

0 1 2 3 4 5 6 7 8 9

0 . . . . . . . . . .

1 . . . . . . . . . .

2 . . . . . . . . . .

3 . . x . . . . . . .

4 . . o . . . . . . .

5 . . x . . . . . . .

6 . . x . . . . . . .

7 . . x . . . . . . .

8 . . . . . . . . . .

9 . . . . . . . . . .

1

5

yes 5

求教这个逻辑有什么问题么?

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值