You are on page 1of 9

#include<conio.

h>
#include<iostream>
using namespace std;
#include<stdio.h>
#include<dos.h>
#include<windows.h>
#include<string.h>
struct o
{
int n;
//char kitu[1];
int kt;
};
struct ban
{
o list[25][25];
int n;
int x,y;// toa do
};
void khoitao(ban &a)
{
a.n=0;
}
void nhap(ban &a)
{
cout<<"\n nhap so o co(kich thuoc toi da:25x25): ";
cin>>a.n;
for(int i=0;i<a.n;i++)
{
for(int j=0;j<a.n;j++)
{
a.list[i][j].kt=0;
}
}
}
/*void test(ban a)
{
for(int i=0;i<a.n;i++)
{
cout<<"\n";
for(int j=0;j<a.n;j++)
{
cout<<a.list[i][j].kt<<" ";
}
}
}*/
void xuat(ban a)
{
cout<<"\n\n";
for(int j=0;j<a.n;j++)
{
if(j<=9)
cout<<j<<" ";
else
cout<<j<<" ";
}
//cout<<"\n";
for(int i=0;i<a.n;i++)
{

if(i!=0)
{
if(i<=9)
{
cout<<i<<" ";
//cout<<"\n";
}
else
{
cout<<i<<" ";
//cout<<"\n";
}
}
for(int k=1;k<a.n;k++)
{
if(a.list[i][k].kt==1)
{
if(k<=9)
cout<<"X"<<" ";
else
cout<<"X"<<" ";
}
else
{
if(a.list[i][k].kt==2)
{
if(k<=9)
cout<<"O"<<" ";
else
cout<<"O"<<" ";
}
else
if(i!=0)
{
if(k<=9)
cout<<"."<<" ";
else
cout<<"."<<" ";
}
}
}
cout<<"\n";
}
}
void danh(ban &a,int so)
{
nhaptoado:
dong:
cout<<"\n nhap toa do can danh (hang,cot): ";
cout<<"\n ( , )";
cin>>a.x;
if(a.x<=0||a.x>a.n)
{
cout<<"\n toa do khong xac dinh \n";
goto dong;
}
cot:
cout<<"\n ("<<a.x<<", )";
cin>>a.y;

if(a.y<=0||a.y>a.n)
{
cout<<"\n toa do khong xac dinh \n";
goto cot;
}
cout<<"\n ("<<a.x<<","<<a.y<<") \n\n";
for(int i=0;i<a.n;i++)
{
for(int j=0;j<a.n;j++)
{
if(i==a.x&&j==a.y)
{
if(a.list[i][j].kt!=1&&a.list[i][j].kt!=2)
a.list[i][j].kt=so;
else
{
cout<<"\n vi tri nay da ton tai.... \n\n
";
goto nhaptoado;
}
}
}
}
}
/////////////////////////////////////////////////////
int ktngang(ban a,int so)
{
int dem=0;
int ktn=0;
int t=0;
//int vti,vtj;
for(int i=0;i<a.n;i++)
{
for(int j=0;j<a.n;j++)
{
if(a.list[i][j].kt==so)
{
if(a.list[i][j+1].kt==so)
{
dem+=1;
if(dem==4)
{
t=1;
break;
}
}
}
else
{
if(dem==4)
{
t=1;
break;
}
else
dem=0;
}

}
if(t==1)
{
ktn=1;
break;
}
else
ktn=0;
}
return ktn;
}
////////////////////////////////////////////
int ktcot(ban a,int so)
{
int dem=0;
int ktn=0;
int t=0;
//int vti,vtj;
for(int i=0;i<a.n;i++)
{
for(int j=0;j<a.n;j++)
{
if(a.list[j][i].kt==so)
{
if(a.list[j+1][i].kt==so)
{
dem+=1;
if(dem==4)
{
t=1;
break;
}
}
}
else
{
if(dem==4)
{
t=1;
break;
}
else
dem=0;
}
}
if(t==1)
{
ktn=1;
break;
}
else
ktn=0;
}
return ktn;
}
///////////////////////////////////////

int ktcheochinhtang(ban a,int so)


{
int dem=0;
int ktn=0;
int t=0;
for(int i=0;i<a.n;i++)
{
if(a.list[i][i].kt==so)
{
if(a.list[i+1][i+1].kt==so)//||a.list[i-1][i-1].kt==so)
{
dem+=1;
if(dem==5)
{
t=1;
break;
}
}
}
else
{
if(dem==5)
{
t=1;
break;
}
else
{
t=0;
dem=0;
}
}
}
return t;
}
/////////////////////////////////////
int ktcheochinhgiam(ban a,int so)
{
int dem=0;
int ktn=0;
int t=0;
for(int i=0;i<a.n;i++)
{
if(a.list[i][a.n-i].kt==so)
{
if(a.list[i][a.n-i].kt==so)
{
dem+=1;
if(dem==5)
{
t=1;
break;
}
}
}
else

{
if(dem==5)
{
t=1;
break;
}
else
{
t=0;
dem=0;
}
}
}
return t;
}
/////////////////////////////////
int ktcheochinh(ban a,int so)
{
int kt=0;
if(ktcheochinhtang(a,so)==1)
kt=1;
else
{
if(ktcheochinhgiam(a,so)==1)
kt=1;
else
kt=0;
}
return kt;
}
/////////////////////////////////
int ktcheophutang(ban a,int so)
{
int dem=0;
int ktn=0;
int t=0;
//int vti,vtj;
for(int i=0;i<a.n;i++)
{
//vti=i;
for(int j=0;j<a.n;j++)
{
if(a.list[i][j].kt==so)
{
if(a.list[i+1][j+1].kt==so)//||a.list[i+
1][j-1].kt==so)
{
dem+=1;
if(dem==4)
{
t=1;
break;
}

}
else
{
if(dem==4)
{
t=1;
break;
}
else
{
t=0;
dem=0;
}
}
i++;
}
if(t==1)
{
ktn=1;
break;break;break;
}
else
ktn=0;
//i++;
}
}
return ktn;
}
//////////////////////////////////
int ktcheophugiam(ban a,int so)
{
int dem=0;
int ktn=0;
int t=0;
//int vti,vtj;
for(int i=0;i<a.n;i++)
{
//vti=i;
for(int j=a.n;j>0;j--)
{
if(a.list[i][j].kt==so)
{
//j++;
if(a.list[i+1][j-1].kt==so)//||a.list[i+
1][j-1].kt==so)
{
dem+=1;
if(dem==4)
{
t=1;
break;
}
}
else
{
if(dem==4)

{
t=1;
break;
}
else
{
t=0;
dem=0;
}
}
i++;
}
if(t==1)
{
ktn=1;
break;break;break;
}
else
ktn=0;
//i++;
}
}
return ktn;
}
//////////////////////////////////
int ktcheophu(ban a,int so)
{
int kt=0;
if(ktcheophutang(a,so)==1)
kt=1;
else
{
if(ktcheophugiam(a,so)==1)
kt=1;
else
kt=0;
}
return kt;
}
void action(ban a)
{
action:
//clrscr();
cout<<"\n\n Player 1\n\n";
danh(a,1);
xuat(a);
cout<<"\n\n"<<ktcheophu(a,1);
if(ktngang(a,1)==1||ktcot(a,1)==1||ktcheochinh(a,1)==1||ktcheophu(a,1)==
1)
cout<<"\n\n +++++++++++++++ PLAYER 1 WIN ++++++++++++++++ \n\n\n
";
else
{
cout<<"\n\n Player 2\n\n";
danh(a,2);
xuat(a);
if(ktngang(a,2)==1||ktcot(a,2)==1||ktcheochinh(a,2)==1||ktcheoph
u(a,2)==1)

cout<<"\n\n +++++++++++++++++ PLAYER 2 WIN +++++++++++++


+++ \n\n\n";
else
goto action;
}
}
void menu()
{
cout<<"\n DO CHI MOI LA BAN BETA 1 NEN TRONG CHUONG TRINH SE CON NHIEU S
AI SOT \n MONG CAC BAN HAY DONG GOP Y KIEN \n DE CUNG NHAU PHAT TRIEN CHUONG TRI
NH NGAY CANG TOT HON \n ....XIN CAM ON \n";
//delay(500);
cout <<"\n\t ********************* CHIP-IT| |
********************
*"<< endl;
cout <<"\t ********************** ---|---|--- **********************"<<
endl;
cout <<"\t***********************
|11TH02|
***********************
"<< endl;
cout <<"\t ********************** ---|---|--- **********************"<<
endl;
cout <<"\t *********************
| |BINH DUONG UNIVERSITY ********
**********"<< endl;
cout << "\t
****** Created by NGUYEN HUYNH ANH TAI, BETA 1 *******"
<< endl;
cout << endl;
cout<<"\n\n\n**************************";
cout<<"\n 1.BAT DAU CHOI\n";
cout<<" 0.EXIT \n";
int a;
cin>>a;
if(a==1)
{
lai:
ban a;
int chon;
khoitao(a);
nhap(a);
xuat(a);
action(a);
cout<<"\n 1.CHOI LAI ";
cout<<"\n 0.EXIT \n";
cin>>chon;
if(chon==1)
goto lai;
}
}
void main()
{
menu();
}

You might also like