Red de conocimiento informático - Conocimiento sistemático - Programación de tarjetas

Programación de tarjetas

Se implementan dos barajas de cartas, una para cada persona y otra para cada persona.

# incluir ltstdio.h gt

# incluir ltstdlib.h gt

# incluir lttime.h gt

# incluir ltstring. h gt

Tarjeta de estructura //

{

char traje[10] /*color*/

char cara[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>

Posición de la estructura[4]; //Asignar cuatro posiciones

Tarjeta de estructura izquierda CARD[8] //Tarjeta

Tarjeta de estructura [54]; //54 cartas

char *palo[]={ "Espada", "Corazón", "Trébol", "Diamante" };

char *cara[ ] = {"A","2","3","4","5","6","7","8","9",

"10", " "Jota", "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;ilt54;i)

{

j = rand() 54;

temp = wCard[I];

wCard[I]= wCard[j]; ;

}

}

/*Función: resultado de la transacción

Parámetro de función: matriz de estructura wCard, que indica que hay 54 tarjetas tarjeta.

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 ;ilt50;i )//El número de cartas repartidas

{

//printf(" 10s 5s \ n ", wCard[i]. Palo, wCard[i]. cara);

if(i4==0)

posA. get card[aidx]= wCard[I];

else if(i4==1)

Posición. get card[bidx]= wCard[I];

else if(i4==2)

Posición.

get card[cidx]= wCard[I];

else if(i4==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 lt50; I)//El número de cartas repartidas

{

//printf (" 10s 5s \n ",wCard[i].set,wCard[i].face);

if(i4==0)

Posición. get card[cidx]= wCard[I];

else if(i4==1)

Posición. obtener tarjeta[didx]= wCard[I];

si no(i4==2)

posA. get card[aidx]= wCard[I];

else if(i4==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 52 cartas en el orden de picas, corazones, flores y diamantes, y organiza sus valores nominales en el 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;ilt52;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, "ghost");

}

Impresión no válida(char ch)//tarjeta de salida

{

int I;

Cambiar (canal)

{

Caso "A": for(I = 0;ilt25;i)

{

printf("10s 5s\n ", posición[posA].getcard[i].suit,posA.getcard[i].cara);

}

Descanso;

Caso "B": for(I = 0;ilt25;i)

{

printf("10s 5s\n ", posición[posB].getcard[i].suit, posición[posB].getcard[i].cara);

}

Rotura;

Caso "C": for(I = 0;ilt25;i)

{

printf("10s 5s\n ", posición[posC].getcard[i] .set, position[posC].face);

}

Romper;

Caso "D": for(I = 0;ilt25;i)

{

printf("10s 5s\n", posición[posD].getcard[i].traje,posD.getcard[i]. cara);

}

Romper;

}

}

Nulo salidaLeftCard()//tarjeta de salida

{

int I;

for(I = 0;ilt8;i)

printf("10s 5s\ n ", leftCard[i]. Traje, leftCard [i].cara);

}

int main()

{

char pos

srand(time(NULL));

FillCard(carta, palo, cara);

//Barajar (carta);

Repartir (carta);

printf("Seleccione su posición (A, B, C, D): ";

scanf ("c", amppos);

Print(pos); //Envía 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;

}