RPG 任务逻辑


故事

在这个练习中,你将为一位朋友正在开发的新 RPG 游戏实现任务逻辑。游戏的主角是 Annalyn,一个勇敢的女孩,有一只凶猛又忠诚的宠物狗。不幸的是,灾难突然降临:她最好的朋友在森林里寻找浆果时被绑架了。Annalyn 会设法找到并解救她最好的朋友,也可以选择带上她的狗一起踏上这段旅程。

沿着好朋友的踪迹搜寻了一段时间后,她找到了关押她好朋友的营地。原来有两个绑匪:一位强大的骑士和一个狡猾的弓箭手。

找到绑匪后,Annalyn 开始考虑自己可以采取以下哪些行动:

  • 快速攻击
  • 侦察
  • 向囚犯发信号
  • 释放囚犯

任务

以下是与 Annalyn 营救她最好的朋友这一故事相符的示例任务:

  • 实现 快速攻击 的判断:如果骑士正在睡觉,就可以发动快速攻击,因为他穿上盔甲需要时间,所以此时他毫无防备。
  • 实现 侦察 的判断:只要这一伙人里至少有一个人醒着,就可以侦察他们。否则,侦察只是浪费时间。
  • 实现 向囚犯发信号 的判断:如果囚犯醒着,而弓箭手正在睡觉,就可以用鸟叫声向囚犯发信号,因为弓箭手受过识别鸟叫信号的训练,可能会截获消息。
  • 实现 释放囚犯 的判断:Annalyn 可以尝试潜入营地释放囚犯。 这样做风险很大,只有两种方式之一能成功:
    • 如果 Annalyn 带着她的宠物狗,那么只要弓箭手睡着了,她就能救出囚犯。 骑士怕狗,而弓箭手来不及做好准备,Annalyn 和囚犯就能逃走。
    • 如果 Annalyn 没带狗,那她和囚犯就必须非常小心、悄悄地行动! 如果囚犯醒着,并且骑士和弓箭手都在睡觉,Annalyn 就能释放囚犯;但如果囚犯正在睡觉,就无法救出他们:囚犯会被 Annalyn 的突然出现吓到,从而惊醒骑士和弓箭手。

术语

以下是对说明(包括存根文件里的注释)中反复出现的术语的建议,而非硬性规则:

  • 主角是 Annalyn,她的代词是 she/her。如果需要指代这个角色,请使用她的名字,或者用代词指代她。
  • 不要用 boolean(或等价的类型名),而要用 can {action} 或 can perform {action}。
  • 囚犯是她最好的朋友,其代词是 they/their。
  • 请 不要 用代词指代 Annalyn、囚犯、弓箭手、骑士 或 Annalyn 的 宠物狗,因为含义很可能会引起歧义;请改用上面强调的这些称呼。

实现

相关