求c语言源代码随机产生4张扑克牌 发给2玩家 比大小 对子比杂牌大
1个回答
2011-12-18
展开全部
刚才答了一遍:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int judge(int *A,int *B) //A的大返回1,B的大返回2,一样大返回0
{
if((A[0]==A[1])&&(B[0]==B[1]))
{
if(A[0]>B[0]) return 1;
else if(A[0]==B[0]) return 0;
else return 2;
}
else if((A[0]==A[1])&&(B[0]!=B[1]))
{
return 1;
}
else if((A[0]!=A[1])&&(B[0]==B[1]))
{
return 2;
}
else
{
if((A[0]+A[1])>(B[0]+B[1])) return 1;
else if((A[0]+A[1])==(B[0]+B[1])) return 0;
else return 2;
}
}
void getCard(int *A,int *B)
{
A[0]=rand()%13+1;
A[1]=rand()%13+1;
B[0]=rand()%13+1;
B[1]=rand()%13+1;
}
int main( void)
{
int A[2] = {0},B[2] = {0};
int win;
int ScoreA=10,ScoreB=10;
srand((unsigned) time(NULL));
do
{
getCard(A,B);
win=judge(A,B);
if(win==1) ScoreA++;
else if(win==2) ScoreB++;
if(ScoreA==20)
{
printf("A赢了!!!\n");
break;
}
else if(ScoreB==20)
{
printf("B赢了!!!\n");
break;
}
}while(1);
return 0;
}
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int judge(int *A,int *B) //A的大返回1,B的大返回2,一样大返回0
{
if((A[0]==A[1])&&(B[0]==B[1]))
{
if(A[0]>B[0]) return 1;
else if(A[0]==B[0]) return 0;
else return 2;
}
else if((A[0]==A[1])&&(B[0]!=B[1]))
{
return 1;
}
else if((A[0]!=A[1])&&(B[0]==B[1]))
{
return 2;
}
else
{
if((A[0]+A[1])>(B[0]+B[1])) return 1;
else if((A[0]+A[1])==(B[0]+B[1])) return 0;
else return 2;
}
}
void getCard(int *A,int *B)
{
A[0]=rand()%13+1;
A[1]=rand()%13+1;
B[0]=rand()%13+1;
B[1]=rand()%13+1;
}
int main( void)
{
int A[2] = {0},B[2] = {0};
int win;
int ScoreA=10,ScoreB=10;
srand((unsigned) time(NULL));
do
{
getCard(A,B);
win=judge(A,B);
if(win==1) ScoreA++;
else if(win==2) ScoreB++;
if(ScoreA==20)
{
printf("A赢了!!!\n");
break;
}
else if(ScoreB==20)
{
printf("B赢了!!!\n");
break;
}
}while(1);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询