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

📄 三子棋tic_tac_toc.cpp

📁 三子棋
💻 CPP
字号:
#include<iostream>
using namespace std;
class game
{public:
   game();
   void display();
   void playone(char c);
   char win();
 private:
    char a[3][3];
};
int main()
{ loop:game m;
 char q='f'; 
 int i=0;
  m.display();
 do
 {i=i+1;
   if(i%2==1)
   {m.playone('x');m.display();
    if(i>4) q=m.win();}
   else
   {m.playone('o');m.display();
    if(i>4) q=m.win();}
 }while(q=='f'&&i<10);
 if(i==10) cout<<"没人赢!"<<endl;
 else cout<<q<<"赢了"<<endl;
 cout<<"还要继续玩吗?(y/n)"<<endl;
 cin>>q;
 if(q=='y') 
	 goto loop;
 else return 0;
 }
game::game()
{for(int i=0;i<3;i++)
	for(int j=0;j<3;j++)
	   a[i][j]=48+i*3+j+1;
}
void game::display()
{for(int i=0;i<3;i++)   
{for(int j=0;j<3;j++)
	  cout<<a[i][j]<<"  ";
  cout<<endl;
}
}
void game::playone(char c)
{cout<<"请"<<c<<"走棋:";
 int m,i,j;
 cin>>m;
 i=(m+2)/3-1;
 j=(m-1)%3;
 a[i][j]=c;
}
char game::win()
{int i;
 for(i=0;i<3;i++)	 
 {if((a[i][0]==a[i][1]&&a[i][0]==a[i][2])||(a[0][i]==a[1][i]&&a[0][i]==a[2][i]))
  return a[i][i];
 else if((a[0][0]==a[1][1]&&a[0][0]==a[2][2])||(a[0][2]==a[1][1]&&a[1][1]==a[2][0]))
	   return a[1][1];
      else return 'f';
 }
 }

⌨️ 快捷键说明

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