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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。