gpt4 book ai didi

design-patterns - 为这组对象寻找一个好的设计模式

转载 作者:行者123 更新时间:2023-12-04 06:43:31 25 4
gpt4 key购买 nike

我最初问的是this question在programmers.stackexchange.com 上,因为我认为答案对于stackoverflow 来说太主观了。然而,在评论Muad'Dib指出了这一点:

this would probably be a better fit for StackOverflow ... This is a direct programming problem-related question and discusses programming solutions. One solution may be equal to another where the choice between them is subjective, but the discussion of the overall problem itself is not as some solutions are clearly not applicable. So this question does have one or a few good answers, whereas questions such as "Which is the best text editor?" does not...



因此,在对情况进行了更多思考后(并查看了一些似乎不合适的模式),这是我的困境:

设置

我正在设计一个简单的战斗策略游戏。
  • 两个战斗人员在一定时间内互相攻击。
  • 获胜者是时间结束后健康最多的人。
  • 在战斗过程中,玩家没有直接干预。玩家在战斗前为他们的战斗员定义一些策略,“AI”(松散使用的术语)决定了战斗员将做什么。
  • 战斗由一个“滴答”秒的任意计时器组成,战斗人员的攻击速度(除其他外)决定了他们做某事的频率。
  • 除了战斗对象之外,还有一个“天气”对象可以对战斗人员的能力产生一些随机的环境影响。
  • 整个过程只是每秒循环,确定并执行环境影响和攻击,所有这些都被记录下来,然后将日志作为逐个播放显示给用户。

  • 问题

    我不确定哪种设计模式最适合我完成上述工作。我正在寻找一种模式,可以让我增加“战斗”的复杂性。可能是通过在战斗中添加更多对象(更多战斗人员,可能是一个新的环境对象等)

    起初我认为观察者模式会起作用。我会有一个代表“被观察者/主体”的战斗对象。它跟踪一个计时器,随着计时器的增加,它会更新所有参与的观察者对象。但是,很多防御方战斗人员的参数会影响攻击方战斗人员的行动,因此该场景中的“观察者”需要相互了解,因此我不确定这是否是正确的方法。

    最后,我并不是要完美地确定设计模式。也许没有“最适合”。我只是在寻找一个坚实的基础。

    最佳答案

    如果您真的想在这里使用模式,我会考虑使用命令模式。
    例如,您可以只在一段时间内排列一串命令“战斗 Action ”来执行。您还可以根据对手的 Action 轻松而通用地轻松取消命令。在开发游戏的过程中,您可以轻松地为此添加 Action /策略。

    但这不是整个游戏的模式,它更像是一个方面的解决方案。

    关于design-patterns - 为这组对象寻找一个好的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3953809/

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