百木园-与人分享,
就是让自己快乐。

python之mud--基础

初步认识MUD

从今天起,我们就要正式踏入用Python制作Mud的大门了!
😉在那之前,让我们先来简单的认识一下MUD 所谓Mud,是「Multi-User Dungeon」 多使用者迷宫 的缩写,不知道你玩没玩过「放置江湖」一类的文字游戏,这种游戏就被称为“Mud”
传统的Mud游戏是这么运作的:
客户端 发送 指令-->服务端 接收 指令-->服务端 运行 指令-->向客户端 返回 结果
用人(梗)话说就是:接!化!发!🤔(bushi)

如何做到接发指令?

这个时候,我们就要请出我们的Socket 套接字 了!(如果还不知道什么是套接字的同学可以看这个,转载自简书yongfutian)

客户端

客户端非常简单,就直接一个 While True + 发送数据 + 接收数据 +显示 扔上去就完事儿了,极其没有技术含量😶(似乎也不算太简单来着....?)

服务端

服务端的制作才是我们的重点 ~服务器要做的很多很多:
接收数据,执行对应函数,存储武器、小怪、装备数据等等,非常滴复杂。

「字典+列表=神器」

这里我要提一个在储存物品数据时及其好用的玩意儿:字典+列表!。
哇这个东西在储存单一对应性强的数据时简直是神器,看一下以下案例:把装备录入对应信息
image
可以看到,字典+列表组合在储存固定数据时非常强大,而且字典的*.keys()等方法对后期制作背包使用非常有好处滴😉
如果各种东西都用字典配置地非常全面,后面新功能基本上都是读取字典后执行再修改就完事儿了,可以看看下面示例:
image

“适配性”

适配性是我自己喜欢的称呼,正式名称俺也不知道qwq
在开发前期 一!定!要!做好适配,不然后面直接牵一发而动全身,会使工作量指数级上升,举个例子:
image
看起来肥肠简单对不对?但是怪物和掉落物数量可 远远不止三个,这样看似简单的代码只会使程序臃肿,后期维护难度加大,也就是刚才所说的牵一发而动全身
让我们再来看看更改后的:
image

这种结构直接将怪物与其掉落物相联系,从根本上简化了代码,且拓展性变强,再多的怪物&掉落物也只需要一句“monster_item[choice][1] += 1”

来源:https://www.cnblogs.com/w-al-len/p/15216445.html
图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » python之mud--基础

相关推荐

  • 暂无文章