故事
在这个练习中,你将为一位朋友正在开发的新 RPG 游戏实现任务逻辑。游戏的主角是 Annalyn,一个勇敢的女孩,有一只凶猛又忠诚的宠物狗。不幸的是,灾难突然降临:她最好的朋友在森林里寻找浆果时被绑架了。Annalyn 会设法找到并解救她最好的朋友,也可以选择带上她的狗一起踏上这段旅程。
沿着好朋友的踪迹搜寻了一段时间后,她找到了关押她好朋友的营地。原来有两个绑匪:一位强大的骑士和一个狡猾的弓箭手。
找到绑匪后,Annalyn 开始考虑自己可以采取以下哪些行动:
任务
以下是与 Annalyn 营救她最好的朋友这一故事相符的示例任务:
- 实现 快速攻击 的判断:如果骑士正在睡觉,就可以发动快速攻击,因为他穿上盔甲需要时间,所以此时他毫无防备。
- 实现 侦察 的判断:只要这一伙人里至少有一个人醒着,就可以侦察他们。否则,侦察只是浪费时间。
- 实现 向囚犯发信号 的判断:如果囚犯醒着,而弓箭手正在睡觉,就可以用鸟叫声向囚犯发信号,因为弓箭手受过识别鸟叫信号的训练,可能会截获消息。
- 实现 释放囚犯 的判断:Annalyn 可以尝试潜入营地释放囚犯。
这样做风险很大,只有两种方式之一能成功:
- 如果 Annalyn 带着她的宠物狗,那么只要弓箭手睡着了,她就能救出囚犯。
骑士怕狗,而弓箭手来不及做好准备,Annalyn 和囚犯就能逃走。
- 如果 Annalyn 没带狗,那她和囚犯就必须非常小心、悄悄地行动!
如果囚犯醒着,并且骑士和弓箭手都在睡觉,Annalyn 就能释放囚犯;但如果囚犯正在睡觉,就无法救出他们:囚犯会被 Annalyn 的突然出现吓到,从而惊醒骑士和弓箭手。
术语
以下是对说明(包括存根文件里的注释)中反复出现的术语的建议,而非硬性规则:
- 主角是 Annalyn,她的代词是 she/her。如果需要指代这个角色,请使用她的名字,或者用代词指代她。
- 不要用
boolean(或等价的类型名),而要用 can {action} 或 can perform {action}。
- 囚犯是她最好的朋友,其代词是 they/their。
- 请 不要 用代词指代 Annalyn、囚犯、弓箭手、骑士 或 Annalyn 的 宠物狗,因为含义很可能会引起歧义;请改用上面强调的这些称呼。
实现
相关