正如标题所说。我正在上安卓工作室的课程,我在关注这家伙教给我的一切,但当我按下PlayArea按钮时,它就关闭了应用程序。任何帮助都将是惊人的。
public class MainActivity extends AppCompatActivity {
int activePlayer = 0;
int[] gameState = {2,2,2,2,2,2,2,2,2};
int[][] winningNumbers = {{0,1,2},{3,4,5},{6,7,8},{0,3,6},{1,4,7},{2,5,8},{0,4,8},{2,4,6}};
boolean gameActive = true;
public void dropIn(View view) {
ImageView counter = (ImageView) view;
int counterTap = Integer.parseInt(counter.getTag().toString());
if (gameState[counterTap] == 2 && gameActive) {
gameState[counterTap] = activePlayer;
counter.setTranslationY(-1500);
if (activePlayer == 0) {
counter.setImageResource(R.drawable.o5);
activePlayer = 1;
} else {
counter.setImageResource(R.drawable.x);
activePlayer = 0;
}
counter.animate().translationYBy(1500).rotation(720).setDuration(1000);
}
for (int[] winningNumber : winningNumbers){
if (gameState[winningNumber[0]] == gameState[winningNumber[1]] && gameState[winningNumber[1]] == gameState[winningNumber[2]] && gameState[winningNumber[2]] !=2){
gameActive = false;
Button button = (Button)findViewById(R.id.button);
button.setVisibility(View.VISIBLE);
TextView winnerText = (TextView)findViewById(R.id.textView);
winnerText.setVisibility(View.VISIBLE);
String message;
if (activePlayer == 0){
winnerText.setText("X WINS!");
} if (activePlayer == 1){
winnerText.setText("O WINS!");
}
}
}
}
public void playAgain(View view){
Button button = (Button)findViewById(R.id.button);
button.setVisibility(View.INVISIBLE);
TextView winnerText = (TextView)findViewById(R.id.textView);
winnerText.setVisibility(View.INVISIBLE);
GridLayout gridView = (GridLayout)findViewById(R.id.boardView);
for(int i = 0; i < gridView.getChildCount(); i++) {
ImageView counter = (ImageView) gridView.getChildAt(i);
counter.setImageDrawable(null);
}
for (int i = 0 ; i<gameState.length ; i++){
gameState[i] = 2;
}
gameActive = true;
activePlayer = 0;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
我不确定我做错了什么,因为我经历过,并确保我所有的代码都符合我所学到的。
暂无答案!
目前还没有任何答案,快来回答吧!