⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo.h

📁 在VC环境下用C++语言编写的一字棋小程序
💻 H
字号:
#include "itc.h"


class demo : public Tic
{
public:
	demo()
	{
	
	}
	bool Judge()
  {
     int i,j,a=0;
	 for(i=0;i<3;i++)
		 for(j=0;j<3;j++)
			 if(States[0].QP[i][j]==0) a++;
	if(a==0)return true;
	return  false; 
  }
	virtual bool AutoDone() //此处为学生实现代码
	{ int a,b,i,j,m,n,max,min,x,y;
	 
	 if(IsWin(States[0])==-1)
	 {
	   cout<<"恭喜您获胜!"<<endl;
	     return true;
	 }		
	a=0,b=0;
	 max=-10000;
      for(x=0;x<3;x++)
		for(y=0;y<3;y++)
		  States[11].QP[x][y]=States[0].QP[x][y];
    for(i=0;i<3;i++)
	  for(j=0;j<3;j++)
		 {
		   if(States[0].QP[i][j]==0)
		   {  a=1;
		     for(x=0;x<3;x++)
		       for(y=0;y<3;y++)
			 States[a].QP[x][y]=States[0].QP[x][y];
			 States[a].QP[i][j]=1;
			 min=10000;
             for(m=0;m<3;m++)
			  for(n=0;n<3;n++)
			  {  
				   if(States[a].QP[m][n]==0)
				   {  b=1;
                    for(x=0;x<3;x++)
			         for(y=0;y<3;y++)
			         States[10].QP[x][y]=States[a].QP[x][y];	
					 States[10].QP[m][n]=-1; 
                     States[10].e_fun=e_fun(States[10]);
				//	  if(States[10].e_fun==NO_BLANK) States[10].e_fun=-1;  
					 if(States[10].e_fun<min) min=States[10].e_fun;         
				   }
				}
			States[a].e_fun=min; 
               if(States[a].e_fun>max) 
				{	max=States[a].e_fun;
				    for(x=0;x<3;x++)
				     for(y=0;y<3;y++)
						States[11].QP[x][y]=States[a].QP[x][y];
				} 
		   }	
		}
	  
				for(x=0;x<3;x++)
				 for(y=0;y<3;y++)
			      States[0].QP[x][y]=States[11].QP[x][y];
					
	     cout<<"计算机走棋"<<endl;
	    PrintQP();
		if(IsWin(States[0])==1)
		{
		  cout<<"抱歉你输了,计算机获胜!"<<endl;
			return true;
		}
		else if(IsWin(States[0])==-1)
	 {
	   cout<<"恭喜您获胜!"<<endl;
	     return true;
	 }
	  return false;
		
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -