gpt4 book ai didi

Java游戏对象设计

转载 作者:行者123 更新时间:2023-11-30 07:31:34 25 4
gpt4 key购买 nike

所以我在简单的 RTS 设计上遇到了麻烦。

基本上我想要一个模型和一个 Controller ,人们可以在其中编写他们自己的 AI 来玩游戏,所以我需要某种形式的界面位于模型和 Controller 之间,允许玩家无需控制他们的单位能够在单位中“设置”事物,例如单位统计数据。

所以我想减少代码重用,我会使用层次结构来创建一个在 OO 中做不同事情的单元:

Player Owned Object -> Object with Stats (health, attack) -> 可以攻击的物体 -> 可以移动的物体 -> 单位

所以一个单位是一个对象:是玩家拥有的,有统计数据,可以攻击,可以移动

我的问题是:如何创建某种形式的接口(interface)来处理所有这些继承?这样,如果对象继承了“Object with Stats”以及单元的其他“属性”,则接口(interface)会返回统计信息。这种继承有可能吗?或者我应该用不同的方式来做这件事吗?

我希望这是有道理的!谢谢

最佳答案

我认为层次结构不是您所需要的。

设置 Objects With Stats 的方式继承自 Objects that can Attack。这意味着每个具有统计数据的对象都可以攻击 - 这是你的意思吗?一个纯粹的防御对象呢?

我认为相反,您拥有许多功能接口(interface),并且某些对象实现了其中的某些功能,因此:

 Monster implements Attacker, Mover, StatProvider, HurtReceiver

TreasureChest implements Attacker, StatProvider, Movable, HurtReceiver

Map implements Movable

关于Java游戏对象设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7267432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com