欢迎光临
我们一直在努力

C# socket游戏编程(1服务器,多客户端)

最近两天发的博文较少。。因为这个例子太长啦。

下面引用下书上的话,来引导这个例子:

游戏规则如下:

(1)玩家通过 internet 和 坐在同一桌的另外一个玩家对弈,一个玩家选择黑方,另一个玩家选择白方。

(2)游戏开始后,计算机自动在15x15的棋盘方格内,以固定的时间间隔,不停的在未放置棋子的位置随机产生黑色棋子或白色棋子。

(3)玩家的目标是快速单击自动出现在棋盘上的自己所选颜色的棋子,让棋子从棋盘上小时,以避免自己的棋子出现在相邻的位置。

(4)每当棋子从棋盘上小时,具有相应颜色的玩家既得1分。注意,如果玩家单击了对方的棋子,则对方得1分。

(5)如果棋盘上出现两个或者两个以上相邻的同色棋子,游戏就结束了,改颜色对应的玩家就是失败者。

 

游戏功能要求如下:

(1)服务器可以同时服务多桌,每桌允许两个玩家通过internet 对弈。

(2)允许玩家自由选择坐哪一桌的哪一方。如果两个玩家坐在同一桌,双方应都能看到对方的状态。两个玩家均单击‘开始’按钮后,游戏才开始。

(3)某桌游戏开始后,服务器以固定的时间间隔同时在15x15的棋盘方格内向该桌随机地发送黑白两种颜色的棋子的位置,客户端程序接收到服务器发送的棋子位置和颜色后,在15x15棋盘相应的位置显示棋子。

(4)玩家坐到游戏桌座位上后,不论游戏是否开始,该玩家都可以随时调整服务器发送棋子位置的时间间隔。

(5)游戏开始后,客户端程序响应鼠标单击,并根据游戏规则计算玩家的得分。

(6)如果两个相同颜色的棋子在水平方向或垂直方向是相邻的,那么就认为这两个棋子是相邻的,这里不考虑对角线相邻的情况。

(7)如果相同颜色的棋子出现在相邻的位置,本局游戏结束。

(8)同一桌的两个玩家可以聊天。

 

这个游戏虽然比较小,但却是“麻雀虽小,五脏俱全”。如果读者真正理解了编写的方法,就可以轻松编写其他各类基于TCP的应用程序。

 

(打字挺累的,一字一字的照着打下来的。)

------------------------------------------

上面介绍完了,下面直接上图 传代码。。

另外有一点要说的是 这个程序(客户端和服务端)已经测试过了。

并不是很完美,但是并不影响学习socket TCP编程。挺不错的一个例子。

先上图吧,不唠叨了。

 

C# socket游戏编程(1服务器,多客户端)

 

图为两个客户端和一个服务端运行的状况。

 

完整代码下载:

https://files.cnblogs.com/andrew-blog/socketGame.rar

注:再次说下,关于代码的是否完美,这里不作讨论。仅用于学习socket编程

参考:http://www.wxzzz.com/?id=35

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《C# socket游戏编程(1服务器,多客户端)》
文章链接:https://www.456zj.com/6878.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址