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 295
程序使用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/
下载说明:请别用迅雷下载,失败请重下,重下不扣分!
LPFW使用户可以控制允许哪些应用程 序使用网 络 lpfw-master
LPFW使用户可以控制允许哪些应用程序使用网络。它配备了一个GUI。
这些说明专门适用于64位Ubuntu 14.04,但很可能适用于其他Linux发行版。请注意,在32位Linux上,lpfw可能无法正常运行。(LPFW gives the user control over which applications are allowed to use the network. It comes with a GUI.
These instructions apply specifically to Ubuntu 14.04 64-bit but are very likely to work on other Linux distributions. Please note that on 32-bit Linuxes lpfw may function incorrectly.)
2020-06-22 00:00:01下载
积分:1
MACD-EA
此款EA,是利用MACD指标金叉与死叉,分别对应开多单与开空单,与传统的参数有改进!(This section EA, is the use of MACD indicators Jincha and Sicha, respectively, more than a single open and open the corresponding single-block, with the traditional parameters have improved!)
2021-03-25 01:39:14下载
积分:1
C# ModBus发送数据以及接收数据 示例源码
C# ModBus发送数据以及接收数据 示例源码
2019-10-21下载
积分:1
C# 通过网 络 和三菱的PLC通信
C# 通过网络和三菱的PLC通信
2016-12-27下载
积分:1
juyuwangliaotian
局域网聊天软件,主要功能是发送文字消息,语音消息,图片,功能强大,界面简单(LAN chat software, the main function is to send text messages, voice messages, pictures, powerful, simple interface)
2012-07-13 09:25:37下载
积分:1
Appendix26
Icmp高级编程 代码在vc++6.0下调试通过(ICMP high-level programming code vc++ 6.0 debugging through)
2008-08-21 17:20:39下载
积分:1
jiayoua_modbusm
说明: arj欺骗代码,c语言,以可改变网卡接收模式,获取所有经过的数据包(arj cheat code, c language, in order to change the network card can receive mode, after obtaining all the data packets)
2010-04-11 14:47:51下载
积分:1
Async Tc p
一般的聊天程序都是使用socket方式通讯的。对于一个聊天程序来说一般是一个服务器用来中转消息,然后是多个客户端通过连接服务器来消息交换。(General chat programs are using the socket mode of communication. For a chat program, it is generally a server used to relay the message, then multiple clients to connect to the server through the exchange of messages.)
2013-08-26 10:10:08下载
积分:1
Fat-Tree
基于opnet的胖树多播网络仿真,主要为多播算法的仿真,程序较完善(Opnet fat tree multicast network simulation, primarily for multicast algorithm based simulation program better)
2021-02-08 15:09:54下载
积分:1
声源定位
矢量传感器对声源定位的MATLAB仿真程序,二元阵线列阵对声源定位程序(MATLAB simulation program of vector sensor for sound source localization, two element array array for sound source localization.)
2021-03-09 10:29:28下载
积分:1