问一个mud编程问题,请各位帮忙看看

jkit 2004-02-20 05:21:56
游戏中有两个房间,a和b,如果设置a的出口("east", b)的话,就能从房间a向east方向走到房间b去。
问题:现在需要有个特殊处理,就是在a和b之间增加临时房间,比如c.
那么就可以设置a的出口("east", c),然后设置c的出口("east", b)这样就完成了增加临时房间的功能。限制:一个玩家只能做一个临时房间,也就是说,玩家进入c房间后可以选择拆除c,这样才能再次创建这样的临时房间。
但是有一个bug。
由于系统为了减少服务器负荷,如果一个可刷新房间连续一段时间没有玩家的话,该房间就会被自动被垃圾回收,当下次有玩家进入的时候再重新new出来(读文件)。因为是特殊处理,房间c的属性是不可刷新的,所以会一直存在。但是a和b不是固定的,也就是说可以在任意房间做这个特殊处理。如果房间a是可刷新的话,过一段时间a就会被回收,当玩家再次进入的时候,房间a重新new出来,这时候就回到了初始状态了出口("east",b)。这样就没办法进入临时房间c了。因此也就没办法拆除c了,也不能再次创建这样的临时房间了。

请教各位大虾有什么好的改进主意?
注意:
必须要这个增加临时房间的功能。
关于系统自动刷新的问题是底层程序,也不能改。
一个玩家同时只能有一个临时房间的限制也是必须的。
房间是否可以刷新是继承来的,一旦继承了可刷新房间,就不能再改成不可刷新。
请大家不吝赐教!
...全文
70 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧