续前文,继续到第十一章,期间根据需要对些许木兰语言功能进行了重现,并发布了木兰版本0。0。15。1。游戏例程代码已经开源在gitee(文末链接),第十一章运行效果如下,欢迎提issue。 注:由于木兰的try。。。catch语法仍然期待合作者一同完成重现,因此例程中的异常处理部分暂且略过,不影响游戏功能。 下面是第十一章相比第八章新添加的主要部分,世界。ul,用于设定玩家可走到的每格的状况,为之后的打怪等等做准备:type地块{func地块(x,y){xxyy}func介绍{throwNotImplementedError(请创建子类)}}type起始位置:地块{func介绍{return你发现身处山洞,壁上有根摇曳的火把。可以看到四条出路,每条都阴暗摄人。}}type平常位置:地块{func介绍{return此处平淡无奇}}type取胜位置:地块{func介绍{return远处有道亮光越近越亮!是阳光!重见天日了!}}地图〔〔nil,取胜位置(1,0),nil〕,〔nil,平常位置(1,1),nil〕,〔平常位置(0,2),起始位置(1,2),平常位置(2,2)〕,〔nil,平常位置(1,3),nil〕〕func走到(x,y){returnnilifx0ory0try:return地图〔y〕〔x〕exceptIndexError:returnnil} 原书第九到十一章基本在逐渐完善游戏功能,涉及的语言语法并不多。因此木兰0。0。15。1仅添加了throw语法和isa内置函数(与Python的isinstance对应)。但期间也发现尚待深究的问题,如引用模块所用包路径与Python规则不同。