gpt4 book ai didi

java - 游戏开发 - 抽象技能/天赋系统实现

转载 作者:行者123 更新时间:2023-12-01 14:59:28 25 4
gpt4 key购买 nike

从 gamedev stackexchange ( original ) 重新发布,因为那里已经死了:

我制作小型 2D 游戏已经大约 3 年了(XNA 以及最近的 LWJGL/Slick2D)。我最新的想法是在实时游戏中涉及某种形式的“天赋树”系统。

我绞尽脑汁,却想不出一个可以容纳人才的结构。类似的东西

"Your melee attack is an instant kill if behind the target"

我想提出一个抽象对象,而不是将随机条件放入其他方法中。我以前解决过一些相对复杂的问题,但我什至不知道从哪里开始解决这个问题。

任何帮助将不胜感激 - Java、伪代码或一般概念都很棒。

最佳答案

您可以通过创建一组“可组合”技能对象来实现此目的,您可以将它们挂接到代码的正确部分。

类似于:

ninjaAttackSkill = new ModifiedAttack(originalAttack, 
new ConditionalHit(behindTargetCondition, new InstantKillHit()));

攻击技能对象可以有一个方法签名,如下所示:

public SomeResult attack(Thing attacker, Thing target);

然后您可以为每个可组合技能对象覆盖它。

我在我的小型 Roguelike 游戏中使用了类似的技术 Tyrant - 基本上有一个“脚本”对象,您可以对其进行子类化以实现所有类型的脚本功能。

关于java - 游戏开发 - 抽象技能/天赋系统实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13889243/

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