Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ********************************************************************************
- * Casos de teste simples para o problema das maos de poquer.
- * Este codigo tem fins educacionais e pode conter erros. Nao ha garantias de que
- * o mesmo funcione sempre como esperado.
- * Versao: 0.2 candia@inf.ufsm.br
- ********************************************************************************
- */
- #include <stdlib.h>
- #include <stdio.h>
- #include "maosPoquer.h"
- int main(){
- int cartas[TAM_DEQUE][2];
- MAO_T c1, c2, c3, c4, c5;
- MAO_T *no = NULL;
- int pontos=0, i, n, v;
- int r1;
- printf("Criando baralho padrão.\n");
- criaBaralho(cartas);
- imprimeBaralhoVetor(cartas);
- printf("\nEmbaralhando e pegando 25 cartas.\n");
- embaralha(cartas);
- for(i=0;i<25;i++){
- no = inserelista(no, cartas[i][NAIPE], cartas[i][VALOR]);
- }
- imprimelista(no);
- printf("\n\n\n\n");
- for(n=0;n<4;n++){
- if(buscaNo(no, 1, n) && buscaNo(no, 10, n) && buscaNo(no, 11, n) && buscaNo(no, 12, n) && buscaNo(no, 13, n)){
- c1.valor = 1; c1.naipe = n; c1.prox = &c2; busca_e_remove (no, 1, n);
- c2.valor = 10; c2.naipe = n; c2.prox = &c3; busca_e_remove (no, 10, n);
- c3.valor = 11; c3.naipe = n; c3.prox = &c4; busca_e_remove (no, 11, n);
- c4.valor = 12; c4.naipe = n; c4.prox = &c5; busca_e_remove (no, 12, n);
- c5.valor = 13; c5.naipe = n; c5.prox = NULL; busca_e_remove (no, 13, n);
- pontos += contaPontos(&c1);
- }
- }
- for(n=0;n<4;n++){
- for(v=1;v<14;v++){
- 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)){
- c1.valor = v; c1.naipe = n; c1.prox = &c2; busca_e_remove(no,v,n);
- c2.valor = v+1; c2.naipe = n; c2.prox = &c3; busca_e_remove(no,v+1,n);
- c3.valor = v+2; c3.naipe = n; c3.prox = &c4; busca_e_remove(no,v+2,n);
- c4.valor = v+3; c4.naipe = n; c4.prox = &c5; busca_e_remove(no,v+3,n);
- c5.valor = v+4; c5.naipe = n; c5.prox = NULL;busca_e_remove(no,v+4,n);
- pontos += contaPontos(&c1);
- }
- }
- }
- for(v=1;v<14;v++){
- if(buscaNo(no,v,0) && buscaNo(no,v,1) && buscaNo(no,v,2) && buscaNo(no,v,3)){
- c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
- c2.valor = v; c2.naipe = 1; c2.prox = &c3; busca_e_remove(no,v,1);
- c3.valor = v; c3.naipe = 2; c3.prox = &c4; busca_e_remove(no,v,2);
- c4.valor = v; c4.naipe = 3; c4.prox = &c5; busca_e_remove(no,v,3);
- c5.valor = v; c5.naipe = 0; c5.prox = NULL; busca_e_remove(no,v,0);
- pontos += contaPontos(&c1);
- }
- }
- for(v=1;v<14;v++){
- n=0;
- if(buscaNo(no,v,n) && (buscaNo(no,v,n+1) || buscaNo(no,v,n+2) || buscaNo(no,v,n+3)){
- 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)))){
- }
- }
- }
- imprimelista(no);
- printf("%d\n", pontos);
- printf("\nTeste de full house.\n");
- c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
- c2.valor = 1; c2.naipe = 1; c2.prox = &c3;
- c3.valor = 13; c3.naipe = 2; c3.prox = &c4;
- c4.valor = 13; c4.naipe = 3; c4.prox = &c5;
- c5.valor = 13; c5.naipe = 0; c5.prox = NULL;
- pontos = contaPontos(&c1);
- printf("%d pontos.\n", pontos);
- printf("\nTeste de flush.\n");
- c1.valor = 8; c1.naipe = 0; c1.prox = &c2;
- c2.valor = 10; c2.naipe = 0; c2.prox = &c3;
- c3.valor = 11; c3.naipe = 0; c3.prox = &c4;
- c4.valor = 12; c4.naipe = 0; c4.prox = &c5;
- c5.valor = 13; c5.naipe = 0; c5.prox = NULL;
- pontos = contaPontos(&c1);
- printf("%d pontos.\n", pontos);
- printf("\nTeste de sequencia.\n");
- c1.valor = 1; c1.naipe = 1; c1.prox = &c2;
- c2.valor = 2; c2.naipe = 0; c2.prox = &c3;
- c3.valor = 3; c3.naipe = 0; c3.prox = &c4;
- c4.valor = 4; c4.naipe = 0; c4.prox = &c5;
- c5.valor = 5; c5.naipe = 0; c5.prox = NULL;
- pontos = contaPontos(&c1);
- printf("%d pontos.\n", pontos);
- printf("\nTeste de trinca.\n");
- c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
- c2.valor = 2; c2.naipe = 1; c2.prox = &c3;
- c3.valor = 2; c3.naipe = 2; c3.prox = &c4;
- c4.valor = 2; c4.naipe = 3; c4.prox = &c5;
- c5.valor = 5; c5.naipe = 0; c5.prox = NULL;
- pontos = contaPontos(&c1);
- printf("%d pontos.\n", pontos);
- printf("\nTeste de dois pares.\n");
- c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
- c2.valor = 2; c2.naipe = 1; c2.prox = &c3;
- c3.valor = 2; c3.naipe = 2; c3.prox = &c4;
- c4.valor = 5; c4.naipe = 3; c4.prox = &c5;
- c5.valor = 5; c5.naipe = 0; c5.prox = NULL;
- pontos = contaPontos(&c1);
- printf("%d pontos.\n", pontos);
- printf("\nTeste de par.\n");
- c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
- c2.valor = 2; c2.naipe = 1; c2.prox = &c3;
- c3.valor = 3; c3.naipe = 2; c3.prox = &c4;
- c4.valor = 3; c4.naipe = 3; c4.prox = &c5;
- c5.valor = 5; c5.naipe = 0; c5.prox = NULL;
- pontos = contaPontos(&c1);
- printf("%d pontos.\n", pontos);
- printf("\nTeste de mão vazia.\n");
- c1.valor = 1; c1.naipe = 0; c1.prox = &c2;
- c2.valor = 2; c2.naipe = 1; c2.prox = &c3;
- c3.valor = 3; c3.naipe = 2; c3.prox = &c4;
- c4.valor = 4; c4.naipe = 3; c4.prox = &c5;
- c5.valor = 6; c5.naipe = 0; c5.prox = NULL;
- pontos = contaPontos(&c1);
- printf("%d pontos.\n", pontos);
- printf("\nFim do teste.\n");
- exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement