Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio需要帮助吗_Java_Android - Fatal编程技术网

Java Android Studio需要帮助吗

Java Android Studio需要帮助吗,java,android,Java,Android,我是学习Android的新手,我正在向Udemy学习 我目前正在学习的讲座没有解释清楚,我想得到一些帮助。在本次讲座中,讲师正在教授创建一个名为connect 3的游戏,该游戏类似于Tic Tac Toe。我对这个讲座有很多问题 问题1:为了初始化两名玩家,教练首先在开始时创建一个值为o的整数。代码是 int activePlayer = 0 玩家的逻辑被写为: if (activePlayer == 0) { // change background image as red(Thi

我是学习Android的新手,我正在向Udemy学习

我目前正在学习的讲座没有解释清楚,我想得到一些帮助。在本次讲座中,讲师正在教授创建一个名为connect 3的游戏,该游戏类似于Tic Tac Toe。我对这个讲座有很多问题

问题1:为了初始化两名玩家,教练首先在开始时创建一个值为o的整数。代码是

int activePlayer = 0
玩家的逻辑被写为:

if (activePlayer == 0) {
    // change background image as red(This is not the real code);
    activePlayer = 1;
}
我不明白,如果整数最初取的是一个固定值,怎么能不经过任何计算就改成另一个呢

问题2:接下来,讲师将向我们展示一种管理游戏状态的方法,即最初单击两次会将connect 3框从黄色更改为红色,反之亦然。讲师通过获取整数数组来停止此操作:

int [] gameState = {2, 2, 2, 2, 2, 2, 2, 2, 2};
创建阵列后,讲师将标签(android:tag)分配给游戏布局中使用的所有9个图像视图。标记已转换为字符串并指定了整数值。这些标签被命名为int-tappedCounter

这就是它变得奇怪的地方:

然后,讲师编写了一个if命令,将标签与游戏状态进行比较。代码是:

if (gameState[tappedCounter] == 2 {
    gameState[tappedCounter] = activePlayer;

    if (activePlayer == 0) {
        // change background image as red(This is not the real code);
        activePlayer = 1;
    } else {
        //set backgroung image to blue;
        activePlayer = 0;
}
有人能把这些解释得更清楚一点吗

我不明白,如果整数最初取的是一个固定的值,怎么能不经过任何计算就改成另一个呢

您可以为int变量指定不同的值,无论它是计算结果还是常量

好像是密码

if(activePlayer==0){
   activePlayer = 1;} 
只需切换回合,即如果当前回合由玩家1完成,则切换到玩家2,如果回合由玩家2完成,则切换到玩家1

if( gameState[tappedCounter] == 2){
    gameState[tappedCounter] = activePlayer;
    if(activePlayer==0){
         activePlayer = 1;}
    else{
        activePlayer =0;
    }
}
状态数组描述游戏中每个单元格的状态。似乎2-是空单元格的状态。0-玩家1标记的单元格状态;1-标记为玩家2的单元格状态。因此,此代码在每个单元格选择上执行以下操作:

  • 检查单元格是否为空(状态==2)
  • 用当前播放机的标记(0或1)标记单元格
  • 切换播放机(0到1,反之亦然)

嗯,谢谢,第一次来。不用担心,这是一个非常好的问题,第一次来。大多数情况更糟…谢谢你,这让我头脑清醒了。但我仍然没有完全的信心,相信我自己也能做到。你知道我可以用其他方法更清楚地巩固这个概念吗。再次感谢您的时间。更多的是关于经验,尝试阅读更多关于算法的内容,解决一些任务,例如关于hackerrank的问题