包包版网络游戏大厅+桥牌系统 序
这是我两年前离职在家,用一个半月写的一套源码,写完后就公布了所有代码,将近8k的代码量,当时还是基于.NET 1.1的,具体介绍见这篇文章:棋牌游戏大厅简介。
源码下载地址:https://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的闪烁问题
分类:
包包版网络棋牌大厅
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架