我将如何着手使用 PHP 为游戏实现库存系统?我一直在想办法让元素可以动态使用,而不是仅仅放在你的库存中,例如装备武器、使用药水、传送等。
我能想到的唯一解决方案是将 PHP 代码存储在数据库中,并在使用该项目时获取它,但这似乎并不合适。有没有更好的方法来实现它?
澄清一下:这是一个mmo网页游戏,每个玩家的库存需要在游戏中持续存在。如果要进行任何更改,每个项目(可能有数百个项目)都有一个类似乎很难维护。
最佳答案
除了按照建议实现“baseItem”类之外,您可能还需要考虑开发一个接口(interface)类来概述所有项目应具有的方法。然后,每种类型的项目都可以不同地实现这些方法。
例如,所有项目可能都需要有一个“equip()”方法,但根据项目的种类不同来实现它。您可能不需要为每个单独的项目创建一个类,但您可能应该创建能够根据您提供的某种数据结构(可以存储在数据库中)创建项目的唯一实例的类。
一个非常普遍的例子可能是:
class Leather_Armor extends Armor_Base implements Equippable
{
// these would probably be defined in the base class instead of here
protected $_itemName;
protected $_itemDescription;
protected $_defenseRating;
public function __construct(params)
{
// intialize properties with data from the db
}
// the Equippable interface requires us to define this function
public function equip()
{
// call a function from the base class
$this->recalculateDefenseRating($this->defenseRating)
}
}
您可能应该阅读有关接口(interface)和抽象类的内容以完全理解这个想法。
另外,请注意,这是一个非常宽泛的开放式问题,可以用一千种不同的方式来解决。您可能想问更具体的问题,或提供具体示例。
关于php - 如何为游戏实现库存系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1045976/