我的节目快速概述:我正在制作游戏战争。因此,当点击播放按钮时,两张新卡会显示随机值。哪个卡的值越高,窗口中间会出现一个矩形。随着游戏的进行,谁赢得了更多的矩形被推到他们的一边(向左或向右取决于哪张牌获胜),但诀窍是,如果例如左边的牌赢得前三张,那么右边的牌赢1,删除一个矩形,意味着只有2个向左移动。如果权利再次获胜,则另一个被删除,等等。 矩形是在一个名为Bar的单独类中创建的,这就是我必须创建一个带有向左边的矩形的数组。
Bar newBar = new Bar(300,250);
counter = d++;
newBar = new Bar(300-(counter*30), 250);
if(numDi >= bars.length){ //You want it to always be higher
Bar[] temp = new Bar[bars.length +1];
for(int i = 0; i < bars.length; i++){
temp[i] = bars[i];
}
bars = temp; //increments bars by 1
}
bars[numDi++] = newBar;
&#13;
我的想法是我可以创建一个if语句来检查谁赢了以及谁赢了最后一场比赛。如果对方球员赢了最后一场比赛,我需要减去一个矩形。 但是我该如何减去矩形呢? 作为附注,我不能使用任何类型的列表。
答案 0 :(得分:0)
您可以使用单个整数计数器。当右侧赢得增加1并且当左侧赢得减1时,这样你可以轻松地测试最近赢得的if语句并根据谁获胜来控制发生的事情。
如果你不能使用列表或队列,那么我建议使用两个独立的阵列,一个用于左侧,一个用于右侧。您可以根据总分数计数器递增和递减它们。