Red de conocimiento informático - Material del sitio web - Cómo barajar y repartir cartas de póquer en lenguaje C. Las cartas repartidas deben ordenarse de mayor a menor y se debe utilizar cada parte.

Cómo barajar y repartir cartas de póquer en lenguaje C. Las cartas repartidas deben ordenarse de mayor a menor y se debe utilizar cada parte.

#include

#include

#include

# define N 52 //Número total de cartas

#define M 13 //Número de cartas por palo

char hs[4]={5,4,3,6}; // Matriz de palos: códigos ASCII correspondientes a los caracteres de tréboles, corazones, diamantes y espadas

char hx[]={"JQKA"} // Corresponde a cuatro cartas mayores que 11, 12, 13 y 14*** Símbolo de carta del 10

//Generar una matriz de póquer secuencial: 1~52, tréboles 1~13, corazones 14~26, diamantes 27~39, espadas 40~52

void newDeck(int *a) { int i; for ( i=0;i

//Barajar las cartas y cambia el palo y el orden Random

void Shuffle(int *a) { int s,i,j,t;

srand((unsigned int)time(NULL)); //Utiliza la hora actual para generar una semilla de número aleatorio

s=rand()%11+5; printf("Barajar aleatoriamente %d veces\n",s //El primer número aleatorio es considerado como el número de barajas, baraja las cartas. El número es mayor o igual a 5 y menor o igual a 15

for (i=0;i

for ( j=0;j

s=rand()%52; //Rango de números aleatorios 0~51, correspondiente a un subíndice de matriz

t=a[j]; a[j]=a[s] ; a[s]=t; //Intercambia la j-ésima tarjeta y la s-ésima tarjeta

}

}

}

>//Oferta y visualización

Oferta nula(int a[N],int b[4][M] ) { int i,j;

para ( i=0 ;i<4;i++ ) para ( j=0;j

}

//Collage

void Collating(int a[4][M]) { int i,j,k, h;

para ( h=0;h<4 ;h++ )

para ( i=0;i

para ( j=i+1;j

si ( a[h][i]

k=a[ h][i]; a[h][i]=a[h] [j]; a[h][j]=k;

}

}

//Display

void Display( int a[4][M]) { int i,j,s;

for ( i=0;i< 4;i++ ) {

for ( j=0; j

s=a[i][j]-1; printf("%c" ,hs[s/M]);

s% =M; si ( s<9 ) printf("%d ",s+2); else printf("%c ",hx[s] -9]);

}

printf("\n");

}

}<

/p>

void main() { int Deck[N],hands[4][M];

newDeck(Deck); //Nuevas cartas

Barajar (Baraja); //Barajar las cartas

Deal(Deck,hands); //Repartir las cartas

Collating(hands); //Administrar las cartas

Mostrar (manos); // Mostrar

printf("\n\n"); system("pausa");

}