Pos obtiene el código fuente gratis
#incluye & ltstdio.h & gt
#incluye & ltstdlib.h & gt
#incluye & lttime.h & gt
# include & ltstring.h & gt
Tarjeta de estructura //
{
conjunto de caracteres[10] /*color*/
char face[10];/*Card*/
};
enum { posA, posB, posC, posD}; //Borrar la posición de todos.
Ubicación de la estructura
{
Tarjeta de estructura get CARD[25]; //La tarjeta que recibe cada persona
}; p> p>
Posición de la estructura[4]; //Asignar cuatro posiciones
Tarjeta de estructura izquierda CARD[8] //Tarjeta
Tarjeta de estructura[54] ; //54 cartas
char *suit[]={ "Spade", "Heart", "Club", "Diamond" };
char *face[] = { "A","2","3","4","5","6","7","8","9",
"10"," "Jack ", "Reina", "Rey"};
/*Función: barajar el orden de 52 cartas,
Parámetro de función: estructura de matriz wCard, que representa 52 cartas.
Valor de retorno de la función: Ninguno
*/
Barajado no válido (tarjeta de estructura *wCard)
{
int i,j;
Temperatura de la tarjeta de estructura;
for(I = 0;i<54;i++)
{
j = rand()% 54;
temp = wCard[I];
wCard[I]= wCard[j]; temp;
}
}
/*Función: resultado de la transacción
Parámetro de función: matriz de estructura wCard, que indica que hay 54 tarjetas.
Valor de retorno de la función: Ninguno
*/
Transacción no válida (tarjeta de estructura *wCard)
{
int i, Aidx=0, bidx=0, cidx=0, didx = 0;
Aleatorio (tarjeta); //Aleatorio
/* * * * * * * * * * * *Se reparte la primera baraja de cartas, con solo 50 cartas Divide 4 cartas en las posiciones A, B, C y D* * * * * * * * * *
//. Después de que se repartieron 50 cartas por primera vez, A y B obtuvieron una carta más, por lo que C y D ocuparon el primer lugar por segunda vez y se repartieron 40 cartas cada vez*/
for(I = 0 ;I<50;I++)//El número de cartas repartidas
{
//printf(" % 10s % 5s \ n ", wCard[i]. Palo, wCard[ i ]. cara);
if(i%4==0)
posA. get card[aidx++]= wCard[I];
else if(i%4==1)
Posición. get card[bidx++]= wCard[I];
else if(i%4==2)
Posición. get card[cidx++]= wCard[I];
else if(i%4==3)
Posición.
get card[didx++]= wCard[I];
}
/* * * * * * * *Las cuatro tarjetas restantes se usan como tarjetas* * * * * * * *
tarjeta izquierda[0]= wCard[i++];
tarjeta izquierda[1]= wCard[i++];
tarjeta izquierda[2] = wCard[i++];
tarjeta izquierda[3]= wCard[i++];
Barajar (tarjeta); //Barajar las cartas nuevamente
/* * * * * * * * * * * * La segunda baraja de cartas, solo 50 cartas, se distribuyen en las cuatro posiciones A, B, C y D. Se reservan 4 cartas y se reserva 1 * * * * * * * * * * * *
for(I = 0;I<50;I++)//El número de cartas repartidas
{
//printf( " % 10s % 5s \n ",wCard[i].suit,wCard[i].face);
if(i%4==0)
Posición. get card[cidx++]= wCard[I];
else if(i%4==1)
Posición. obtener tarjeta[didx++]= wCard[I];
else if(i%4==2)
posA. get card[aidx++]= wCard[I];
else if(i%4==3)
Posición. get card[bidx++]= wCard[I];
}
/* * * * * * * *Las cuatro cartas restantes se usan como cartas, por lo que una* * *Esa es 8 cartas* * * * * * * *
tarjeta izquierda[4]= wCard[i++];
tarjeta izquierda[5]= wCard[i++];
tarjeta izquierda[4]= wCard[i++];
p>
tarjeta izquierda[6]= wCard[i++];
tarjeta izquierda[7]= wCard[i++];
}
/ *Función: Organiza las 52 cartas en orden de picas, corazones, flores y diamantes, y organiza sus valores nominales en el orden orden de A ~ K.
Parámetros de función: matriz de estructura wCard, que representa 52 tarjetas de diferentes colores y denominaciones.
Matriz de punteros wFace, que apunta a la cadena de valor nominal.
La matriz de punteros wSuit apunta a la cadena del traje.
Valor de retorno de la función: Ninguno
*/
void FillCard(tarjeta de estructura wCard[], char *wSuit[], char *wFace[])
{
inti
for(I = 0;i<52;i++)
{
strcpy (wCard [i].suit, wSuit[I/13]);
strcpy(wCard[i].face, w face[I % 13]);
}
//wCard[53]. face= "grande"; //Rey de tamaño
strcpy(wCard[52]). palo, "pequeño");
strcpy(wCard[52]). cara, "fantasma");
strcpy(wCard[53]). palo, "grande");
strcpy(wCard[53]).
face, "fantasma");
}
Impresión no válida(char ch)//tarjeta de salida
{
int I;
Cambiar (canal)
{
Caso "A": for (I = 0; i<25;i++)
{
printf("%10s %5s\n ", posición[posA].getcard[i].suit,posA.getcard[i].face);
}
Pausa;
Caso "B": for(I = 0;i<25;i++)
{
printf(" %10s %5s \n ",posición[posB].getcard[i].traje,posición[posB].getcard[i].cara);
}
Descanso;
Caso "C": for(I = 0;i<25;i++)
{
printf("%10s %5s\n ", posición[posC].set ,posición[posC].face);
Pausa;
Escribe "D": for(I = 0;i<25;i++)
{ p>
printf("%10s %5s\n ", posición[posD].getcard[ i].suit,posD.getcard[i];
}
Romper;
}
}
p>Nulo salidaLeftCard()//Tarjeta de salida
{
int I;
for(I = 0;I<8;i++)
printf("%10s %5s\n ", leftCard[i]. Color, tarjeta izquierda[i]
}
int main()
{
char pos
srand(hora). (NULL));
FillCard(carta, palo, cara) ;
//Barajar (cartas);
Repartir (cartas);
printf("Seleccione su posición (A, B, C, D): ");
scanf("%c ", & amppos);
Imprimir (pos); // Muestra las cartas en tu posición.
/* * * * * * * *La siguiente salida son las tarjetas de otros excepto tú* * * * * * * *
If (pos!='A ')
{
printf(" A:\ n ");
Imprimir(' A ');
}
If (pos!='B ')
{
printf(" B:\ n ");
Imprimir(' B ' );
}
if (pos!='C ')
{
printf(" C:\ n ") ;
Imprimir(' C ');
}
Si (pos!='D ')
{
printf(" D:\ n ");
Imprimir(' D ');
}
printf(" Tarjeta: \n ");
outputLeftCard(); //Tarjeta de salida
devuelve 0;
}