1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Java文字冒险游戏方案 用木兰编程语言编写文字冒险游戏(前八章)

Java文字冒险游戏方案 用木兰编程语言编写文字冒险游戏(前八章)

时间:2019-01-23 11:41:28

相关推荐

Java文字冒险游戏方案 用木兰编程语言编写文字冒险游戏(前八章)

刚到手《Make Your Own Python Text Adventure: A Guide to Learning Programming》一书,打算将它的例程用木兰语言重写并改为中文标识符。一方面看看已重现的木兰功能对新手入门教程是否足够,顺便对之前小结的木兰与 Python 的语法对比进行补充。下面代码在木兰发布版本 0.0.15.0 运行通过。

该书三四五六章分别介绍用户输入、条件语句、函数、列表,直接跳到第七章:循环,因为例程包含了前几章的技术:

func 玩 {

库存 = ['匕首','金币(5)','面包棍']

println("逃出生天!")

loop {

输入 = 获取命令()

if ['n', 'N'].__contains__(输入) {

println("往北!")

} elif ['s', 'S'].__contains__(输入) {

println("往南!")

} elif ['e', 'E'].__contains__(输入) {

println("往东!")

} elif ['w', 'W'].__contains__(输入) {

println("往西!")

} elif ['i', 'I'].__contains__(输入) {

println("库存:")

for 家伙 in 库存 {

println('* ' + str(家伙))

}

} else {

println("不懂!")

}

}

}

func 获取命令 {

return input('行动:')

}

玩()

比较大的不适是不支持 Python 元素 in 列表 的判断语法,这里用 __contains__ 代替,尚待确认是否有更简便的木兰语法没发现。

可以用 .. 和 ..< 代替 Python 中的 range:

for 数 in 1..<11 {

因数 = []

for 除数 in 1..数 {

因数.append(除数) if 数 % 除数 == 0

}

println("`数`的因数:" + str(因数))

}

第八章:类型和个体

type 人 {

func $人(名称, 年龄, 爱吃的) {

$名称 = 名称

$年龄 = 年龄

$爱吃的 = 爱吃的

}

func $出生年份 {

return - $年龄

}

func $__str__ {

return "姓名:{} 年龄:{} 爱吃的:{}".format(

$名称, $年龄, $爱吃的[0])

}

}

各人 = [人("Ed", 11, ["hotdogs", "jawbreakers"])

, 人("Edd", 11, ["broccoli"])

, 人("Eddy", 12, ["chunky puffs", "jawbreakers"])]

年龄和 = 0

年份和 = 0

for 某人 in 各人 {

年龄和 = 年龄和 + 某人.年龄

年份和 = 年份和 + 某人.出生年份()

}

println("平均年龄:" + str((年龄和 + 0.0) / len(各人)))

println("平均出生年份:" + str(int(年份和 / len(各人))))

println("普查中的人:")

for 某人 in 各人 {

println(某人)

}

第九章、异常,需要木兰的 try...catch 语法,打算在 gitee 项目重现该语法后继续本系列。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。