Dobry, zależy mi, aby dowiedzieć się co zmienić w tak napisanym programie rozdawania kart, aby zasady były stricte pod pokera, czyli głównie n>2 graczy i oczywiście rozdanie max 5 kart na turę.
> #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
const char kolor[ 4 ] = { '\003', '\004', '\005', '\006' };
void tasuj( int[][ 13 ] );
void talia( int[][ 13 ] );
void rozdaj( int[] );
int main()
{
int karty[ 4 ][ 13 ] = { 0 };
srand( time( 0 ) );
tasuj( karty );
talia( karty );
rozdaj( karty[ 0 ] );
getche();
return 0;
}
void tasuj( int tkarty[][ 13 ] )
{
int kolor, walor;
for( int karta = 1; karta <= 52; karta++ )
{
do { kolor = rand() % 4;
walor = rand() % 13;
}
while( tkarty[ kolor ][ walor ] != 0 );
tkarty[ kolor ][ walor ] = karta;
}
}
void talia( int tkarty[][ 13 ] )
{
printf( "\n As 2 3 4 5 6" );
printf( " 7 8 9 10 W D K\n" );
for( int w = 0; w <= 3; w++ )
{
printf( "\n %c", kolor[ w ] );
for( int k = 0; k <= 12; k++ )
printf( " %3d ", tkarty[ w ][ k ] );
}
}
void rozdaj( int tkarty[] )
{
const char * walor[ 13 ] = { "as", "dwojka",
"trojka", "czworka", "piatka",
"szostka", "siodemka", "osemka", "dziewiatka",
"dziesiatka", "walet", "dama", "krol" };
printf( "\n\n N W S E \n" );
for( int i = 1; i <= 52; i++ )
{
for( int j = 0; j < 52; j++ )
{
if( tkarty[ j ] == i )
printf( " %c %10s ", kolor[ j / 13 ], walor[ j % 13 ] );
}
if( i % 4 == 0 ) printf( "\n" );
}
}