Salve a tutto il forum.
Tra ieri e oggi ho passato quattro ore a cercare di capire :master: come poter terminare la compilazione di un sorgente che ora vi andro' a postare.
codice:
/*Prototipo di Poker*/
#include <stdio.h>
#include <time.h>
void mescola(int[][13]);
void distribuzione(int[][13], char *[], char *[]);
main()
{
char *semi[4] = {"Picche", "Fiori", "Cuori", "Quadri"};
char *segni[13] = {"Asso", "Due", "Tre", "Quattro", "Cinque", "Sei",
"Sette", "Otto", "Nove", "Dieci", "Re", "Regina",
"Fante"};
int mazzo[4][13] = {0};
srand(time(NULL));
mescola(mazzo);
distribuzione(mazzo, semi, segni);
}
void mescola(int deck[][13])
{
int cards, rig, col;
for (cards = 1; cards <= 52; cards++) {
rig = rand() % 4;
col = rand() % 13;
while (deck[rig][col] != 0) {
rig = rand() % 4;
col = rand() % 13;
}
deck[rig][col] = cards;
}
}
void distribuzione(int deck[4][13], char *type[], char *sign[])
{
void mano(int[], int [], char *[], char *[]);
int card1[4], card2[4], carte, rig, col;
for (carte = 0; carte <= 5; carte++) {
for (rig = 0; rig <= 3; rig++)
for (col = 0; col <= 12; col++)
if (deck[rig][col] == carte) {
printf("CARTA[%d][%d]", rig, col);
printf("%s di %-8s\n", sign[col], type[rig]);
card1[carte] = rig;
card2[carte] = col;
}
}
mano(card1, card2, type, sign);
}
void mano(int rig[4], int col[4], char *semi[], char *fig[])
{
int i;
printf("\n\n");
for (i = 0; i <= 4; i++) {
if (col[i] == col[i + 1])
printf("\nCOPPIA!\n");
else printf("\n");
}
}
Andiamo alla funzione "mano". Quindi quella proprio qua sopra.
L'intento dell'esercizio che dovrei svolgere e' quello di mescolare cinquantadue carte e distribuirne cinque. Come in una normale mano da poker. Fatto questo, la funzione "mano" dovrebbe confrontare tutti i valori e se ne trova almeno due identici nel valore "col" (tanto per intenderci "col" sarebbe la colonna della matrice, in quanto deve rimanere sempre tale e puo' cambiare solo il seme) da come output COPPIA.
Ovviamente if (col[i] == col[i + 1]) l'ho inserito solo per darvi un'idea in quanto non e' adatto a cio' che devo fare.
Scusatemi se mi sono dilungato e spero di essere stato chiaro (cosa fondamentale).
A presto.