Visual Basicでこれを正常に実行しましたが、Javaでこれを実行する簡単な方法があるかどうかを知りたいだけです。
基本クラスコレクションから派生クラスを反復処理するForループが必要です。
public class Game{
private Collection<GameEntity> entities;
// Methods would go here to control GameEntity's
private abstract class GameEntity{
protected Game owner; //Defines which instance Game owns this Entity
public GameEntity(Game owner) {
this.owner=owner;
}
public abstract void tick();
}
private class Partical extends GameEntity{
public Partical(Game owner) {
super(owner);
}
public void tick(){
for (Partical p : owner.entities) { //HERE IS MY PROBLEM
if(p != this){ //Don't do physics with itself
}
}
}
}
}
さて、ここにGameEntityのコレクションを持つGameクラスがありますが、GameEntityはひどくBaseクラスです。
ParticalはGameEntityクラスから派生しています。
forループで実行したいのは、GameEntityのコレクションを反復処理し、コレクションからすべてのParticalクラスを選択することです。
私の問題は、「互換性のないタイプ」エラーが発生することです。私はそれらが異なるタイプであることを理解しています。