だから私はついに効率的なプログラミングを学び始めました(すべてに1つのクラスを使用するために使用されます)、そして私が作っているこの新しいゲームにはこれまでに次のクラスがあります:
- GameDriver
- 地図
- ブロック
- プレーヤー
そして今のところ、MapはBlockオブジェクトのArrayListを作成し、GameDriverはMapオブジェクトとPlayerオブジェクトを作成します。これで、すべてが完全に正常に機能しています。しかし今、私は問題に遭遇しました。
checkLand()というメソッドをPlayerに追加し、GameDriverがそのメソッドを呼び出して、プレーヤーが特定の場所を踏むことができるかどうかを確認しますが、このメソッドで確認するには、GameDriverが使用しているマップオブジェクトにアクセスする必要があります。だから私はこれを試しました:
public class Player(){
GameDriver gameDriver = new GameDriver();
...more declarations
public boolean checkLand(int xCord, int yCord){
if (gameDriver.map.world.get(gameDriver.map.getByCords(xCord,yCord)).type == 1) {
return false;
} else {
return true;
}
}
しかし、明らかにそれは機能しませんが、私が何をしたいのかを理解できるように、皆さんに見せたかったのですが、GameDriverにcheckLandメソッドがあればいいのでしょうか?最善の方法を知りたいです:)