拼吾爱程序人生

首页 » .Net编程 » C# » 基于TCP的网络游戏黑白棋系列教程开篇
cobra - 2008-9-23 8:12:00
看过网上很多的类似系列教程(博客园包包版网络大厅的+桥牌系统),写的很深入,感觉比较复杂,初学者不宜上手。我是在学习WCF的时候,发现自己对底层的传输原理都没有搞明白,于是又回头学习网络传输的一些知识,自己写了一个简单的网络游戏黑白棋,因此也想把学习的一个过程记录下来和初学者们一块交流。我的只是小儿科,还请网友多多包涵,高手们也不要吝惜你们的砖头。

第一次写系列教程,心里没底,本来自己水平就一般,却要完成这个命题作文,难煞我了。好歹程序写的差不多了(不过还没有最终完成),这里先把完成的部分分章介绍一下,程序我在慢慢补。

本系列源代码TCP网络传输参考《C#网络应用高级编程》人民邮电出版社,马骏编,黑白棋游戏部分为本人(http://www.basilwang.net/)编写。

写这个游戏只是为了我个人理解基于TCP网络游戏编程的基本思路,算法部分写的比较乱,没有优化,不过我都做了注释,方便大家阅读。

先说一下黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello),苹果棋,翻转棋。黑白棋在西方和日本很流行。但是这个游戏在中国目前还不够推广,下棋的水平还不高。黑白棋规则很简单,只要肯花点脑筋,新手也能玩得很好。因为棋盘小,下一局棋所花的时间也不多。对于黑白棋,有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它(a minute to learn, a lifetime to master)。

早些年文曲星里面带的游戏就喜欢它了,我这个人脑子不开窍,很多游戏连电脑AI都打不过,好容易整了个能打败AI的游戏,还不往死里玩,嘿嘿。不过我写的这个黑白棋只是供网络对战使用,不涉及AI算法部分(我还不知道怎么做呢),斗胆发到网上,权作抛砖引玉,废话少说,进入正题。

系列的介绍打算以我学习TCP网络编程的过程为顺序,每一篇教程都能够完成功能,附上的源代码能够独立运行,我会把代码中碰到的相关知识做相应的介绍,使初学者能有直观的认识。

游戏完成的部分

1 网络大厅,可自定义桌数,人数 (完全参照《C#网络应用高级编程》,马老师应该不介意吧)

2 黑白棋游戏客户端

2.1 吃子

2.2  奇偶数统计

2.3 轮流下子

2.4 终局胜负提示

未完成部分

1 黑白棋游戏客户端

1.1 下子时间限制

1.2 甲方无子可下时,程序判定由乙方下子,甲方丢掉一次机会

1.3 判定任一方无子可下的程序(思路:需要计算盘中空子的列表,然后调用已完成的吃子程序,看能否下子,但并不真正下子)

源程序写的很简单,界面比较简陋,只是为了帮助大家更好的理解基于TCP的网络游戏传输的基本原理,还请大家多包涵。


 附件: 您所在的用户组无法下载或查看附件


 附件: 您所在的用户组无法下载或查看附件








(文/basilwang  出处/博客园)

 您可能对 [C#] 的这些文章也感兴趣:

VisualC#.Net网络程序开发-Tcp篇(3)
CodeDom:语言的界限在这里消失
开始.Net的旅程(一)
Microsoft 消息队列(MSMQ)简介及实例程序
利用C#打开SolidWorks2008的.SLDPRT文件
C#锐利体验(2.1)
微软公布“.NET”第二阶段研发方向
VisualC#事件与接口编程实例
全面剖析VB.NET(1)
获得C#方法调用源
1
查看完整版本: 基于TCP的网络游戏黑白棋系列教程开篇
Modify by pin5i DZNT_ExpandPackage 2.1.3258 2007-2008 pin5i.com
  Total Unique Visitors: