django 发表于 2013-10-4 00:34:04

回复 10# hijacker


大概看了一下,你的构想是不是个中间件?
而且这个中间件,你给他规划的功能还挺多的。
个人感觉这个不是很必要啊,有点绕

hijacker 发表于 2013-10-4 00:54:12

回复 12# django


    呵呵,就是瞎折腾,我都不知道这个到底是不是叫中间件。。

mush里我也是死活配置不好python3了,不知道原因。。唉,小语种玩mud机器人真是太纠结了。。

django 发表于 2013-10-4 08:36:12

回复 13# hijacker


我感觉是不是可以用python开发一个基于console的客户端,不需要太多的功能,也不需要花哨的界面
类似tintin++就可以了了,核心竞争力就是能让喜欢python的玩家使用pythonic的方式来玩mud

不过太小众化了。。呵呵

django 发表于 2013-10-5 14:50:10

回复 13# hijacker

找到一个折中的办法,应该可以实现python的模块化编写robot了

#filename test.py
world = object

def test():
    world.note('Hellow Mush')



在游戏中
>> /import test
>> /test.world = world         #把当前游戏中的world名称空间赋值给test,从而让test也拥有world名称空间
>>/test.test()

Hello Mush



这样的话,就是麻烦了点,不过应该可以模块化编写robot了

hijacker 发表于 2013-10-5 14:55:31

回复 15# django


    {:8_303:} 好主意!我肿么木有想到。。

django 发表于 2013-10-5 16:12:23

回复 16# hijacker


    这也是没办法,主要是因为import的模块无法获取mush的全局名称空间world,只有通过这种办法传递world了,在nick的论坛上也没找到简单的解决办法。

bladex 发表于 2013-10-7 23:46:45

其实不用纠结world 这个问题啦,无非就是代码不太优美罢了,用python 写机器人也有python 的优势,比如有直接的数据库包来访问数据库,比如sqlite3,再比如用networkx 包可以快速写出地图的dfs和bfs遍历。

django 发表于 2013-10-19 11:06:46

回复 18# bladex

其实就是想更加pythonic点,这个world的问题的确让操作更加繁琐了点
networkx 还没用过,有空去看看

hasea 发表于 2013-10-27 12:55:39

本帖最后由 hasea 于 2013-10-27 12:58 PM 编辑

应该是tt.py中要import world或是from maush import *之类的。

我没在mush中使用过python,但是python文件中使用的所有对象都必须有来源,除非你直接将代码文件包含进另一个执行文件中。

execfile()可以执行该脚本是因为execfile命名空间是在当前执行脚本内的。就是说等于你把代码写在当前的执行文件中一样。

mush中使用lua还是比较好。虽然比较库比较少。但基本功能也有了。
页: 1 [2]
查看完整版本: mush求助,关于使用python的import功能