包包版网络游戏大厅+桥牌系统 序

返回目录

 

这是我两年前离职在家,用一个半月写的一套源码,写完后就公布了所有代码,将近8k的代码量,当时还是基于.NET 1.1的,具体介绍见这篇文章: 棋牌游戏大厅简介
源码下载地址: http://files.cnblogs.com/Jax/PlayCard.rar

时至今日,又一次离职在家,翻看之前的设计文档,很多感慨,2年的技术沉淀,使我对这套源码又产生很多新想法。

还有就是,最近看到博客园首页上关于“网络游戏大厅”话题很热,但是仔细拜读了若干文章之后,发现有很多问题,比如说没有涉及到关键技术,包括架构、异步通信和游戏逻辑这些真材实料,而是以刺激性的言语+多幅游戏截图,来吸引大家的眼球。这样的文章会误导很多新人,同时,会导致博客园的文风往“假大空”的方向发展。对此,我持抵制态度。技术文章,还是要严谨为主,可以适当幽默,但是过度yy,就不免哗众取宠了。

因此,更觉得有必要详细讲解一下“网络游戏大厅”的设计思路,而暂时停止手头的一些事情。

我的一些具体感受是,用C#开发网络游戏,不划算。最多是代码逻辑架构比较清晰,但是效率大打折扣,所以大家不要太热衷于这方面的开发,没有前途的,最多是练练手。我会在接下来的一个系列,介绍我的设计思想以及开发心得,包括当初设计的一些失败之处。

以下是我这套源码的一些主逻辑:
1 基于C# TCP Socket异步通讯 多线程 开发
2 近60个自定义通信协议 使用了序列化技术 传输byte流
3 二级代理技术 开始打牌后,指定其中一人为ProxyServer,打开Socket,承担与其他三人打牌逻辑的判断,打牌结束后由其负责 通知主Server 实现了均衡负载,让Server负担大幅度减轻
4 在Server端 将连接方存入哈希表,这样Server想发信息给谁 都可以点对点发送
5 主裁和边裁的设定 分别在CLient和Server端验证
6 Flyweight模式画 手中的牌
7 Observer模式 负责窗体间的通讯
8 由于是在一台机器上开发, 所以用同一IP不同端口来模拟 不同IP的玩家,所以要略作修改才可以实现不同IP的玩家进入大厅


以及未完成的部分
1 出过的牌 显示: 数据已经准备好 就差表现出来
2 分数的显示:数据已经准备好 就差表现出来
3 界面的美化 由其是排版
4 用Strategy 实现 拱猪/桥牌/80分 的不同玩法 甚至是棋牌的不同玩法
5 强制退出游戏的处理
6 CardControl的闪烁问题


你可能感兴趣的:(游戏)