Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] gra w karty

Ostatnio zmodyfikowano 2014-11-24 14:36
Autor Wiadomość
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
C/C++
#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;
}
P-121170
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ć.
P-121271
« 1 »
  Strona 1 z 1