检查一个数组的所有元素是否与另一个数组的所有元素具有相同的值

时间:2013-12-15 20:19:16

标签: java arrays algorithm swing

我正在尝试用Java编写一个小游戏,摇摆不定,我无法找到解决问题的好方法。我有两个数组,第一个是Crate对象

public class Crate {
private static ImageIcon crate = new ImageIcon(Player.class.getResource("/Images/crate.jpg"));
private int x=0;
private int y=0;
private static int Xdisplacement;
private static int Ydisplacement;
private int id;
//getters and setters n stuff

第二个是Tile对象。

public class Tile {
private static ImageIcon tile = new ImageIcon(Player.class.getResource("/Images/tile.jpg"));
private int x=0;
private int y=0;
private boolean hasBox=false;
//getters and setters n stuff

我想检查是否所有Crate都放在Tiles上。我的意思是哪个盒子在哪个瓷砖上,几个盒子,几个瓷砖,并且每个盒子应该放在一个瓷砖上,无论哪个盒子放在哪个瓷砖上都无关紧要。在游戏中,玩家走动并移动板条箱,因此他们的坐标会改变。瓷砖电线不会改变(如果有帮助的话)。这将是我的停止条件。当板条箱放置在瓷砖上时,游戏结束了。 我想在另一个循环中进行循环,然后检查每个单个对象的每个字段都不是一个好的解决方案?那么还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

完整的设计超出了StackOverflow的范围,但您可能希望使用model-view-controller模式,如图here所示。答案包括一个非常简单的示例游戏,并引用一个更复杂的游戏,涉及平铺网格上的玩家。

附录:在移动后检查网格占用者的特定情况下,引用的示例使用嵌套循环来检查方法RCModel#moveBots()中的副本的当前状态。