我正在设计棋盘游戏风格的移动 RPG,并且对如何构建对象有疑问。由于这是概念性的,请选择您想要的任何语言来回答,尽管我主要使用 Javascript/JQuery/PHP 进行编程。
假设如下:
- The mobile application has a Game() class
- The Game() has one Player() and one Dungeon()
- The Dungeon() has many DungeonRooms()
- A DungeonRoom() has many DungeonCards()
- A DungeonCard() has many DungeonCardActions() *1
- A DungeonCardAction() has an onClick() event
- An onClick() event can be designed to harm the Player()'s health. // e.g. "Put hand in Fire"
[1] 注意:当您点击一张卡片时,会显示卡片特定的操作
我的问题是,伤害玩家健康的合理方式是什么?我确定不是:
function onClick()
{
parent.parent.parent.parent.player.health -= 10;
}
这假设存在严格的对象层次结构并且深度的顺序从未改变。
是不是 Game() 对象总是通过引用传递给每个新对象的构造函数,所以任何对象都可以完全访问其他对象的整个宇宙?