Advertisement
Guest User

Untitled

a guest
May 26th, 2018
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.05 KB | None | 0 0
  1. /*
  2. ********************************************************************************
  3. * Casos de teste simples para o problema das maos de poquer.
  4. * Este codigo tem fins educacionais e pode conter erros. Nao ha garantias de que
  5. * o mesmo funcione sempre como esperado.
  6. * Versao: 0.2 candia@inf.ufsm.br
  7. ********************************************************************************
  8. */
  9. #include <stdlib.h>
  10. #include <stdio.h>
  11. #include "maosPoquer.h"
  12.  
  13. int main(){
  14. int cartas[TAM_DEQUE][2];
  15. MAO_T c1, c2, c3, c4, c5;
  16. MAO_T *no = NULL;
  17. int pontos=0, i, n, v;
  18. int r1;
  19.  
  20. printf("Criando baralho padrão.\n");
  21. criaBaralho(cartas);
  22. imprimeBaralhoVetor(cartas);
  23.  
  24. printf("\nEmbaralhando e pegando 25 cartas.\n");
  25. embaralha(cartas);
  26.  
  27. for(i=0;i<25;i++){
  28. no = inserelista(no, cartas[i][NAIPE], cartas[i][VALOR]);
  29. }
  30. imprimelista(no);
  31. printf("\n\n\n\n");
  32.  
  33.  
  34. for(n=0;n<4;n++){
  35. if(buscaNo(no, 1, n) && buscaNo(no, 10, n) && buscaNo(no, 11, n) && buscaNo(no, 12, n) && buscaNo(no, 13, n)){
  36. c1.valor = 1; c1.naipe = n; c1.prox = &c2; busca_e_remove (no, 1, n);
  37. c2.valor = 10; c2.naipe = n; c2.prox = &c3; busca_e_remove (no, 10, n);
  38. c3.valor = 11; c3.naipe = n; c3.prox = &c4; busca_e_remove (no, 11, n);
  39. c4.valor = 12; c4.naipe = n; c4.prox = &c5; busca_e_remove (no, 12, n);
  40. c5.valor = 13; c5.naipe = n; c5.prox = NULL; busca_e_remove (no, 13, n);
  41. pontos += contaPontos(&c1);
  42. }
  43. }
  44. for(n=0;n<4;n++){
  45. for(v=1;v<14;v++){
  46. if(buscaNo(no,v,n) && buscaNo(no,v+1,n) && buscaNo(no,v+2,n) && buscaNo(no,v+3,n) && buscaNo(no,v+4,n)){
  47. c1.valor = v; c1.naipe = n; c1.prox = &c2; busca_e_remove(no,v,n);
  48. c2.valor = v+1; c2.naipe = n; c2.prox = &c3; busca_e_remove(no,v+1,n);
  49. c3.valor = v+2; c3.naipe = n; c3.prox = &c4; busca_e_remove(no,v+2,n);
  50. c4.valor = v+3; c4.naipe = n; c4.prox = &c5; busca_e_remove(no,v+3,n);
  51. c5.valor = v+4; c5.naipe = n; c5.prox = NULL;busca_e_remove(no,v+4,n);
  52. pontos += contaPontos(&c1);
  53. }
  54. }
  55. }
  56. for(v=1;v<14;v++){
  57. if(buscaNo(no,v,0) && buscaNo(no,v,1) && buscaNo(no,v,2) && buscaNo(no,v,3)){
  58. c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
  59. c2.valor = v; c2.naipe = 1; c2.prox = &c3; busca_e_remove(no,v,1);
  60. c3.valor = v; c3.naipe = 2; c3.prox = &c4; busca_e_remove(no,v,2);
  61. c4.valor = v; c4.naipe = 3; c4.prox = &c5; busca_e_remove(no,v,3);
  62. c5.valor = v; c5.naipe = 0; c5.prox = NULL; busca_e_remove(no,v,0);
  63. pontos += contaPontos(&c1);
  64. }
  65. }
  66. for(v=1;v<14;v++){
  67. n=0;
  68. if(buscaNo(no,v,n) && (buscaNo(no,v,n+1) || buscaNo(no,v,n+2) || buscaNo(no,v,n+3)){
  69. if(buscaNo(no,v,n) && (buscaNo(no,v,n+1) || buscaNo(no,v,n+2)|| buscaNo(no,v,n+3) && (buscaNo(no,v,n+1) || buscaNo(no,v,n+2)|| buscaNo(no,v,n+3)))){
  70.  
  71. }
  72. }
  73. }
  74. imprimelista(no);
  75. printf("%d\n", pontos);
  76.  
  77. printf("\nTeste de full house.\n");
  78. c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
  79. c2.valor = 1; c2.naipe = 1; c2.prox = &c3;
  80. c3.valor = 13; c3.naipe = 2; c3.prox = &c4;
  81. c4.valor = 13; c4.naipe = 3; c4.prox = &c5;
  82. c5.valor = 13; c5.naipe = 0; c5.prox = NULL;
  83. pontos = contaPontos(&c1);
  84. printf("%d pontos.\n", pontos);
  85.  
  86. printf("\nTeste de flush.\n");
  87. c1.valor = 8; c1.naipe = 0; c1.prox = &c2;
  88. c2.valor = 10; c2.naipe = 0; c2.prox = &c3;
  89. c3.valor = 11; c3.naipe = 0; c3.prox = &c4;
  90. c4.valor = 12; c4.naipe = 0; c4.prox = &c5;
  91. c5.valor = 13; c5.naipe = 0; c5.prox = NULL;
  92. pontos = contaPontos(&c1);
  93. printf("%d pontos.\n", pontos);
  94.  
  95. printf("\nTeste de sequencia.\n");
  96. c1.valor = 1; c1.naipe = 1; c1.prox = &c2;
  97. c2.valor = 2; c2.naipe = 0; c2.prox = &c3;
  98. c3.valor = 3; c3.naipe = 0; c3.prox = &c4;
  99. c4.valor = 4; c4.naipe = 0; c4.prox = &c5;
  100. c5.valor = 5; c5.naipe = 0; c5.prox = NULL;
  101. pontos = contaPontos(&c1);
  102. printf("%d pontos.\n", pontos);
  103.  
  104. printf("\nTeste de trinca.\n");
  105. c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
  106. c2.valor = 2; c2.naipe = 1; c2.prox = &c3;
  107. c3.valor = 2; c3.naipe = 2; c3.prox = &c4;
  108. c4.valor = 2; c4.naipe = 3; c4.prox = &c5;
  109. c5.valor = 5; c5.naipe = 0; c5.prox = NULL;
  110. pontos = contaPontos(&c1);
  111. printf("%d pontos.\n", pontos);
  112.  
  113. printf("\nTeste de dois pares.\n");
  114. c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
  115. c2.valor = 2; c2.naipe = 1; c2.prox = &c3;
  116. c3.valor = 2; c3.naipe = 2; c3.prox = &c4;
  117. c4.valor = 5; c4.naipe = 3; c4.prox = &c5;
  118. c5.valor = 5; c5.naipe = 0; c5.prox = NULL;
  119. pontos = contaPontos(&c1);
  120. printf("%d pontos.\n", pontos);
  121.  
  122. printf("\nTeste de par.\n");
  123. c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
  124. c2.valor = 2; c2.naipe = 1; c2.prox = &c3;
  125. c3.valor = 3; c3.naipe = 2; c3.prox = &c4;
  126. c4.valor = 3; c4.naipe = 3; c4.prox = &c5;
  127. c5.valor = 5; c5.naipe = 0; c5.prox = NULL;
  128. pontos = contaPontos(&c1);
  129. printf("%d pontos.\n", pontos);
  130.  
  131. printf("\nTeste de mão vazia.\n");
  132. c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
  133. c2.valor = 2; c2.naipe = 1; c2.prox = &c3;
  134. c3.valor = 3; c3.naipe = 2; c3.prox = &c4;
  135. c4.valor = 4; c4.naipe = 3; c4.prox = &c5;
  136. c5.valor = 6; c5.naipe = 0; c5.prox = NULL;
  137. pontos = contaPontos(&c1);
  138. printf("%d pontos.\n", pontos);
  139.  
  140. printf("\nFim do teste.\n");
  141.  
  142.  
  143.  
  144. exit(0);
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement