首页 > 试题广场 >

我们玩 wow 的时,经常会被宏大的世界观和丰富精彩的剧情所

[问答题]

我们玩 wow 的时,经常会被宏大的世界观和丰富精彩的剧情所吸引,而这些都是通过任务系统来引导和推进的。任务系统在一个游戏中是至关重要。如果现在让你设计一个任务系统,你会怎么做,简单说说你的设计思路。

核心提示:

1) 任务分为可接,已接,可完成,交付 4 个状态,每个状态都有对应的条件

2) 杀死一个怪或者其它事件都可能会引起任务状态的改变

3) 任务是一个不断变化的功能,我们的设计需要有良好的扩展性以满足策划同学不断变化的强大想象力

作者:莫昊
链接:https://www.nowcoder.com/discuss/54609?toCommentId=979235
来源:牛客网
1、定义一个接口,接口里面有任务的状态,任务类型等虚函数
2、定义一个任务基类,继承接口并实现计数功能(比如杀了多少怪)。
3、玩家杀怪时,向任务类发送消息(包括任务Id,杀怪信息),每个任务都有相应的监听。当任务收到消息就可以统计了。统计之后根据任务的完成情况修改任务的状态
发表于 2017-10-14 18:19:54 回复(0)
1)状态模式
2)任务面板作为“观察者”,监听所有事件以及怪物。
3)应该是封装吧,先做一个任务基类,之后所有的新任务都从其中派生。
发表于 2017-03-10 22:24:09 回复(0)