c语言实现三子棋

c语言实现三子棋,第1张

c语言实现三子棋 日后出详解。  

 

 

 

 

完整代码,复制可用:
#define HANG 3
#define LIE 3
#include
//#include"ojbk.h"
#include
#include
int caidan()
{
	do{
		int x=0;
		printf("******三子棋******n");
		printf("开始游戏请按1n");
		printf("调节难度请按2n");
		printf("退出游戏请按3n");
		printf("查看游戏说明请按4n");
		printf("******************n");
		scanf("%d",&x);
		system("cls");
		if(x==1)
			return 1;
		else if(x==3)
			return 3;
		else if(x==4)
			return 4;
		else if(x==2)
			return 2;
		else
			continue;
	}while(1);
}
void daying(char x[LIE][HANG])
{
	int i,j;
	for(i=0;i=1&&a<=3&&b>=1&&b<=3)
		   {
		        if(ch[a-1][b-1]==' ')
				{
			    ch[a-1][b-1]='*';
			    break;
			}
		    else if(ch[a-1][b-1]=='#'||ch[a-1][b-1]=='*')
			{
			    printf("睁大你的小眼睛,这个位置不能下了哦,换个位置吧");
			    continue;
			}
		   }
          else
		  {
		       printf("这,,这这这,没有这个坐标啊,好好输行吗?重新输!");
		        continue;
		  }
		   }while(1);
       //玩家输入
		   //判定
		   jieguo=panding(ch);
		   if(jieguo!=0)
			   break;
       //电脑输入
		   //简单模式;
		if(nandu==1)
		{
	      for(int i=0;i<3;i++)
		  {

			  int x=0;
			  for(int j=2;j>=0;j--)
			  {
				  if(ch[j][i]==' ')
				  {
					  ch[j][i]='#';
					  x++;
					  break;
				  }
				  else;
			  }
			  if(x==1)
				  break;
		}
		}
	  //电脑输入;
		//困难模式;
		else if(nandu==2)
		{
		//
		  while(1)
		  {
			int x=0,biao=0;
		//	int m,n;
			int i,j;
				if(ch[0][0]=='#'&&ch[1][1]=='#')
		  {
			  if(ch[2][2]==' ')
			  {ch[2][2]='#';
			  break;}
		  }
		  if(ch[2][2]=='#'&&ch[1][1]=='#')
		  {
			  if(ch[0][0]==' ')
			  {ch[0][0]='#';
			  break;}
		  }
		  if(ch[0][0]=='#'&&ch[2][2]=='#')
		  {
			  if(ch[1][1]==' ')
			  {
				  ch[1][1]='#';
				  break;}
		  }
		  if(ch[0][2]=='#'&&ch[1][1]=='#')
		  {
			  if(ch[2][0]==' ')
			  {ch[2][0]='#';
			  break;}
		  }
		  if(ch[0][2]=='#'&&ch[2][0]=='#')
		  {
			  if(ch[1][1])
			  {
			  ch[1][1]='#';
			  break;
			  }
		  }
		  if(ch[2][0]=='#'&&ch[1][1]=='#')
		  {
			  if(ch[0][2]==' ')
			  {ch[0][2]='#';
			  break;}
		  }

			for( i=0;i<3;i++)//列
		  {
			  int biao2=0;
			  x=0;
			  for(j=0;j<3;j++)//检查一列是否有二个#,
				  if(ch[j][i]=='#')
					  x++;
			if(x==2)
				for(j=0;j<3;j++)
					if(ch[j][i]==' ')
				{
					ch[j][i]='#';
					biao=1;
					biao2++;
					break;
				}
				if(biao2==1)
					break;
		  }
		  if(biao==1)
			  break;
			for(i=0;i<3;i++)//行
		  {
			  x=0;
			  int biao2=0;
			  for(j=0;j<3;j++)//检查一行是否有二个#,
				  if(ch[i][j]=='#')
					  x++;
			if(x==2)
				for(j=0;j<3;j++)
					if(ch[i][j]==' ')
					{	ch[i][j]='#';
					    biao++;
						biao2++;
						break;
					}
				if(biao2==1)
					break;
		  }
		  if(biao==1)
			  break;
          for(i=0;i<3;i++)//行
		  {
			  x=0;
			  int biao2=0;
			  for(j=0;j<3;j++)//检查一行是否有二个*,
				  if(ch[i][j]=='*')
					  x++;
			if(x==2)
				for(j=0;j<3;j++)
					if(ch[i][j]==' ')
					{	ch[i][j]='#';
					    biao++;
						biao2++;
						break;
					}
				if(biao2==1)
					break;
		  }
		  if(biao==1)
			  break;
		  for( i=0;i<3;i++)//列
		  {
			  int biao2=0;
			  x=0;
			  for(j=0;j<3;j++)//检查一列是否有二个*,
				  if(ch[j][i]=='*')
					  x++;
			if(x==2)
				for(j=0;j<3;j++)
					if(ch[j][i]==' ')
				{
					ch[j][i]='#';
					biao=1;
					biao2++;
					break;
				}
				if(biao2==1)
					break;
		  }
		  if(biao==1)
			  break;
		  if(ch[0][0]=='*'&&ch[1][1]=='*')
		  {
			  if(ch[2][2]==' ')
			  {ch[2][2]='#';
			  break;}
		  }
		  if(ch[2][2]=='*'&&ch[1][1]=='*')
		  {
			  if(ch[0][0]==' ')
			  {
			  ch[0][0]='#';
			  break;}
		  }
		  if(ch[0][0]=='*'&&ch[2][2]=='*')
		  {
			  if(ch[1][1]==' ')
			  {ch[1][1]='#';
			  break;}
		  }
		  if(ch[0][2]=='*'&&ch[1][1]=='*')
		  {
			  if(ch[2][0])
			  {
			  ch[2][0]='#';
			  break;}
		  }
		  if(ch[0][2]=='*'&&ch[2][0]=='*')
		  {
			  if(ch[1][1]==' ')
			  {
			  ch[1][1]='#';
			  break;}
		  }
		  if(ch[2][0]=='*'&&ch[1][1]=='*')
		  {
			  if(ch[0][2]==' ')
			  {
			  ch[0][2]='#';
			  break;}
		  }

			  
		  for(i=2;i>0;i++)
		  {

			   int k=0;
			  for(j=2;j>=0;j--)
			  {
				  if(ch[j][i]==' ')
				  {
					  ch[j][i]='#';
					  k++;
					  break;
				  }
				  else;
			  }
			  if(k==1)
			  {   biao++;
				  break;
			  }
		  }
		  if(biao==1)
			  break;






			  
		  }//
		}

	//判定
		   jieguo=panding(ch);
		   if(jieguo!=0)
			   break;
		}
		system("cls");
		daying(ch);
		jieguo=panding(ch);
		jieguo=fcai();
		if(jieguo==1)
			continue;
		else if(jieguo==2)
			break;
	}
	}
    //结束游戏
	else if(shuru==3)
	{
		system("cls");
		printf("不玩拉倒,再见!n");
		break;
	}
	//游戏说明
	else if(shuru==4)
	{
		jieguo=shuoming();
		if(jieguo==1)
		{
			system("cls");
			continue;
		}
	}
	else if(shuru==2)
	{
		system("cls");
		nandu=tiaojie();
		continue;
	}
	system("cls");
	}
	
	
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5097224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存