欢迎进入多人摸鱼房间~

181 阅读3分钟

原文地址:xeblog.cn/articles/94

开源地址:github.com/anlingyi/xe…

5月29日  星期天  小雨

有意义的一天

今天,插件版本更新到了 v1.5.3-beta2 ,又新增了些许“Bug”,或许说不是些许,许多“Bug”?这我不得而知,至少我现在还没听人谈起。

我一周有两天休息日,一天在写“Bug”,另一天也在写“Bug”。

时常有人问起我:为什么休息日还在写“Bug”?

工作日在摸鱼罢了!

我也时常反问自己,写“Bug”的一天,到底是不是有意义的一天呢?

image.png

------分割线------

步入正题。

本次更新的地方主要在于游戏对战这一块,之前游戏只能是一对一的对战模式,并没有游戏房间的概念,后续如果想再增加一个2人以上的对战游戏,那代码写起来不仅困难,而且还无法兼容。

在这个版本里,我对游戏对战相关的代码进行了重构,增加了游戏房间,如果想和好友联机对战,必须先创建游戏房间,然后再邀请好友进入。

在这之前,邀请好友是通过 #play {游戏编号} {好友昵称} 这种命令方式进行的,新版本中已经将此移除了。

通过 #play {游戏编号} 命令开启一个游戏

image.png

可以发现,增加了一个 “创建房间” 按钮,点击此按钮,选择房间人数

image.png

然后点击 “创建”,游戏房间就创建好了!

image.png

我们可以点击 “邀请” 按钮,邀请好友进入房间

image.png

接受好友的游戏邀请,还是和以前一样使用 #join 命令即可

image.png

等待房间内的玩家都已准备就绪时,房主就可以点击 “开始游戏” 按钮,开启这场游戏对战啦!

image.png

image.png

为什么需要房间内玩家都准备好了才能开始游戏呢?

其实,我刚开始设计这一块代码的时候,并没有考虑这一问题,我觉得,既然好友已经接受了你的游戏邀请,来到了你的游戏房间,那肯定是已经准备好了的,为什么还要再次确认自己有没有准备好呢?

代码写完之后,我突然想到了一个问题,游戏房间又不是一次性的,并不是一次游戏结算之后就关闭了的,是还可以继续下一场游戏的,在下一场游戏开始之前,我们并不能保证房间内的所有玩家都已结算游戏并再次返回到游戏房间界面,如果没有准备阶段,房主可以立马开启新一轮游戏,但他并不知道有玩家还停留在上一轮的游戏中。

所以,我后来把准备阶段的代码给加上了,取消准备的代码也有,但那只是服务端,客户端并没有写!

image.png

这次更新,还增加了插件更新通知,当低版本插件端登录服务器时,服务器就会发送消息通知告诉用户该更新插件了

image.png

当然了,更新不是强制的,只要你还能用。

image.png

还有一些其它的更新,但是这里太挤了,写不下,那就不写了吧!

好消息!特大好消息!

就在刚刚,插件更新到了 v1.5.3-beta3 了耶~

image.png