繁体   English   中英

在Android Studio中需要帮助

[英]Need help in Android Studio

我刚开始学习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:标记)分配给游戏布局中使用的所有9个imageView。 标签已转换为字符串,并分配了一个整数值。 这些标签被命名为int tappedCounter

这是奇怪的地方:

然后,讲师编写了一个if命令,将标记与gameState进行比较。 代码是:

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-是空单元格的状态。 玩家1标记的单元0状态; 1-标记为玩家2的单元的状态。因此,此代码在每次选择单元时都会执行以下操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM