全文在:用木兰语言重写 Python 文字冒险游戏(九到十一章)
例程如下:
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
}