大概看了一下,你的构想是不是个中间件?
而且这个中间件,你给他规划的功能还挺多的。
个人感觉这个不是很必要啊,有点绕 回复 12# django
呵呵,就是瞎折腾,我都不知道这个到底是不是叫中间件。。
mush里我也是死活配置不好python3了,不知道原因。。唉,小语种玩mud机器人真是太纠结了。。 回复 13# hijacker
我感觉是不是可以用python开发一个基于console的客户端,不需要太多的功能,也不需要花哨的界面
类似tintin++就可以了了,核心竞争力就是能让喜欢python的玩家使用pythonic的方式来玩mud
不过太小众化了。。呵呵 回复 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了 回复 15# django
{:8_303:} 好主意!我肿么木有想到。。 回复 16# hijacker
这也是没办法,主要是因为import的模块无法获取mush的全局名称空间world,只有通过这种办法传递world了,在nick的论坛上也没找到简单的解决办法。 其实不用纠结world 这个问题啦,无非就是代码不太优美罢了,用python 写机器人也有python 的优势,比如有直接的数据库包来访问数据库,比如sqlite3,再比如用networkx 包可以快速写出地图的dfs和bfs遍历。 回复 18# bladex
其实就是想更加pythonic点,这个world的问题的确让操作更加繁琐了点
networkx 还没用过,有空去看看 本帖最后由 hasea 于 2013-10-27 12:58 PM 编辑
应该是tt.py中要import world或是from maush import *之类的。
我没在mush中使用过python,但是python文件中使用的所有对象都必须有来源,除非你直接将代码文件包含进另一个执行文件中。
execfile()可以执行该脚本是因为execfile命名空间是在当前执行脚本内的。就是说等于你把代码写在当前的执行文件中一样。
mush中使用lua还是比较好。虽然比较库比较少。但基本功能也有了。
页:
1
[2]