userList=newList();//监听端口privateintport=51888;//走棋判断int[]GameRoom=newint[255];//房间号int[]GameUser=newint[255];//房间人数;int[]GameStat=newint[255]; //走棋状态:1-等待、2-准备、3-开始、4-旁观int[]GameReday=newint[255];//走棋准备状态//旁观获得走棋信息stringlookuser="";2、打开客户端goo.exe这里直接设置了进入到房间“0”,进入后显示“等待其他人加入”,先进房的执黑旗,按钮不可用;当有第2个人进入后,执白棋,按钮显示“准备”;双方都点击“准备”后,进入对局;后面再有人进入为旁观者,能看见双方对局信息。房间都是“0”。地址:client=newTcpClient("192.168.0.104",51888);//定义服务器端ip地址和端口,与服务器端定义要一致根据你的需要进行修改;客户端定义:privateint[,]Qpan=newint[24,24];//棋盘数组privatestringSendLook=null;//发送给旁观者的对局信息privateconstintQz_Null=0;//没有棋子privateconstintQz_Black=1;//黑子privateconstintQz_White=2;//白子privateconstintMax_Qpan=23;//棋盘最大路数privateint[,]TmpA_Qpan=newint[24,24];//临时存储棋盘privateint[,]TmpB_Qpan=newint[24,24];//临时存储棋盘privateint[,]Tmp_Qpan=newint[24,24];//临时存储棋盘privateintCurrent_Go=1;//当前棋子颜色privateintQpan_Count=19;//当前棋盘路数privateintRame;//气数privateintDie_Num;//死子数privatebool_Attack=false;//是否打劫privateintAttack_X=0;//打劫位置privateintAttack_Y=0;//打劫位置privatePanelg_Hei;//鼠标移动黑块privatePanelg_Bai;//鼠标移动白块privatePanelFit_Hei;//最后落子标记黑privatePanelFit_Bai;//最后落子标记白privatePanel[,]QzH=newPanel[20,20];//黑棋子privatePanel[,]QzB=newPanel[20,20];//白棋子intLastFitX=0;//给旁观最后落子位置intLastFitY=0;//给旁观最后落子位置intLastHB=0;//给旁观最后落子颜色PointMouseoff;//鼠标位置boolgo_play=false;//能否走棋intSelect_Qzi=0;//是黑还是白,1-黑,2-白intReceiveHB=1;//接收到的棋子颜色函数://初始化棋盘、棋子privatevoidInitQpan()//判断该谁走棋privatevoidJudge_HB()//显示棋子privatevoidShowQz(inti,intj,intQzHB)//重置棋盘棋子privatevoidRest_Qpan()//备份棋盘棋子privatevoidQpan_Backup()//恢复棋盘棋子privatevoidQpan_Restore()//刷新棋盘棋子privatevoidQpan_Refresh(intQzHB)//计算棋子的气数底层函数privatevoidBase_Calc(inti,intj,intQzHB)//计算气数privatevoidCalc_Ream(intm,intn,intQzHB)//计算气数接口privatevoidCalc_Interface(intQzHB)//落子处理,判断打劫、打n还1、吃掉对方棋子privatevoidFalling(intxx,intyy)//设置打劫privatevoidSet_Attack(inti,intj)//最后落子标记privatevoidFit_Flag(intxx,intyy)//旁观者最后落子标记privatevoidLookFit_Flag(intQhb,intxx,intyy)//对方走棋显示在己方并判断打劫、打n还1、吃掉对方棋子privatevoidOpp_Falling()3、跨线程调用封装在CrossThreadCall.cs4、时间有限,程序没有做计算胜负,没有做掉线处理。基本规则有了,其他的就是套接字变来变去,需要新功能自己添加。只是一个初学练习,更多初学资料到我的博客http://www.cnblogs.com/qiaoke/-IMDN开发者社群-imdn.cn">
userList=newList();//监听端口privateintport=51888;//走棋判断int[]GameRoom=newint[255];//房间号int[]GameUser=newint[255];//房间人数;int[]GameStat=newint[255]; //走棋状态:1-等待、2-准备、3-开始、4-旁观int[]GameReday=newint[255];//走棋准备状态//旁观获得走棋信息stringlookuser="";2、打开客户端goo.exe这里直接设置了进入到房间“0”,进入后显示“等待其他人加入”,先进房的执黑旗,按钮不可用;当有第2个人进入后,执白棋,按钮显示“准备”;双方都点击“准备”后,进入对局;后面再有人进入为旁观者,能看见双方对局信息。房间都是“0”。地址:client=newTcpClient("192.168.0.104",51888);//定义服务器端ip地址和端口,与服务器端定义要一致根据你的需要进行修改;客户端定义:privateint[,]Qpan=newint[24,24];//棋盘数组privatestringSendLook=null;//发送给旁观者的对局信息privateconstintQz_Null=0;//没有棋子privateconstintQz_Black=1;//黑子privateconstintQz_White=2;//白子privateconstintMax_Qpan=23;//棋盘最大路数privateint[,]TmpA_Qpan=newint[24,24];//临时存储棋盘privateint[,]TmpB_Qpan=newint[24,24];//临时存储棋盘privateint[,]Tmp_Qpan=newint[24,24];//临时存储棋盘privateintCurrent_Go=1;//当前棋子颜色privateintQpan_Count=19;//当前棋盘路数privateintRame;//气数privateintDie_Num;//死子数privatebool_Attack=false;//是否打劫privateintAttack_X=0;//打劫位置privateintAttack_Y=0;//打劫位置privatePanelg_Hei;//鼠标移动黑块privatePanelg_Bai;//鼠标移动白块privatePanelFit_Hei;//最后落子标记黑privatePanelFit_Bai;//最后落子标记白privatePanel[,]QzH=newPanel[20,20];//黑棋子privatePanel[,]QzB=newPanel[20,20];//白棋子intLastFitX=0;//给旁观最后落子位置intLastFitY=0;//给旁观最后落子位置intLastHB=0;//给旁观最后落子颜色PointMouseoff;//鼠标位置boolgo_play=false;//能否走棋intSelect_Qzi=0;//是黑还是白,1-黑,2-白intReceiveHB=1;//接收到的棋子颜色函数://初始化棋盘、棋子privatevoidInitQpan()//判断该谁走棋privatevoidJudge_HB()//显示棋子privatevoidShowQz(inti,intj,intQzHB)//重置棋盘棋子privatevoidRest_Qpan()//备份棋盘棋子privatevoidQpan_Backup()//恢复棋盘棋子privatevoidQpan_Restore()//刷新棋盘棋子privatevoidQpan_Refresh(intQzHB)//计算棋子的气数底层函数privatevoidBase_Calc(inti,intj,intQzHB)//计算气数privatevoidCalc_Ream(intm,intn,intQzHB)//计算气数接口privatevoidCalc_Interface(intQzHB)//落子处理,判断打劫、打n还1、吃掉对方棋子privatevoidFalling(intxx,intyy)//设置打劫privatevoidSet_Attack(inti,intj)//最后落子标记privatevoidFit_Flag(intxx,intyy)//旁观者最后落子标记privatevoidLookFit_Flag(intQhb,intxx,intyy)//对方走棋显示在己方并判断打劫、打n还1、吃掉对方棋子privatevoidOpp_Falling()3、跨线程调用封装在CrossThreadCall.cs4、时间有限,程序没有做计算胜负,没有做掉线处理。基本规则有了,其他的就是套接字变来变去,需要新功能自己添加。只是一个初学练习,更多初学资料到我的博客http://www.cnblogs.com/qiaoke/ - IMDN开发者社群-imdn.cn">
首页 »
C# »
C# Winform网络围棋(可对战)
于 2017-03-12 发布
0 317
程序使用VS2015,.NET4.5,.NET 2.0以上都可以编译使用,无第三方组件,可生成32、64位。Socket网络传输,可以对战、旁观,围棋走棋规则基本全面,可直接对杀。围棋规则算法写代码太麻烦,直接参考了GreatVerveGo(是单机的)算法,感谢作者。程序包含客户端和服务端2各部分。图片文件在gooinDebugRes里面1、先启动服务端 goServer.exe服务端:地址为IPAddress[] addrIP = Dns.GetHostAddresses("192.168.0.104"); //ip地址端口51888,根据你的需要进行修改;进入服务端后点击“开始监听”。服务端定义://连接的用户System.Collections.Generic.List userList = new List();//监听端口private int port = 51888;//走棋判断int[] GameRoom = new int[255]; //房间号int[] GameUser = new int[255]; //房间人数;int[] GameStat = new int[255]; //走棋状态:1-等待、2-准备、3-开始、4-旁观int[] GameReday = new int[255]; //走棋准备状态//旁观 获得走棋信息string lookuser = "";2、打开客户端 goo.exe这里直接设置了进入到房间“0”,进入后显示“等待其他人加入”,先进房的执黑旗,按钮不可用;当有第2个人进入后,执白棋,按钮显示“准备”;双方都点击“准备”后,进入对局;后面再有人进入为旁观者,能看见双方对局信息。房间都是“0”。地址:client = new TcpClient("192.168.0.104", 51888); //定义服务器端ip地址和端口,与服务器端定义要一致根据你的需要进行修改;客户端定义:private int[,] Qpan = new int[24, 24]; //棋盘数组private string SendLook = null; //发送给旁观者的对局信息private const int Qz_Null = 0; //没有棋子private const int Qz_Black = 1; //黑子private const int Qz_White = 2; //白子private const int Max_Qpan = 23; //棋盘最大路数private int[,] TmpA_Qpan = new int[24, 24]; //临时存储棋盘private int[,] TmpB_Qpan = new int[24, 24];//临时存储棋盘private int[,] Tmp_Qpan = new int[24, 24];//临时存储棋盘private int Current_Go = 1; //当前棋子颜色private int Qpan_Count = 19; //当前棋盘路数private int Rame; //气数private int Die_Num; //死子数private bool _Attack = false; //是否打劫private int Attack_X = 0; //打劫位置private int Attack_Y = 0; //打劫位置private Panel g_Hei; //鼠标移动 黑块private Panel g_Bai; //鼠标移动 白块private Panel Fit_Hei; //最后落子标记 黑private Panel Fit_Bai; //最后落子标记 白private Panel[,] QzH = new Panel[20,20]; //黑棋子private Panel[,] QzB = new Panel[20,20]; //白棋子int LastFitX = 0; //给旁观最后落子位置int LastFitY = 0; //给旁观最后落子位置int LastHB = 0; //给旁观最后落子颜色Point Mouseoff; //鼠标位置bool go_play = false; //能否走棋int Select_Qzi = 0; //是黑还是白,1-黑,2-白int ReceiveHB =1; //接收到的棋子颜色函数://初始化棋盘、棋子private void InitQpan()//判断该谁走棋private void Judge_HB()//显示棋子private void ShowQz(int i, int j, int QzHB)//重置棋盘棋子private void Rest_Qpan()//备份棋盘棋子private void Qpan_Backup()//恢复棋盘棋子private void Qpan_Restore()//刷新棋盘棋子private void Qpan_Refresh(int QzHB)//计算棋子的气数底层函数private void Base_Calc(int i, int j, int QzHB)//计算气数private void Calc_Ream(int m, int n, int QzHB)//计算气数接口private void Calc_Interface(int QzHB)//落子处理,判断打劫、打n还1、吃掉对方棋子private void Falling(int xx, int yy)//设置打劫private void Set_Attack(int i, int j)//最后落子标记private void Fit_Flag(int xx, int yy)//旁观者最后落子标记private void LookFit_Flag(int Qhb, int xx, int yy)//对方走棋显示在己方并判断打劫、打n还1、吃掉对方棋子private void Opp_Falling()3、跨线程调用封装在CrossThreadCall.cs4、时间有限,程序没有做计算胜负,没有做掉线处理。基本规则有了,其他的就是套接字变来变去,需要新功能自己添加。只是一个初学练习,更多初学资料到我的博客http://www.cnblogs.com/qiaoke/
下载说明:请别用迅雷下载,失败请重下,重下不扣分!
ARPfindMACaddress
说明: ARP协议发现局域网内的活动主机,vc++语言编写,用有界面,美观实用(ARP protocol found in the activities of the LAN hosts, vc++ language, with a interface, beautiful and practical)
2011-02-23 07:22:30下载
积分:1
CHAT
局域网聊天软件,可多人在线,具有文件传输功能和各部分代码解释,在线好友有好友列表可见(LAN chat software, online multiplayer, with file transfer capabilities and explain each part of the code, online friends have seen Buddy List)
2013-06-30 10:54:23下载
积分:1
openssl
为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。(The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing ...
)
2014-01-19 23:59:58下载
积分:1
smart-home-server
基于select的多线程并发服务器,可用作基础服务器框架(Multithread concurrent server)
2020-06-18 16:00:02下载
积分:1
c hap5
C++网络通信 ftp 服务器 客户端
(C++network ftp server clinet)
2009-12-26 17:44:57下载
积分:1
POP3_EXAMPLE
Pop3客户端接收信件的整个流程:
1。连接到pop3服务器(默认端口110)
2。发送用户名(user)
3。发送密码(pass)
4。查询当前邮箱状态(stat)
5。查询服务器上所有邮件UID列表(UIDL)
6。查询本地所有邮件的UID列表,从而罗列出新邮件列表(本地UID列表是POP3客户端记录在日志文件中的)
7。对所有新邮件查询其大小(LIST)
8。下载所有新邮件(RETR)利用List提供的邮件大小信息
9。如果有必要,对所有新邮件标志为删除(DELE)
10。结束对话(QUIT)
11。解析本地下载邮件。(Pop3 client receives the entire flow of letters: 1. Connect to the pop3 server (default port 110) 2. Send user name (user) 3. Send password (pass) 4. Query current mail status (stat) 5. Query server UID list of all messages (UIDL) 6. Query local UID list of all messages, which set out the new mailing list (local UID is a POP3 client list recorded in the log file) 7. For all new e-mail inquiries about their size (LIST) 8. Download all new messages (RETR) to use List of information provided by message size 9. If necessary, for all new signs for the delete message (DELE) 10. The end of the dialogue (QUIT) 11. Analysis of local download your mail.)
2021-01-03 19:38:55下载
积分:1
iliyh
含有可執行文件,用bmp來卸的,非常漂亮的表面(Contains executable files, unloaded with bmp, very nice surface)
2018-10-22 03:47:53下载
积分:1
haisanids
VC++网络连接监控程序源代码,适合编写网络监控的编程者参考,选择监听的网络IP地址后才可以开始监听里程。并包括了IDS过滤器参数设置,几点提示:
1.初始状态只监听连接,不捕获IP数据
2.鼠标右击列表选择或取消监控某端口数据
3.为防止ping攻击,一般情况ping数据全部监控
4.监控某端口数据时,不监控ping包
5.数据超过20k将被清空
6.右边窗口停止抓包后显示十六进制数(VC++ source code network connection monitoring, network monitoring program for the preparation of reference, select the monitor s network IP address before you can start listening mileage. And includes IDS filter parameter settings, a few tips:
1. Initial state only listen for connections, do not capture IP data
2 Right-click the list to select or deselect a port monitoring data
3 To prevent ping attacks, general ping all monitoring data
4 When a port monitoring data, no monitoring of ping packets
5 The data will be cleared over 20k
6 right window displays the hexadecimal number stopped after capture)
2014-07-02 10:17:36下载
积分:1
soc kAPI
windows socket API的基本应用
完整工程;服务器异步监听模式
适合初学参考。(The basic application windows socket API complete works server asynchronous listening mode suitable for beginners reference.)
2009-10-17 09:11:45下载
积分:1
mymailc ode
本程序主要进行了发邮件的编写 已经调试通过了 可以进行发邮件的处理(the main procedures for the preparation of the mail has been testing can be conducted through the mail processing)
2007-03-22 10:17:52下载
积分:1