Ma nel caso che ti ho evidenziato, cosa restituisce la funzione ?
Originariamente inviato da Lotti
codice:poker_score check_hand(poker_hand *hand) { int i, j, seme[4], counter[13], coppia=0, tris=0, poker=0; for(j=0;j<4;j++) seme[j]=0; for(j=0;j<5;j++) switch (hand->card[j].seme) { case C: seme[0]++; break; case Q: seme[1]++; break; case F: seme[2]++; break; case P: seme[3]++; break; } if (seme[0]==5 || seme[1]==5 || seme[2]==5 || seme[3]==5) { if((hand->card[0].valore+1==hand->card[1].valore || hand->card[0].valore+12==hand->card[4].valore) && hand->card[1].valore+1==hand->card[2].valore && hand->card[2].valore+1==hand->card[3].valore && hand->card[3].valore+1==hand->card[4].valore) { if (hand->card[0].valore==v1 && hand->card[4].valore==vK) return scalar; else return scalac; } else return color; } else if((hand->card[0].valore+1==hand->card[1].valore || hand->card[0].valore+12==hand->card[4].valore) && hand->card[1].valore+1==hand->card[2].valore && hand->card[2].valore+1==hand->card[3].valore && hand->card[3].valore+1==hand->card[4].valore) return scalan; else { for(i=0;i<13;i++) counter[i]=0; for(i=0;i<5;i++) counter[hand->card[i].valore]++; for(i=0;i<13;i++) { if (counter[i]>=2 && counter[i]<=4) { for(j=0;j<4;j++) seme[j]=0; for(j=0;j<5;j++) if (hand->card[j].valore==i) switch (hand->card[j].seme) { case C: seme[0]++; break; case Q: seme[1]++; break; case F: seme[2]++; break; case P: seme[3]++; break; } if(seme[0]<=1 && seme[1]<=1 && seme[2]<=1 && seme[3]<=1) switch(counter[i]) { case 2: coppia++; break; case 3: tris++; break; case 4: poker++; break; } } } if (poker) return poker; else if (coppia && tris) return full; else if (tris) return tris; else if (coppia==2) return doppiacoppia; else if (coppia) return coppia; else return zero; } // In questo caso, cosa restituisce questa funzione? }

Rispondi quotando