使用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):接收游戏服务器发来的各种请求,并将这些请求发送给指定的游戏服务器。
在游戏中,用户对于自己的好友发送聊天信息。但是有可能自己和好友不在同一服务器上,这时发送聊天信息就需要借助中心服务器进行转发。
以上四点是我设计的中心服务器所具有的功能。下次我们将探讨登录服务器的设计。
[align=left]以下是我所设计的游戏服务端框架:[/align]
[align=left] [/align]
[align=center][/align]
[align=center] [/align]
今天先来探讨一下中心服务器的设计。
中心服务器,顾名思义应该是整个服务端框架中调度所有其它服务器的部分。从框架图上来看,它需要和游戏服务器、登录服务器以及管理端发生数据交换。
在我的设计中,中心服务器具有以下功能:
(1):收集每个游戏服务器的IP地址和监听端口。
[align=center][/align]
这个功能是中心服务器的主要功能。每个游戏服务器向中心服务器提交自己所在的IP地址和监听的端口,中心服务器予以记录,并将汇总后的信息发送给登录服务器。这样当用户登录成功以后,在游戏的树形列表中,每个游戏就会对应不同的游戏服务器。这样的设计便于以后的游戏扩展。
(2)定时收集每个游戏服务器上的房间游戏人数。
定时收集每个游戏服务器上的人数以后,中心服务器将此信息发送给登录服务器和所有的游戏服务器。这样用户可以看到每个游戏当前的在线人数信息。
(3):接收管理端发来的各种请求,并将这些请求发送给指定的游戏服务器。
[align=center][/align]
游戏中少不了需要管理员来发布一些活动信息、强制踢出某一位玩家或者对某一位玩家进行封号处理等等。这个时候管理员可以通过管理端向中心服务器发送管理请求,中心服务器将此请求转发给游戏服务器,游戏服务器再做出相应的动作。
(4):接收游戏服务器发来的各种请求,并将这些请求发送给指定的游戏服务器。
在游戏中,用户对于自己的好友发送聊天信息。但是有可能自己和好友不在同一服务器上,这时发送聊天信息就需要借助中心服务器进行转发。
以上四点是我设计的中心服务器所具有的功能。下次我们将探讨登录服务器的设计。
相关文章推荐
- 使用Delphi编写棋牌类游戏 – 设计篇(2) 推荐
- 使用Delphi编写棋牌类游戏 – 设计篇(3) 推荐
- 使用Delphi编写棋牌类游戏 -- 基础篇(3) 推荐
- 使用Delphi编写棋牌类游戏 -- 基础篇(1) 推荐
- 使用Delphi编写棋牌类游戏 -- 基础篇(2) 推荐
- 编程精粹--编写高质量C语言代码(3):自己设计并使用断言(二)
- Delphi中Hash表的使用方法! 推荐
- 探讨 使用GWT 做一个web游戏。如何设计一个web游戏。
- 5、使用Libgdx设计一个简单的游戏------雨滴
- 如何使用Createjs来编写HTML5游戏(四)TweenJS和Tick动画
- 5、使用Libgdx设计一个简单的游戏------雨滴
- 4399支付SDK供flash游戏使用ANE的使用 推荐
- 编程精粹--编写高质量的C语言代码(2):自己设计并使用断言(一)
- 数据库设计不推荐使用Bool类型
- 使用链表设计基于方块游戏的本质
- Delphi编写自定义控件以及接口的使用
- 如何使用Createjs来编写HTML5游戏(八) 通过继承扩展EaselJS中的基础元素
- 使用Managed DirectX编写游戏(-)