所以我终于开始学习高效的编程(曾经使用一个类来做所有事情),而我正在制作的这个新游戏到目前为止有以下类:
- 游戏驱动
- 地图
- 堵塞
- 播放器
到目前为止,Map 创建了一个 Block 对象的 ArrayList,GameDriver 创建了一个 Map 对象和一个 Player 对象,现在这一切都运行得非常好。但是现在我遇到了一个问题。
我向 Player 添加了一个名为 checkLand() 的方法,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 方法吗?我想知道最好的方法:)