您的位置:首页 > 编程语言 > Delphi

使用Delphi编写棋牌类游戏 – 设计篇(1) 推荐

2008-04-14 22:52 351 查看
[align=left]通过对以前3篇文章的探讨,大家应该对编写棋牌类游戏的基础知识有一定的了解了。但是如何使用这些基础知识编写出一个可扩展性功能完善的游戏呢?今天我们就来探讨一下如何设计一款棋牌类游戏的框架。[/align]
[align=left]以下是我所设计的游戏服务端框架:[/align]



[align=left] [/align]
[align=center][/align]
[align=center] [/align]
今天先来探讨一下中心服务器的设计。
中心服务器,顾名思义应该是整个服务端框架中调度所有其它服务器的部分。从框架图上来看,它需要和游戏服务器、登录服务器以及管理端发生数据交换。
在我的设计中,中心服务器具有以下功能:
(1):收集每个游戏服务器的IP地址和监听端口。



[align=center][/align]
这个功能是中心服务器的主要功能。每个游戏服务器向中心服务器提交自己所在的IP地址和监听的端口,中心服务器予以记录,并将汇总后的信息发送给登录服务器。这样当用户登录成功以后,在游戏的树形列表中,每个游戏就会对应不同的游戏服务器。这样的设计便于以后的游戏扩展。
(2)定时收集每个游戏服务器上的房间游戏人数。
定时收集每个游戏服务器上的人数以后,中心服务器将此信息发送给登录服务器和所有的游戏服务器。这样用户可以看到每个游戏当前的在线人数信息。
(3):接收管理端发来的各种请求,并将这些请求发送给指定的游戏服务器。



[align=center][/align]
游戏中少不了需要管理员来发布一些活动信息、强制踢出某一位玩家或者对某一位玩家进行封号处理等等。这个时候管理员可以通过管理端向中心服务器发送管理请求,中心服务器将此请求转发给游戏服务器,游戏服务器再做出相应的动作。
(4):接收游戏服务器发来的各种请求,并将这些请求发送给指定的游戏服务器。
在游戏中,用户对于自己的好友发送聊天信息。但是有可能自己和好友不在同一服务器上,这时发送聊天信息就需要借助中心服务器进行转发。

以上四点是我设计的中心服务器所具有的功能。下次我们将探讨登录服务器的设计。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息