北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
12
返回列表 发新帖
楼主: django

mush求助,关于使用python的import功能

[复制链接]
 楼主| 发表于 2013-10-4 00:34:04 | 显示全部楼层
回复 10# hijacker


大概看了一下,你的构想是不是个中间件?
而且这个中间件,你给他规划的功能还挺多的。
个人感觉这个不是很必要啊,有点绕
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-10-4 00:54:12 | 显示全部楼层
回复 12# django


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

mush里我也是死活配置不好python3了,不知道原因。。唉,小语种玩mud机器人真是太纠结了。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-10-4 08:36:12 | 显示全部楼层
回复 13# hijacker


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

不过太小众化了。。呵呵
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-10-5 14:50:10 | 显示全部楼层
回复 13# hijacker

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

#filename test.py
  1. world = object

  2. def test():
  3.     world.note('Hellow Mush')
复制代码



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

  1. Hello Mush
复制代码




这样的话,就是麻烦了点,不过应该可以模块化编写robot了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-10-5 14:55:31 | 显示全部楼层
回复 15# django


    好主意!我肿么木有想到。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-10-5 16:12:23 | 显示全部楼层
回复 16# hijacker


    这也是没办法,主要是因为import的模块无法获取mush的全局名称空间world,只有通过这种办法传递world了,在nick的论坛上也没找到简单的解决办法。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-10-7 23:46:45 | 显示全部楼层
其实不用纠结world 这个问题啦,无非就是代码不太优美罢了,用python 写机器人也有python 的优势,比如有直接的数据库包来访问数据库,比如sqlite3,再比如用networkx 包可以快速写出地图的dfs和bfs遍历。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-10-19 11:06:46 | 显示全部楼层
回复 18# bladex

其实就是想更加pythonic点,这个world的问题的确让操作更加繁琐了点
networkx 还没用过,有空去看看
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 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还是比较好。虽然比较库比较少。但基本功能也有了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 05:29 PM , Processed in 0.009738 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表