• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: C/C++
  • 标签:

资源简介

这是用C++编写的六子棋游戏,该程序包含了打印棋盘、下棋规则和判断胜负等代码的实现,用c++编译器编译运行后就可以直接玩了。 注意:由于兼容问题,可能要修改一下命令窗口的版本,命令窗口右键点击—>属性—>勾选“使用旧版控制台”

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include“class.h“
using namespace std;


int main()
{
chess SIX;
j[0][0]=true;
int a b;
cout<<“请输入你想要的尺寸:“;
cin>>size; 
for(a=0; a<=3*size; ++a)              //利用for循环打印棋盘,并初始化棋子 
{
for(b=0; b<=3*size; ++b)
{
if(a==0)
{
if(b==0 || b==size || b==2*size || b==3*size) printf(“●“);
else printf(“━“);
}

else if(a==size)
{
if(b==0 || b==3*size) printf(“●“);
else if(b==size || b==2*size) printf(“╋“);
else printf(“━“);
}

else if(a==2*size)
{
if(b==0 || b==3*size) printf(“○“);
else if(b==size || b==2*size) printf(“╋“);
else printf(“━“);
}

else if(a==3*size)
{
if(b==0 || b==size || b==2*size || b==3*size) printf(“○“);
else printf(“━“);
}

else if(b==0 || b==size || b==2*size || b==3*size) printf(“┃“);
else printf(“  “);
}
printf(“\n“);
}

for(;;)
{
SIX.pandu();            //先判断哪些棋子被堵住 
int c1c2c3c4;
if(t==0)
{
cout<<“\n\n请输入你要移动白棋子的坐标(xy): “;
cin>>c1>>c2;
for(;;)
{
if(p[c1][c2]==a0&&j[c1][c2]==false) break; //轮到白棋回合时,选中的棋子为白棋,且该棋不能被堵住 
else                                       //否则重新输入 
{
cout<<“输入错误,请再输入一次移子坐标:“;
cin>>c1>>c2;
}
}  
}

if(t==1)
{
cout<<“\n\n请输入你要移动黑棋子的坐标(xy): “;
cin>>c1>>c2;
for(;;)
{
if(p[c1][c2]==a1&&j[c1][c2]==false) break; //轮到黑棋回合时,选中的棋子为黑棋,且该棋不能被堵住
else                                       //否则重新输入
{
cout<<“输入错误,请再输入一次移子坐标:“;
cin>>c1>>c2;
}
}  
}


cout<<“\n请输入你要到达的坐标: “;
cin>>c3>>c4;
for(;;)        //输入棋子将要到达的坐标,该坐标不能有棋子且与棋子原来的坐标相邻,否则重新输入 
{
if(c3>0&&c3<5&&c4>0&&c4<5 &&p[c3][c4]!=a0&&p[c3][c4]!=a1 &&((c3==c1&& (c4==c2-1||c4==c2+1)) || (c4==c2&& (c3==c1-1||c3==c1+1))))
break;
else
{
cout<<“到达坐标输入错误!请再输入一次落子坐标:“;
cin>>c3>>c4; 
}
}
// Sleep(1000); //暂停一秒

SIX.movechess(c1 c2 c3 c4);  //移子 
SIX.attack(c3c4);              //吃子 
SIX.pandu();                    //判断棋子的围堵 
SIX.judge();                    //判断哪一方胜出 
if(win==1) 
{
SIX.gotoxy(6*size+52*size); 
cout<<“恭喜白方获胜!“; 
break;

else if(win==2)
{
SIX.gotoxy(6*size+52*size); 
cout<<“恭喜黑方获胜!“;
break;
}

if(p[c3][c4]==a0) 
{
p[0][0]=a0;
t=1;
}
else if(p[c3][c4]==a1)
{
p[0][0]=a1;
t=0;
}

int s;                     //消除多余的文字 
for(s=0;s<8;s++)
{
SIX.gotoxy(03*size+2);
SIX.delline();
}
}
SIX.gotoxy(6*size+53*size+5);

return 0;
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       7031  2017-10-10 16:38  class.h

     文件       2987  2017-10-10 16:32  main.cpp

     文件       1023  2017-10-09 02:18  六子棋2.0.dev

----------- ---------  ---------- -----  ----

                11041                    3


评论

共有 条评论

相关资源