用Java删除数组中的最后一个对象?

时间:2014-10-29 23:13:17

标签: java arrays graphics

我的节目快速概述:我正在制作游戏战争。因此,当点击播放按钮时,两张新卡会显示随机值。哪个卡的值越高,窗口中间会出现一个矩形。随着游戏的进行,谁赢得了更多的矩形被推到他们的一边(向左或向右取决于哪张牌获胜),但诀窍是,如果例如左边的牌赢得前三张,那么右边的牌赢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;
&#13;
&#13;

我的想法是我可以创建一个if语句来检查谁赢了以及谁赢了最后一场比赛。如果对方球员赢了最后一场比赛,我需要减去一个矩形。 但是我该如何减去矩形呢? 作为附注,我不能使用任何类型的列表。

1 个答案:

答案 0 :(得分:0)

您可以使用单个整数计数器。当右侧赢得增加1并且当左侧赢得减1时,这样你可以轻松地测试最近赢得的if语句并根据谁获胜来控制发生的事情。

如果你不能使用列表或队列,那么我建议使用两个独立的阵列,一个用于左侧,一个用于右侧。您可以根据总分数计数器递增和递减它们。