2024年5月26日发(作者:)
#include
#include
#include
int outputacard(int a,int b)
{
if(b==11)
{
printf("[%c",a); //J
printf("%c]",b+63);
}
else if(b==12)
{
printf("[%c",a); //Q
//输出一张扑克
printf("%c]",b+69);
}
else if(b==13)
{
printf("[%c",a); //K
printf("%c]",b+62);
}
else if(b==1)
{
printf("[%c",a); //A
printf("%c]",b+64);
}
else if(b==88)
printf("[%c%c]",a,b); //XX
else
{
printf("[%c",a); //随机输出8张扑克
printf("%d]",b);
}
}
int main()
{
int puke[8][2];
int i,j,k;
srand((unsigned int)time(NULL));
printf("记住下面牌的顺序n准备好了按<回车>,我会提问你的^-^n");
for(i=0; i<8; i++)
for(j=0; j<2; j++)
{
if(j==0)
puke[i][j]=3+rand()%3;
006*/
else
puke[i][j]=1+rand()%12;
}
for(k=0; k<8; k++)
outputacard(puke[k][0],puke[k][1]);
printf("n");
int puke2[8][2];
int puke0[2];
/*红心是003 方块004 梅花005 黑桃
//A……K
//随机输出8张扑克
int t,rh;
for(t=0; t<8; t++)
{
puke2[t][0]=puke[t][0];
puke2[t][1]=puke[t][1];
}
for(t=0; t<8; t++)
个数组*/
{
rh=rand()%7;
if(rh!=t)
{
puke0[0]=puke2[t][0];
puke0[1]=puke2[t][1];
/*把上面的8张扑克打乱顺序存入另一
puke2[t][0]=puke2[rh][0];
puke2[t][1]=puke2[rh][1];
puke2[rh][0]=puke0[0];
puke2[rh][1]=puke0[1];
}
}
for(k=0; k<8; k++)
outputacard(puke2[k][0],puke2[k][1]);
克*/
printf("n");
int puke3[8][2],puke4[8][2];
for(i=0; i<8; i++)
puke,puke2复制到另外*/
for(j=0; j<2; j++)
方便后面输出*/
/*打乱顺序后重新输出8张扑
/*为把上面代表两组扑克的数组
/*两个数组puke3、puke4中,以
for(j=0; j<2; j++)
{
puke3[i][j]=88;
puke4[i][j]=88;
}
system("pause");
system("CLS");
int a,b,num=0;
int alp1[8]= {0,0,0,0,0,0,0,0},alp2[8]= {0,0,0,0,0,0,0,0}; /* 记录各个位置的牌是否
翻开*/
while(alp1[0]==0||alp1[1]==0||alp1[2]==0||alp1[3]==0||alp1[4]==0||alp1[5]==
0||alp1[6]==0||alp1[7]==0)
{
printf("依次输入第一行、第二行两张相同的牌的位置n");
for(k=0; k<8; k++)
outputacard(puke3[k][0],puke3[k][1]);
printf("n");
for(k=0; k<8; k++)
outputacard(puke4[k][0],puke4[k][1]);
printf("n");
scanf("%d%d",&a,&b);
num++;
system("CLS");
if(puke[a-1][0]==puke2[b-1][0]&&puke[a-1][1]==puke2[b-1][1]&&alp1[a-1]!=1&
&alp2[b-1]!=1&&a>=1&&a<=8&&b>=1&&b<=8)
{
/*如果两张牌相同且没有被翻开过且输入的数字大于0小于8
复制puke,puke2中这两个元素的数据到puke3,puke4中,并输出puke3,
puke4*/
puke3[a-1][0]=puke[a-1][0];
puke3[a-1][1]=puke[a-1][1];
alp1[a-1]++;
puke4[b-1][0]=puke2[b-1][0];
puke4[b-1][1]=puke2[b-1][1];
alp2[b-1]++;
printf("猜对了,厉害!n");
for(k=0; k<8; k++)
outputacard(puke3[k][0],puke3[k][1]);
printf("n");
for(k=0; k<8; k++)
outputacard(puke4[k][0],puke4[k][1]);
printf("n");
system("pause");
system("CLS");
}
else if(alp1[a-1]!=1&&alp2[b-1]!=1&&a>=1&&a<=8&&b>=1&&b<=8)
{
/*如果两张牌不相同但没有被翻开过且输入的数字大于0小于9输出原
puke3,puke4并显示该位置正确的牌*/
printf("你好像记错了,再想想,我相信你!n");
for(i=0; i<8; i++)
{
if(i==a-1)
outputacard(puke[i][0],puke[i][1]);
else
outputacard(puke3[i][0],puke3[i][1]);
}
printf("n");
for(k=0; k<8; k++)
{
if(k==b-1)
{
outputacard(puke2[k][0],puke2[k][1]);
}
else
outputacard(puke4[k][0],puke4[k][1]);
}
printf("n");
system("pause");
system("CLS");
}
else if(a>=1&&a<=8&&b>=1&&b<=8)
这两张牌中任意一张已经被翻开,输出如下*/
{
printf("这两张牌中的某一张好像已经被你翻开了哦n");
for(k=0; k<8; k++)
outputacard(puke3[k][0],puke3[k][1]);
printf("n");
for(k=0; k<8; k++)
outputacard(puke4[k][0],puke4[k][1]);
printf("n");
system("pause");
/*如果
system("CLS");
}
else
{
printf("每行只有8张牌呦,请输入正确的位置,么么哒n");
for(k=0; k<8; k++)
outputacard(puke3[k][0],puke3[k][1]);
printf("n");
for(k=0; k<8; k++)
outputacard(puke4[k][0],puke4[k][1]);
printf("n");
system("pause");
system("CLS");
}
}
printf("你一共猜了%d次n",num);
if(num==8)
printf("完美!!!n");
else if(num>8&&num<=10)
printf("非常棒!n");
else if(num>10&&num<=16)
printf("你的记忆力挺不错的!n");
else
printf("你的记忆力一般般啦,再练练吧!n");
system("pause");
return 0;
}
发布者:admin,转转请注明出处:http://www.yc00.com/web/1716733322a2730782.html
评论列表(0条)