繁体   English   中英

向2D数组中的每个对象添加数字

[英]Add number to each object in 2d array

这些对象都有一个称为number的属性,我现在想向2d数组中的每个对象添加一个从0到99的数字。

因此tile [0] [0]的编号为0,tiles [9] [9]的编号为99。tile [3] [0]的编号应为2。

我尝试将其放在这样的嵌套for循环中:

for(int x = 0; x < mapWidth; x++)
        {
            for(int y = 0; y < mapHeight; y++)
            {
                for(int i = 0; i <100; i++){                        
                tiles[x][y].nummer(i);                    
                }
            }    
        }

但是这个数字总是99吗? 它不是0到99

我该如何在for循环中执行此操作?

所以我的问题是:我怎样才能使瓷砖的数字从0到99?

这是因为您正在运行一个循环,在每个图块上将数字设置为099 ,所以最终到处都是99

相反,您应该执行以下操作:

for(int i = 0 ; i < 100 ; i++) {
        tiles[i%10][i/10] = i;
}

您也可以使用变量来保持计数器

int num = 0;
for (int y = 0; y < mapHeight; y++) {
 for (int x = 0; x < mapWidth; x++) {
  tiles[x][y].nummer(num);
  num++;
 }
}
int counter = 0;
for(int y = 0; y < mapHeight; y++)
        {
            for(int x = 0; x < mapWidth; x++)
            {                      
                tiles[x][y].number(counter);
                counter++;                    
            }    
        }

暂无
暂无

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

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