C 언어 자동 카드 발급 프로그램 실현
4625 단어 C 언어카드 를 발급 하 다
카드 한 벌 에 52 장의 카드 가 있 는데,브리지 를 칠 때 는 4 명 에 게 카드 를 나 누 어 주어 야 한다.프로그램 을 설계 하여 자동 으로 카드 를 보 내 는 작업 을 완성 하 세 요.요구:스페이드 는 S(Spaces)로,홍 도 는 H(Hearts)로,사각형 은 D(Diamonds)로,매 화 는 C(Clubs)로 표시 한다.
분석:
배열 표현 카드 를 설정 해 야 합 니 다.
배열 표현 유 저 를 설정 해 야 합 니 다.
카드 에 특정한 표 지 를 해 야 한다.결 과 를 얻 은 후에 유 저 는 자신의 손 에 있 는 스페이드 가 어떤 것 이 있 는 지,네모 난 것 이 어떤 것 이 있 는 지 알 아야 한다.
초보적인 생각:
4 개의 문자 배열 을 설정 하여 4 가지 매화 패 를 저장 하고 4 개의 문자 배열 을 설정 하여 4 명의 게이머 가 배정 한 패 를 표시 합 니 다.
각 카드 는 랜 덤 으로 4 명의 유저 에 게 발송,유저 의 카드 소지 수가 13 에 도달 하면,이 유저 에 게 카드 를 분배 하지 않 습 니 다
코드 표시:
void mycode_13()
{
srand(unsigned(time(NULL)));
/* */
char S[13] = { '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A' };
char H[13] = { '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A' };
char D[13] = { '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A' };
char C[13] = { '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A' };
/*4 */
char player1[13], player2[13], player3[13], player4[13];
int p1 = 0, p2 = 0, p3 = 0, p4 = 0;
distribution(S, player1, player2, player3, player4, &p1, &p2, &p3, &p4);
distribution(H, player1, player2, player3, player4, &p1, &p2, &p3, &p4);
distribution(D, player1, player2, player3, player4, &p1, &p2, &p3, &p4);
distribution(C, player1, player2, player3, player4, &p1, &p2, &p3, &p4);
puts(" ");
for (int i = 0; i < 13; i++)
printf("%c ", player1[i]);
putchar('
');
for (int i = 0; i < 13; i++)
printf("%c ", player2[i]);
putchar('
');
for (int i = 0; i < 13; i++)
printf("%c ", player3[i]);
putchar('
');
for (int i = 0; i < 13; i++)
printf("%c ", player4[i]);
}
void distribution(char * S_H_D_C, char * player1, char * player2, char * player3, char * player4, int *p1, int *p2, int *p3, int *p4)
{
static int h = 1;
int r;
int a = *p1, b = *p2, c = *p3, d = *p4;
for (int i = 0; i < 13; i++)
{
r = (rand() % 4) + 1;
while ((r == 1 && (*p1) == 13) || (r == 2 && (*p2) == 13) || (r == 3 && (*p3) == 13) || (r == 4 && (*p4) == 13))
r = (rand() % 4) + 1;
switch (r)
{
case 1:
player1[(*p1)++] = S_H_D_C[i];
break;
case 2:
player2[(*p2)++] = S_H_D_C[i];
break;
case 3:
player3[(*p3)++] = S_H_D_C[i];
break;
case 4:
player4[(*p4)++] = S_H_D_C[i];
break;
default:
break;
}
}
switch (h++)
{
case 1:
printf(" :
");
break;
case 2:
printf(" :
");
break;
case 3:
printf(" :
");
break;
case 4:
printf(" :
");
break;
}
printf("Player1:");
for (int i = a; i < (*p1); i++)
printf("%c ", player1[i]);
putchar('
');
printf("Player2:");
for (int i = b; i < (*p2); i++)
printf("%c ", player2[i]);
putchar('
');
printf("Player3:");
for (int i = c; i < (*p3); i++)
printf("%c ", player3[i]);
putchar('
');
printf("Player4:");
for (int i = d; i < (*p4); i++)
printf("%c ", player4[i]);
putchar('
');
}
다음 코드 는 누군가가 13 장의 카드 를 받 은 후에 카드 를 받 지 않 는 다 는 것 을 보증 합 니 다.
r = (rand() % 4) + 1;
while ((r == 1 && (*p1) == 13) || (r == 2 && (*p2) == 13) || (r == 3 && (*p3) == 13) || (r == 4 && (*p4) == 13))
r = (rand() % 4) + 1;
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.