Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. typedef struct
  6. {
  7. int naipe;
  8. int valor;
  9. } carta;
  10. typedef struct
  11. {
  12. carta carta1;
  13. carta carta2;
  14. } jogador;
  15.  
  16. void printCarta (int, int);
  17.  
  18. int main(void)
  19. {
  20. srand(time(NULL));
  21. carta carta[52]={0};
  22. jogador jogador[4] = {0};
  23. int i, j;
  24.  
  25.  
  26.  
  27. for (i=0; i<52; i++)
  28. {
  29. carta[i].valor = i%13;
  30. if (i < 13)
  31. carta[i].naipe = 0;
  32. else if (i<26)
  33. carta[i].naipe = 1;
  34. else if (i<39)
  35. carta[i].naipe = 2;
  36. else
  37. carta[i].naipe = 3;
  38. }
  39. for (i = 0; i<52; i++)
  40. {
  41. printCarta(carta[i].naipe, carta[i].valor);
  42. }
  43. printf("\n\n\n\n\n\n\n\n");
  44. for (i = 0; i<52; i++)
  45. {
  46. int aux_n, aux_v;
  47. int aleatorio = rand()%52, aleatorio2 = rand()%52;
  48. aux_v = carta[aleatorio].valor;
  49. carta[aleatorio].valor = carta[aleatorio2].valor;
  50. carta[aleatorio2].valor = aux_v;
  51. aux_n = carta[aleatorio].naipe;
  52. carta[aleatorio].naipe = carta[aleatorio2].naipe;
  53. carta[aleatorio2].naipe = aux_n;
  54. }
  55. for (i = 0; i<52; i++)
  56. {
  57. printCarta(carta[i].naipe, carta[i].valor);
  58. }
  59. for (i=0;i<4;i++)
  60. {
  61. int aleatorio1 = rand()%52;
  62. while (carta[aleatorio1].valor == -1)
  63. aleatorio1 = rand()%52;
  64. jogador[i].carta1 = carta[aleatorio1];
  65. carta[aleatorio1].valor = -1;
  66. int aleatorio2 = rand()%52;
  67. while (carta[aleatorio2].valor == -1)
  68. aleatorio2 = rand()%52;
  69. jogador[i].carta2 = carta[aleatorio2];
  70. carta[aleatorio2].valor = -1;
  71. printf("\nJogador %d: Carta1 ", i);
  72. printCarta (jogador[i].carta1.naipe, jogador[i].carta1.valor);
  73. printf("Jogador %d: Carta2 ", i);
  74. printCarta (jogador[i].carta2.naipe, jogador[i].carta2.valor);
  75. }
  76. printf("\n\n\n");
  77. for (i = 0; i<52; i++)
  78. {
  79. if (carta[i].valor != -1)
  80. printCarta(carta[i].naipe, carta[i].valor);
  81. }
  82. return 0;
  83. }
  84.  
  85. void printCarta (int naipe, int valor)
  86. {
  87. switch (valor)
  88. {
  89. case 0:
  90. printf("As");
  91. break;
  92. case 1:
  93. printf("2");
  94. break;
  95. case 2:
  96. printf("3");
  97. break;
  98. case 3:
  99. printf("4");
  100. break;
  101. case 4:
  102. printf("5");
  103. break;
  104. case 5:
  105. printf("6");
  106. break;
  107. case 6:
  108. printf("7");
  109. break;
  110. case 7:
  111. printf("8");
  112. break;
  113. case 8:
  114. printf("9");
  115. break;
  116. case 9:
  117. printf("10");
  118. break;
  119. case 10:
  120. printf("J");
  121. break;
  122. case 11:
  123. printf("Q");
  124. break;
  125. case 12:
  126. printf("K");
  127. break;
  128. }
  129. switch(naipe)
  130. {
  131. case 0:
  132. printf(" de copas\n");
  133. break;
  134. case 1:
  135. printf(" de ouros\n");
  136. break;
  137. case 2:
  138. printf(" de paus\n");
  139. break;
  140. case 3:
  141. printf(" de espadas\n");
  142. break;
  143. }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement