android java类中增强的for循环2d数组
**大家好,我正在尝试学习如何在android中构建应用程序和小游戏。有人能解释一下增强for循环在这种情况下是如何工作的,以及增强for循环中的if语句是如何检查获胜者的吗?代码来自一个红色和黄色圆圈的井字游戏。抱歉,如果问题已经被问到。**android java类中增强的for循环2d数组,java,android,Java,Android,**大家好,我正在尝试学习如何在android中构建应用程序和小游戏。有人能解释一下增强for循环在这种情况下是如何工作的,以及增强for循环中的if语句是如何检查获胜者的吗?代码来自一个红色和黄色圆圈的井字游戏。抱歉,如果问题已经被问到。** // 0= yellow player; 1 = red player; int activePlayer=0; boolean gameIsActive = true; //2 means unplayed int[] gameState = {
// 0= yellow player; 1 = red player;
int activePlayer=0;
boolean gameIsActive = true;
//2 means unplayed
int[] gameState = {2,2,2,2,2,2,2,2,2};
int[][] winningPositions= {{0,1,2}, {3,4,5}, {6,7,8}, {0,3,6}, {1,4,7},{2,6,8}, {0,4,8}, {2,4,6}};
public void dropIn(View view) {
ImageView counter = (ImageView) view;
int tappedCounter = Integer.parseInt(counter.getTag().toString());
if (gameState[tappedCounter] == 2 && gameIsActive) {
gameState[tappedCounter]=activePlayer;
counter.setTranslationY(-1000f);
if (activePlayer == 0) {
counter.setImageResource(R.drawable.yellow);
activePlayer = 1;
} else {
counter.setImageResource(R.drawable.red);
activePlayer = 0;
}
counter.animate().translationYBy(1000f).setDuration(300);
for (int[] winningPositon : winningPositions){
if (gameState[winningPositon[0]]== gameState[winningPositon[1]]&& gameState[winningPositon[1]]==gameState[winningPositon[2]]
&& gameState[winningPositon[0]]!=2){
//someone has won
....
增强循环只不过是普通for循环的一种更简单的for。 下为循环
for (int i = 0; i < myArray.length; i++) {
System.out.println(myArray[i]);
}
就你而言
for (int[] winningPositon : winningPositions){
if (gameState[winningPositon[0]]== gameState[winningPositon[1]]&& gameState[winningPositon[1]]==gameState[winningPositon[2]]
&& gameState[winningPositon[0]]!=2){
“winningPositon”是一个2D数组,因此如果在其元素上迭代,每次迭代都会得到一个一维数组(“winningPosition”),其余就是游戏逻辑
安基特
for (int[] winningPositon : winningPositions){
if (gameState[winningPositon[0]]== gameState[winningPositon[1]]&& gameState[winningPositon[1]]==gameState[winningPositon[2]]
&& gameState[winningPositon[0]]!=2){