winform实现五子棋游戏
本文实例为大家分享了winform实现五子棋游戏的具体代码,供大家参考,具体内容如下
利用数组,根据新旧数组值的不同,获取那个点是什么棋子;
说明:
棋盘:15*15;
定义4个全局变量:
string[,]stroldlist=newstring[15,15];//初始的List publicstring[,]strlist=newstring[15,15];//0:未下,1:黑子2:白子 inticount=0;//五子连线算赢 stringabc="";//获取是白子还是黑子,1=黑子2=白子0=无子
自我感觉这种方法好笨,但是实在想不到什么好方法了。
代码如下:
#region判断输赢 publicvoidPanDuan(){ //赋值 for(inti=0;i<225;i++){ strlist[i/15,i%15]=sandwich[i].btn.Text; if(stroldlist[i/15,i%15]!=strlist[i/15,i%15]){ stroldlist[i/15,i%15]=strlist[i/15,i%15];//把新数组赋值给旧数组 icount=i; abc=strlist[i/15,i%15]; } } //检查输赢,共有四中情况,横、竖、左斜、右斜 intix=icount/15;//X轴 intiy=icount%15;//y轴 //PublicClass.ShowMessage(ix+"--------"+iy); intcount=0;//五个点相连为赢 //intkstart=0;//五子连开始的点 //四种情况,横、竖、左斜、右斜 //横(左上角坐标为0,0)"|" intk_shu_min=ix-4<0?0:ix-4; intk_shu_max=ix+4<15?ix+4:14; for(intk=k_shu_min;k<=k_shu_max;k++){ if(strlist[k,iy]==abc){ count++; if(count>=5){ if(abc=="1"){ PublicClass.ShowMessage("黑子胜!"); } if(abc=="2"){ PublicClass.ShowMessage("白子胜!"); } return; } }else{ count=0; } } count=0;//count值清0 //竖"一" intk_heng_min=iy-4<0?0:iy-4; intk_heng_max=iy+4<15?iy+4:14; for(intk=k_heng_min;k<=k_heng_max;k++){ if(strlist[ix,k]==abc){ count++; if(count>=5){ if(abc=="1"){ PublicClass.ShowMessage("黑子胜!"); } if(abc=="2"){ PublicClass.ShowMessage("白子胜!"); } return; } }else{ count=0; } } count=0; //左斜"/" intk_left_min=ix-4<0?0:ix-4; intk_left_max=ix+4<15?ix+4:14; for(intk=k_left_min;k<=k_left_max;k++){ intky=0; if(ix+iy>14){ ky=ix+iy-k>=14?14:ix+iy-k; }else{ ky=ix+iy-k<=0?0:ix+iy-k; } if(strlist[k,ky]==abc){ count++; if(count>=5){ if(abc=="1"){ PublicClass.ShowMessage("黑子胜!"); } if(abc=="2"){ PublicClass.ShowMessage("白子胜!"); } return; } }else{ count=0; } } count=0; //右斜"\" intk_right_min=iy-4<0?0:iy-4; intk_right_max=iy+4<15?iy+4:14; for(intk=k_right_min;k<=k_right_max;k++){ intkx=0; if(ix=14?14:ix-iy+k; } //PublicClass.ShowMessage(kx+"---"+k); if(strlist[kx,k]==abc){ count++; if(count>=5){ if(abc=="1"){ PublicClass.ShowMessage("黑子胜!"); } if(abc=="2"){ PublicClass.ShowMessage("白子胜!"); } return; } }else{ count=0; } } count=0; } #endregion
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。