纸牌记忆小游戏C语言源代码

纸牌记忆小游戏C语言源代码


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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信