SmartFoxServer2X ,sfs2x --- 实战 二

本文已假定你已通读了官方文档。

 

1)SFS2X提供了两个层次的扩展:ZONE,ROOM。

 

一般棋牌类游戏有房间概念,我们可以认为一个ROOM 就是一张桌子的概念。ROOM 可以按照不同的组ID 分到不同的分组中。(虚拟的组)

 

一个ZONE下对应多个ROOM。

 

我们知道,每个不同的ROOM 有不同的游戏状态。所以,就用ROOM扩展作为游戏的主逻辑。官方原文如下。

 

* a Room-level Extension can only listen to the events in that Room and manage
 * the Users contained in it. A typical use of Room-level Extension is to manage
 * the logic of a game running in the Room.

 

所以,可以这样写类

public class AAAGameExtention extends SFSExtension {...}

 

覆写此方法,加上你的事件监听处理器(其中实现处理逻辑)。

  @Override
   public void init((){...}

 

这个就是实现游戏主逻辑的地方。(一般建议:在 AAAGameExtention 中 建一个 AAAGame的类作为一个实例变量,实现主逻辑。而AAAGameExtention

 

主要是与房间变量放置,修改的地方。)

 

有时,我们发现,对于ROOM的控制,如果我们去再ZONE的配置文件中添加修改,那是有点繁琐。

那我们可以在ZONE扩展里做这个事情,不用配置在文件中,而是可以从我们的数据库中,程序动态创建游戏房间。

 

下篇:ZONE 扩展介绍。

 

(Q群号:33431550  可来此讨论一起学习。谢谢)

你可能感兴趣的:(JAVA,extension,游戏,扩展,events,数据库)