首页

winform网络中国象棋(可对战、多人旁观)

c#

2021-5-10

程序使用VS2015,.NET4.5,.NET 2.0以上都可以编译使用,无第三方组件,可生成32、64位。Socket网络传输,可以对战、多人旁观,棋子棋盘图片直接百度的。

象棋规则算法简单,直接写了,就100多行,烧脑的是对战、旁观视角问题,对战双方都是从下往上的视角,实际走棋看到对方位置应该是对角线,坐标转换太特么烧脑,没打草稿直接敲代码,特么居然重写了一遍才写对。

为了图像不闪烁,点击棋子,将鼠标变为需要移动的棋子。

走棋规则基本全面,可直接对杀。

如有走棋规则错误修改:

//走棋规则 //当前位置atX、atY,放置位置setX、setY,棋子颜色 Qz_RB

public bool go_rules(string Qz, int atX, int atY, int setX, int setY, int Qz_RB)

都是坐标位置,很好改。

图片文件在..\bin\Debug\Res里面

1、先启动服务端 goServer.exe

服务端:

地址为IPAddress[] addrIP = Dns.GetHostAddresses(“192.168.0.104”); //ip地址

根据你的需要进行修改;

进入服务端后点击“开始监听”。

2、打开客户端 chess.exe

这里直接设置了进入到房间“0”,进入后显示“等待其他人加入”,先进房的执红旗,按钮不可用;

当有第2个人进入后,执蓝棋,按钮显示“准备”;

双方都点击“准备”后,进入对局;

后面再有人进入为旁观者,能看见双方对局信息。房间都是“0”。

地址:client = new TcpClient(“192.168.0.104”, 51888); //定义服务器端ip地址和端口,与服务器端定义要一致

根据你的需要进行修改;

3、跨线程在每个调用图片函数开头

4、时间有限,程序没有做计算胜负,没有做掉线处理。基本规则有了,其他的就是套接字变来变去,需要新功能自己添加。

象棋、围棋做都完了,会下的棋都做了。

围棋:http://www.haolizi.net/example/view_10794.html

只是一个初学练习,更多初学资料到我的博客http://www.cnblogs.com/qiaoke/


资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
chess2/chess/.vs/chess/v14/.suo , 49664
chess2/chess/App.config , 189
chess2/chess/bin/Debug/chess.exe , 871936
chess2/chess/bin/Debug/chess.exe.config , 189
chess2/chess/bin/Debug/chess.pdb , 40448
chess2/chess/bin/Debug/chess.vshost.exe , 22696
chess2/chess/bin/Debug/chess.vshost.exe.config , 189
chess2/chess/bin/Debug/chess.vshost.exe.manifest , 490
chess2/chess/bin/Debug/Res/b_0.png , 8800
chess2/chess/bin/Debug/Res/b_1.png , 8885
chess2/chess/bin/Debug/Res/b_2.png , 8853
chess2/chess/bin/Debug/Res/b_3.png , 8678
chess2/chess/bin/Debug/Res/b_4.png , 9083
chess2/chess/bin/Debug/Res/b_5.png , 8574
chess2/chess/bin/Debug/Res/b_6.png , 8861
chess2/chess/bin/Debug/Res/flag.png , 15452
chess2/chess/bin/Debug/Res/QiPan.png , 635330
chess2/chess/bin/Debug/Res/R_0.png , 8507
chess2/chess/bin/Debug/Res/R_1.png , 8592
chess2/chess/bin/Debug/Res/R_2.png , 8792
chess2/chess/bin/Debug/Res/R_3.png , 8552
chess2/chess/bin/Debug/Res/R_4.png , 8846
chess2/chess/bin/Debug/Res/R_5.png , 8940
chess2/chess/bin/Debug/Res/R_6.png , 8952
chess2/chess/chess.csproj , 3946
chess2/chess/chess.sln , 976
chess2/chess/Form1.cs , 36019
chess2/chess/Form1.Designer.cs , 5306
chess2/chess/Form1.resx , 1276664
chess2/chess/goChess.cs , 619
chess2/chess/Program.cs , 517
chess2/chess/Properties/AssemblyInfo.cs , 1318
chess2/chess/Properties/Resources.Designer.cs , 2823
chess2/chess/Properties/Resources.resx , 5612
chess2/chess/Properties/Settings.Designer.cs , 1092
chess2/chess/Properties/Settings.settings , 249
chess_Server/ChatServer.suo , 16896
chess_Server/ChessServer.sln , 991
chess_Server/goServer/app.config , 161
chess_Server/goServer/bin/Debug/goServer.exe , 15872
chess_Server/goServer/bin/Debug/goServer.exe.config , 161
chess_Server/goServer/bin/Debug/goServer.pdb , 28160
chess_Server/goServer/bin/Debug/goServer.vshost.exe , 22696
chess_Server/goServer/bin/Debug/goServer.vshost.exe.config , 161
chess_Server/goServer/bin/Debug/goServer.vshost.exe.manifest , 490
chess_Server/goServer/FormServer.cs , 13244
chess_Server/goServer/FormServer.cs.bak , 14272
chess_Server/goServer/FormServer.designer.cs , 7162
chess_Server/goServer/FormServer.resx , 5814
chess_Server/goServer/goServer.csproj , 3733
chess_Server/goServer/Program.cs , 474
chess_Server/goServer/Properties/AssemblyInfo.cs , 1176
chess_Server/goServer/Properties/Resources.Designer.cs , 2856
chess_Server/goServer/Properties/Resources.resx , 5612
chess_Server/goServer/Properties/Settings.Designer.cs , 1108
chess_Server/goServer/Properties/Settings.settings , 249
chess_Server/goServer/User.cs , 506
没有账号? 忘记密码?

社交账号快速登录