我有2d整数数组(ixj)被模拟为海洋的细胞。
我是宽度,j是高度。
private int[][] ocean = new int[j][i];
我会通过指定这样的整数来放置鲨鱼和鱼。
public final static int EMPTY = 0;
public final static int SHARK = 1;
public final static int FISH = 2;
15%的细胞充满了鲨鱼。
50%的细胞充满了鱼。
但我还想保持饥饿程度的鲨鱼。
任何鲨鱼的饥饿程度都是1或2或3值。
那么,我应该用什么额外的数据结构来维持饥饿等级信息。
假设,我只知道数组和链表。
答案 0 :(得分:3)
使用java,您应该尝试使用面向对象的设计模型。
您可以定义抽象类Fish
以及子类Shark
和Herring
,以便Shark
可以拥有属性hungerLevel
和方法feed()
然后,您可以将您的海洋信息保存在Fish
:Fish[][]
的二维数组中。
但是,由于您的海洋可能还有其他责任,我认为还应该有一个Ocean
- 类来包含数组和一些其他信息。