我不知道该如何描述我的问题,但我想使这段代码更短。与其分别创建每个砖块,不如如何创建一个为我创建砖块的算法?(使用for循环之类的方法?)
这是我的代码的一部分:
bricks[1] = new GameObject(20, 90, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
bricks[2] = new GameObject(60, 90, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
bricks[3] = new GameObject(100, 90, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
bricks[4] = new GameObject(140, 90, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
bricks[5] = new GameObject(180, 90, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
bricks[6] = new GameObject(220, 90, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
因此,前两个值可以表示为:x = 20; y = 90;
每次x应当增加40,而y应该仅在x为540时增加60
y递增后,x应该重置为20
最多42块砖
我该怎么写?
感谢您的任何帮助 :)
将代码循环放入并增加(x?)值:
int xCounter = 20;
int yCounter = 90;
for (int i = 0; i < 42; i++) {
// Increment y
if (x == 540) {
yCounter += 60;
xCounter = 0;
}
bricks[i] = new GameObject(xCounter, yCounter, BRICK_HEIGHT, BRICK_WIDTH, Colour.BLUE);
// Increment x
xCounter += 20;
}
编辑:更新了逻辑;没有看到额外的要求。这里的技巧是检查x何时等于540,并增加y计数器并相应地重置x计数器。
注意,我们使用循环的当前索引(变量“ i”)在迭代42次(bricks [i] = ...)时动态地填充数组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句