#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;
}
正文
五 字 棋 游 戏(C++) zz2006-09-23 17:50:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/embed/18702.html
阅读(339) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论