gpt4 book ai didi

java - touchlistener 代码错误 - Android

转载 作者:行者123 更新时间:2023-12-02 07:11:44 25 4
gpt4 key购买 nike

我是 Android 新手,在遵循在线教程后,我在使用 TicTacToe 游戏的 touchListener 代码块时遇到了问题。

我不断收到的错误是:

对于参数类型 boolean、void,运算符 && 未定义

以下代码位于MainActivity.java中。我在下面用星号突出显示的行上收到此错误:

    // Listen for touches on the board
private OnTouchListener mTouchListener = new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// Determine which cell was touched
int col = (int) event.getX() / mBoardView.getBoardCellWidth();
int row = (int) event.getY() / mBoardView.getBoardCellHeight();
int pos = row * 3 + col;
if (!mGameOver && setMove(TicTacToeGame.HUMAN_PLAYER, pos)) { //*****************


// If no winner yet, let the computer make a move
int winner = mGame.checkForWinner();
if (winner == 0) {
mInfoTextView.setText(R.string.turn_computer);

setMove(TicTacToeGame.COMPUTER_PLAYER, pos);
winner = mGame.checkForWinner();
}

}
return false;
}
};

我认为这是因为 TicTacToeGame.java 中的 setMove() 无效:

public void setMove(char player, int location) {
if (location >= 0 && location < BOARD_SIZE &&
mBoard[location] == OPEN_SPOT) {
mBoard[location] = player;

}

}

我严格按照教程进行操作http://www.harding.edu/fmccown/classes/comp475-s10/tic-tac-toe-graphics.pdf

如果有任何帮助,我将非常感激。

非常感谢,

贝丝·安

最佳答案

在您链接到的 PDF 中,setMove() 具有 boolean 返回类型(第 5 页,顶部):

private boolean setMove(char player, int location) { 
if (mGame.setMove(player, location)) {
mBoardView.invalidate(); // Redraw the board
if (player == TicTacToeGame.HUMAN_PLAYER)
mHumanMediaPlayer.start();
else
mComputerMediaPlayer.start();
return true;
}
return false;
}

关于java - touchlistener 代码错误 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15419691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com