Witam. Mam następujący problem. Chcę aby pogram wyświetlał mi sumę kart krupiera oraz sumę gracza, wyświetlana jest tylko suma gracza natomiast z pierwszą opcją mam mały problem.
Oto kod:
<strong> </strong> #include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <ctime>
using namespace std;
int x[4];
int zaklad;
int karta[]={2,3,4,5,6,7,8,9,10,2,3,4,11};
string karta_symbol[]={"dwojka","trojka","czworka","piatka","szostka","siodemka","osemka","dziewiatka","dziesiatka","walet","dama","krol","as"};
int oczko_ja;
int oczko_krupier;
char kolejna;
int zmienna;
bool wygrana;
bool remis;
void poczatek();
void player();
void krupier();
void podlicz();
void poczatek()
{
cout<<"Podaj wartosc zakladu ";
cin>>zaklad;
system("cls");
}
void player() //funkcja losujaca karty dla gracza
{
srand(int(time(NULL))); //czysci pamiec podreczna
cout<<"Twoje pierwsze dwie karty to: ";
x[0]=rand()%13+1; //losuje pierwsza karte
x[1]=rand()%13+1; //losuje druga karte
cout<<karta_symbol[x[0]]<<" ";
cout<<karta_symbol[x[1]]<<"\n";
oczko_ja+=karta[x[0]];//przypisuje do wyniku pierwsza karte
oczko_ja+=karta[x[1]];//przypisuje druga
zmienna=2; //2 poniewaz ma losowac kolejna karte, karty numer 0 i 1 zostaly juz wylosowane
cout<<"Kolejna karta? t/n "; //pyta sie czy gracz bierze kolejna karte
cin>>kolejna;
cout<<"przegrales"<<endl;
while(kolejna=='t' & oczko_ja<=21 & zmienna<=4) //dopoki odpowiedz=tak i wynik nie jest wiekszy niz 21.
{ /*zmienna<=4 pilnuje zeby wylosowal jeszcze max. 3 karty*/
x[zmienna]=rand()%13+1; //losowanie
cout<<karta_symbol[x[zmienna]];
oczko_ja+=karta[x[zmienna]];// przypisanie do wyniku
cout<<" Twoja suma kart to: "<<oczko_ja;
zmienna++; //zmienna zwiksza sie o 1
cout<<"\n Kolejna karta? t/n ";
cin>>kolejna;
}
}
void krupier() //ta sama zasada co u player'a
{
srand(int(time(NULL)));
x[0]=rand()%13+1;
x[1]=rand()%13+1;
oczko_krupier+=karta[x[0]];
oczko_krupier+=karta[x[1]];
zmienna=2;
while(oczko_krupier<=17 & zmienna<=4) /*dopoki wynik krupiera jest mniejszy lub rowny 17; losuje dodatkowo max. 3 karty*/
{
x[zmienna]=rand()%13+1;
oczko_krupier+=karta[x[zmienna]];
cout<<" ssss kart to: "<<oczko_krupier;
zmienna++;
}
}
void podlicz()
{
system("cls"); //dla zasady czysci ekran
//
if (oczko_ja>=21)
wygrana=false; //jesli wynik gracza wiekszy niz 21, nie wygral
else if (oczko_krupier>21)
wygrana=true; //jesli wynik krupiera wiekszy niz 21, wygral gracz
else if (oczko_ja==oczko_krupier)
remis=true; //jezeli wyniki sa takie same mamy remis
else if (oczko_krupier>oczko_ja)
wygrana=false; //jesli krupier ma wiecej niz gracz, gracz przegral
else if (oczko_ja>oczko_krupier)
wygrana=true; //jesli gracz ma wiecej niz krupier, gracz wygral
//
if (wygrana==true)
cout<<"Wygrales "<<zaklad;
else if (wygrana==false)
cout<<"Przegrales "<<zaklad;
else if (remis==true)
cout<<"Remis";
getch();
}
int main()
{
poczatek();
player();
krupier();
podlicz();
getch();
}