实现了地图系统

python太方便了,我编的时候只想怎么实现功能,几乎没考虑过效率,再说咱现在还不了解解释性语言的原理. 但感觉上效率应该是很差的,你说大部分都是用map和string做的会诞生什么? 如果用c或c++的话,不管怎么胡乱编效率肯定高,因为语言逼迫你去考虑低层.

mud的地图系统是这样的:你输入方向命令,屏幕上就会出现下一个地方的信息. 就像这样:


mud最关键的其实是指令系统,就是服务器接到玩家发出的命令字符串,然后映射到相应的功能函数上. 目前我感觉用map最合适,inst-tab是这样:
inst_tab = {
 'hi':  hi.hi,
 'east':  direct.east,
 'e':  direct.east,
 'west':  direct.west,
 'w':  direct.west,
 'north': direct.north,
 'n':  direct.north,
 'south': direct.south,
 's':  direct.south,
 'look':  look.look,
 'l':  look.look,
}
冒号后面就是对应的函数,调用只需inst_tab['command'](arg). 但这时发生了一件很丑的事,每个函数需要参数个数是不同的,但调用只能提供统一的参数,只好把所有数据先放到usr结构里,只传usr算是能凑效了,但...

转载于:https://www.cnblogs.com/euclid/archive/2006/10/01/519879.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值