续前文,继续到第十一章,期间根据须要对些许木兰语言功能进行了重现,并发布了木兰版本 0.0.15.1 。游戏例程代码已经开源在 gitee,第十一章运行效果以下,欢迎提 issue。javascript

注:因为 try...catch 语法仍然期待合做者一同完成(见此文末),所以例程中的异常处理部分暂且略过,不影响游戏功能。java

下面是第十一章相比第八章新添加的主要部分,世界.ul,用于设定玩家可走到的每格的情况,为以后的打怪等等作准备:git

type 地块 {

func $地块(x, y) {

$x = x

$y = y

}

func $介绍 {

throw NotImplementedError("请建立子类")

}

}

type 起始位置 : 地块 {

func $介绍 {

return "\n " +

"你发现身处山洞,壁上有根摇曳的火把。\n " +

"能够看到四条出路,每条都阴暗摄人。\n\n"

}

}

type 日常位置 : 地块 {

func $介绍 {

return "\n " +

"此处平淡无奇\n\n"

}

}

type 取胜位置 : 地块 {

func $介绍 {

return "\n " +

"远处有道亮光……\n " +

"……越近越亮!是阳光!\n\n\n " +

"重见天日了!\n"

}

}

地图 = [

[nil, 取胜位置(1,0), nil],

[nil, 日常位置(1,1), nil],

[日常位置(0,2), 起始位置(1,2), 日常位置(2,2)],

[nil, 日常位置(1,3), nil]

]

func 走到(x, y) {

return nil if x < 0 or y < 0

//try:

return 地图[y][x]

//except IndexError:

// return nil

}

原书第九到十一章基本在逐渐完善游戏功能,涉及的语言语法并很少。所以木兰 0.0.15.1 仅添加了 throw 语法和 isa 内置函数(与 Python 的 isinstance 对应)。但期间也发现尚待深究的问题,如引用模块所用包路径与 Python 规则不一样。并发

python 文字冒险游戏_用木兰语言重写 Python 文字冒险游戏(九到十一章)相关推荐

  1. 易语言和python混合编程_关于易语言与Python的一点想法

    易语言与python的一点想法">关于易语言与Python的一点想法 小香蕉 2019年7月11日 说在前面 最近吃饭的时候总是会想很多关于易语言的事情.易语言是我学会的第一门语言,虽 ...

  2. python是一门什么课程-Python究竟是一门怎样的语言,Python为什么这么火?

    Python究竟是一门怎样的语言? Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些 ...

  3. Java写文字冒险类游戏_用木兰语言编写文字冒险游戏(十三、四章),又一个特性发现...

    继续改写 Python 文字冒险游戏,第十三章的主要添加了玩家在每格的行动限制: func 选择命令(位置, 玩家) { 行动 = nil while !行动 { 可选行动 = 取可选行动(位置, 玩 ...

  4. python医学应用_数据分析工具鄙视链:Python、R语言是老大,Excel只能称小弟?

    最新行业报告 2020数据分析.商业分析行业报告工作岗位与职能.薪资对比.热招公司等多方面详细解读帮助你一网打尽,斩获心仪Offer! 扫码回复[数据分析 0]立即领取 History语言发展史ABC ...

  5. python思想读后感_数据结构与算法:Python语言描述读后感1000字

    <数据结构与算法:Python语言描述>是一本由裘宗燕著作,机械工业出版社出版的平装图书,本书定价:CNY 45.00,页数:343,特精心从网络上整理的一些读者的读后感,希望对大家能有帮 ...

  6. c语言实现python列表_用C语言实现python的扩展模块

    用C语言实现python的扩展模块 示例1: 1 Example.c int add(int a,int b) { return a+b; } int sub(int a,int b) { retur ...

  7. python代码用c语言封装_使用C语言扩展Python程序的简单入门指引

    一.简介 Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,Python已经开始受到越来越多人的青睐,并且被屡屡成功地应用于各类大型 ...

  8. python是语言还是软件_程序开发语言之Python:是追逐还是坚守?

    Python作为计算机程序设计语言的其中一种,最初是被设计用于编写自动化脚本(shell),随着版本的不断更新.语言新功能的添加和机器学习的兴起,Python从2017年开始受到广泛关注. Pytho ...

  9. c语言实现python语法_用C语言扩展Python的功能

    转自:http://www.ibm.com/developerworks/cn/linux/l-pythc/ 一.简介 Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且 ...

最新文章

  1. 4.21 IP通信原理
  2. 转-测试用例-基本控件
  3. linux 多个java_linux 同时出现两个java进程,新手~ 请详细说明,这个是怎么回事。 我就装了一个jdk...
  4. 内部导线拉力测试_珠海后环回收试验机现金支付拉力试验机回收和谐温馨的环境...
  5. 190729知识笔记
  6. 【Linux】【Commands】文本查看类
  7. 简单干净的C#方法设计案例:SFCUI.AjaxValue()之二
  8. Facebook 推机器视觉方案,能轻易读懂图片信息
  9. SpringBoot学习(第一天)
  10. [201209][HTTP 权威指南][陈涓][赵振平][译]
  11. 思维导图:亿图的部分使用方法
  12. 安卓手机投屏软件_适合智能电视手机投屏的软件
  13. Linux FTP 21端口始终无法连接的问题
  14. 【校招VIP】前端专业课考点之tcp与udp
  15. JDBC,你真的知道怎么用吗?
  16. 数字平原maya制作写实科幻场景
  17. 在Windows XP中为Android 4.0设备安装MTP驱动程序
  18. 视频号直播带货变现,微信小商店常见的10大问题丨国仁网络
  19. 惠普服务器u盘系统安装win7系统,惠普电脑怎么用U盘安装win7系统
  20. Linux 图形化Git客户端

热门文章

  1. 毕业设计-基于SpringBoot员工管理OA系统
  2. LSI-SAS-9361-8i-以及阵列卡RAID 配置
  3. 金三银四,简历上写CV开源项目,有用吗?
  4. 黑马程序员Android学习笔记——金山卫士项目——第三天
  5. 小型电梯尺寸_家用小型电梯-美丽与小尺寸的完美融合
  6. Ardupilot添加一个新模式全攻略,以Copter为例
  7. 湖南工学院 戴成秋 计算机,计算机与信息科学学院2021届本科毕业设计答辩实施方案...
  8. 分享一个python采集中国福利彩票的小代码
  9. 构建网络广告投放平台(二)
  10. 好看视频爬取 函数