正文

五 字 棋 游 戏2006-08-07 16:28:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/17380.html

分享到:

#include <iostream>
#include <stdlib.h>
using namespace std;
class fivegame
{ char m,n;
int h,l;
 char z;
 char list[20][20];
public:
 int kk;
 int init();
 int enterchar(char q);
 int print();
 int pk();
 int ifwin();
 bool ison;
 bool test();
 char list1[5];
 int puout(); 
}; 



int fivegame::puout()
{ cout<<" 这 是 个 五 字 棋 游 戏 "<<endl;
 cout<<" 制作--elva6401-- "<<endl;
 cout<<" (注:行列都要用大写字母)"<<endl;
return 0;
}
 bool fivegame::test()
{
 int i;
for (i=0;i<=4;i++)
{if (list1[i]!=z)
return false;}
return true;
}
 
 
int fivegame::init()
{ int i,j,m=0;
for (i=0;i<=9;i++) cout<<i<<" ";
for (i=65;i<=75;i++) cout<<static_cast<char>(i)<<" ";
cout<<0<<endl;
for (j=0;j<=8;j++)
{ m=m+1; cout<<m<<" ";
for (i=0;i<=19;i++)
{ list[j][i]=' '; cout<<list[j][i]<<" ";}
cout<<m<<endl;}
m=64;
for (j=9;j<=19;j++)
{ m=m+1; cout<<static_cast<char>(m)<<" ";
for (i=0;i<=19;i++)
{ list[j][i]=' '; cout<<list[j][i]<<" ";}
cout<<static_cast<char>(m)<<endl;}
for (i=0;i<=9;i++) cout<<i<<" ";
for (i=65;i<=75;i++) cout<<static_cast<char>(i)<<" ";
cout<<0<<endl;
return 0;
}

int fivegame::enterchar(char q)
{ char a,b;
cout<<"现在轮到 "<<q<<" 下."<<endl;
cout<<"请输入要下的行号和列号."<<endl;
cin>>a>>b;
z=q;m=a;n=b;
return 0;
}

int fivegame::print()
{ if (static_cast<int>(m)>60) h=static_cast<int>(m)-56;
else h=static_cast<int>(m)-49;
if (static_cast<int>(n)>60) l=static_cast<int>(n)-56;
else l=static_cast<int>(n)-49;
int i,j,m=0;
if (list[h][l]!=' ')
{ kk=0;

for (i=0;i<=9;i++) cout<<i<<" ";
for (i=65;i<=75;i++) cout<<static_cast<char>(i)<<" ";
cout<<0<<endl;
for (j=0;j<=8;j++)
{ m=m+1; cout<<m<<" ";
for (i=0;i<=19;i++)
 cout<<list[j][i]<<" ";
cout<<m<<endl;}
m=64;
for (j=9;j<=19;j++)
{ m=m+1; cout<<static_cast<char>(m)<<" ";
for (i=0;i<=19;i++)
 cout<<list[j][i]<<" ";
cout<<static_cast<char>(m)<<endl;}
for (i=0;i<=9;i++) cout<<i<<" ";
for (i=65;i<=75;i++) cout<<static_cast<char>(i)<<" ";
cout<<0<<endl;

return 0;}
else
list[h][l]=z;

for (i=0;i<=9;i++) cout<<i<<" ";
for (i=65;i<=75;i++) cout<<static_cast<char>(i)<<" ";
cout<<0<<endl;
for (j=0;j<=8;j++)
{ m=m+1; cout<<m<<" ";
for (i=0;i<=19;i++)
 cout<<list[j][i]<<" ";
cout<<m<<endl;}
m=64;
for (j=9;j<=19;j++)
{ m=m+1; cout<<static_cast<char>(m)<<" ";
for (i=0;i<=19;i++)
 cout<<list[j][i]<<" ";
cout<<static_cast<char>(m)<<endl;}
for (i=0;i<=9;i++) cout<<i<<" ";
for (i=65;i<=75;i++) cout<<static_cast<char>(i)<<" ";
cout<<0<<endl;
return 0;
}

int fivegame::ifwin()
{ int i,j,q=0,k=0;
for(i=0;i<=19;i++)
{ q=0,k=0; 
while (q<=15)
{ for (j=q;j<=q+4;j++)
list1[j-k]=list[i][j];
if (fivegame::test())
{ison=true;return true;}
else
q++;k++;}
}

for(i=0;i<=19;i++)
{ q=0,k=0; 
while (q<=15)
{ for (j=q;j<=q+4;j++)
list1[j-k]=list[j][i];
if (fivegame::test())
{ison=true;return true;}
else
q++;k++;}
}
 
 
 for (i=0;i<=15;i++)
 { q=0,k=0; 
while (q<=15)
{
 for (j=q;j<=q+4;j++)
 list1[j-k]=list[i+j-k][j];
 if (fivegame::test())
{ison=true;return true;}
else
q++;k++;}

for(i=18;i>=4;i--)
{ q=0,k=0; 
while (q<=15)
{
 for (j=q;j<=q+4;j++)
 list1[j-k]=list[i-j+k][19-j];
 if (fivegame::test())
{ison=true;return true;}
else
q++;k++;}


for (i=0;i<=15;i++)
 { q=0,k=0; 
while (q<=15)
{
 for (j=q;j<=q+4;j++)
 list1[j-k]=list[i+j-k][19-j];
 if (fivegame::test())
{ison=true;return true;}
else
q++;k++;}


for(i=18;i>=4;i--)
{ q=0,k=0; 
while (q<=15)
{
 for (j=q;j<=q+4;j++)
 list1[j-k]=list[i-j+k][19-j];
 if (fivegame::test())
{ison=true;return true;}
else
q++;k++;}

 
for(i=18;i>=4;i--)
{ q=0,k=0; 
while (q<=15)
{
 for (j=q;j<=q+4;j++)
 list1[j-k]=list[i-j+k][j];
 if (fivegame::test())
{ison=true;return true;}
else
q++;k++;}



 return 0;
}

int fivegame::pk()
{ cout<<m<<" "<<n<<" "<<z <<endl;
cout<<static_cast<int>(m)<<static_cast<int>(n)<<endl;
return 0; }

int main()
{
 int abc;
 
 char y='a';
 fivegame game;
 game.puout();
 game.ison=false;
 game.init();
 while(game.ison==false)
 {
 game.kk=1;
 game.enterchar(y);
 system("cls");
 game.puout();
 game.print();
 game.ifwin();
 if (game.kk==1)
 {
 if (y=='a') y='b';
 else y='a';
 }
 }
 if (y=='a') y='b';
 else y='a';
 cout<<y<<" 赢了 !"<<endl;
 cin>>abc;
 return 0;
}

阅读(8505) | 评论(9)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册