下面的程序,如果直接把xPos和yPos传入gobang.isWin()中,在isWin检测所传入的值,总是和外面的xPos yPos不一样
但是我 这样写int myX = xPos;int myY = yPos;把myX和myY传进去就是正确的,这是为什么啊?
int xPos = Integer.parseInt(position[0]);
int yPos = Integer.parseInt(position[1]);
if(gobang.isPut(xPos,yPos))
{
//选手落子
gobang.board[yPos - 1][xPos - 1] = GoBang.BLACK;
}else
{
System.out.println("所输入坐标上已经有棋子,请重新输入!");
continue;
}
//判断是否赢得棋局
int myX = xPos;
int myY = yPos;
if(gobang.isWin(myX,myY,GoBang.BLACK))
{
gobang.printBoard();
System.out.println("恭喜!你赢了!!");
Thread.sleep(5000);
Runtime.getRuntime().exit(0);
}
|
|