[c++] gra w karty
Ostatnio zmodyfikowano 2014-11-24 14:36
crazy12 Temat założony przez niniejszego użytkownika |
[c++] gra w karty » 2014-11-22 16:05:28 Nie wiem dlaczego moj poprzedni temat zostal przeniesiony do kosza, wiec zakladam drugi. Napisalem program ktory tasuje talie 56 kart i rozdaje po 6 kart dwom graczom. Moje pytanie jak teraz stworzyc tablice pozostalych kart ktore zostaly w tali? Ponizej kod mojego programu #include<cstdlib> #include<iostream> #include<ctime>
using namespace std; char const * const kolory[ 4 ] = { "kier", "karo", "trefl", "pik" }; char const * const wartosci[ 14 ] = { "joker", "as", "krol", "dama", "walet", "dziesiatka", "dziewiatka", "osemka", "siodemka", "szostka", "piatka", "czworka", "trojka", "dwojka" };
struct karta { char wartosc; char kolor; };
karta talia[ 56 ]; karta talia_gracza[ 56 ]; karta talia_komputera[ 56 ];
void tworz_talia( karta talia[], char const * const kolory[], char const * const wartosci[] ) { for( int i = 0; i < 4; i++ ) { for( int j = 0; j < 14; j++ ) { talia[ i * 14 + j ].kolor = i; talia[ i * 14 + j ].wartosc = j; } } }
void tasuj( karta talia[] ) { for( int i = 0; i < 55; ++i ) { int j = rand() %( 56 - i ) + i; swap( talia[ i ], talia[ j ] ); } }
void rozdaj_karty_gracza( karta talia[], karta talia_gracza[] ) { for( int i = 0; i < 6; i++ ) { talia_gracza[ i ].kolor = talia[ i ].kolor; talia_gracza[ i ].wartosc = talia[ i ].wartosc; talia[ i ].kolor = talia[ 56 - i ].kolor; talia[ i ].wartosc = talia[ 56 - i ].wartosc; } for( int i = 0; i < 6; i++ ) cout << kolory[ talia_gracza[ i ].kolor ] << ' ' << wartosci[ talia_gracza[ i ].wartosc ] << endl; cout << endl; }
void rozdaj_karty_komputera( karta talia[], karta talia_gracza[] ) { for( int i = 0; i < 6; i++ ) { talia_komputera[ i ].kolor = talia[ i ].kolor; talia_komputera[ i ].wartosc = talia[ i ].wartosc; talia[ i ].kolor = talia[ 56 - i ].kolor; talia[ i ].wartosc = talia[ 56 - i ].wartosc; } for( int i = 0; i < 6; i++ ) cout << kolory[ talia_komputera[ i ].kolor ] << ' ' << wartosci[ talia_komputera[ i ].wartosc ] << endl; }
int main() { srand( time( NULL ) ); tworz_talia( talia, kolory, wartosci ); tasuj( talia ); cout << "Karty gracza: " << endl; rozdaj_karty_gracza( talia, talia_gracza ); cout << endl; cout << "Karty komputera: " << endl; rozdaj_karty_komputera( talia, talia_komputera ); cout << endl; system( "PAUSE" ); return 0; }
|
|
darko202 |
» 2014-11-24 14:36:04 jeśli kartę przekazujesz graczowi to musisz usuwać ją z talii komputera wówczas nic już nie musisz tworzyć. |
|
« 1 » |