Tak więc, od jakiegoś czasu staram się napisać prymitywną gre karcianą. Problem jest taki, że gdy kompiluje i uruchamiam projekt. Wtedy okienko pojawia się dosłownie ćwierć sekundy, po czym znika. Zabiegi w postaci dopisywania "System("PAUSE"); nie dają chcianych rezultatów. Macie może jakieś pomysły? Poniżej zamieszczam kod programu:
#include <iostream>
#include <string>
#include <time.h>
#include <stdlib.h>
using namespace std;
class card
{
public:
string name;
bool special;
int ID;
int value;
bool nie_wybrana;
};
class player
{
public:
bool winner;
};
void losuj_karty(int ile, card zrodlo[], card przeznaczenie[]);
int main()
{
card talia[52]=
{
{"2-czerwo[M]",1,0,2,true},
{"2-dzwonek[M]",1,1,2,true},
{"2-pik[M]",1,2,2,true},
{"2-trefl[M]",1,3,2,true},
{"3-czerwo",0,4,3,true},
{"3-dzwonek",0,5,3,true},
{"3-pik",0,6,3,true},
{"3-trefl",0,7,3,true},
{"4-czerwo",0,8,4,true},
{"4-dzwonek",0,9,4,true},
{"4-pik",0,10,3,true},
{"4-trefl",0,11,4,true},
{"5-czerwo",0,12,5,true},
{"5-dzwonek",0,13,5,true},
{"5-pik",0,14,5,true},
{"5-trefl",0,15,5,true},
{"6-czerwo",0,16,6,true},
{"6-dzwonek",0,17,6,true},
{"6-pik",0,18,6,true},
{"6-trefl",0,19,6,true},
{"7-czerwo[M]",1,20,7,true},
{"7-dzwonek[M]",1,21,7,true},
{"7-pik[M]",1,22,7,true},
{"7-trefl[M]",1,23,7,true},
{"8-czerwo",0,25,8,true},
{"8-dzwonek",0,26,8,true},
{"8-pik",0,27,8,true},
{"8-trefl",0,28,8,true},
{"9-czerwo",0,29,9,true},
{"9-dzwonek",0,30,9,true},
{"9-pik",0,31,9,true},
{"9-trefl",0,32,9,true},
{"10-czerwo[M]",1,33,10,true},
{"10-dzwonek[M]",1,34,10,true},
{"10-pik[M]",1,35,10,true},
{"10-trefl[M]",36,0,10,true},
{"Walet-czerwo",0,37,11,true},
{"Walet-dzwonek",0,38,11,true},
{"Walet-pik",0,39,11,true},
{"Walet-trefl",0,40,11,true},
{"Dama-czerwo",0,41,12,true},
{"Dama-dzwonek",0,42,12,true},
{"Dama-pik",0,43,12,true},
{"Dama-trefl",0,44,12,true},
{"Krol-czerwo",0,45,13,true},
{"Krol-dzwonek",0,46,13,true},
{"Krol-pik",0,47,13,true},
{"Krol-trefl",0,48,13,true},
{"As-czerwo",0,49,14,true},
{"As-dzwonek",0,50,14,true},
{"As-pik",0,51,14,true},
{"As-trefl",0,52,14,true}
};
card gracz_hand[4];
card gracz_wieza_gora[2];
card gracz_wieza_dol[2];
card cpu_hand[4];
card cpu_wieza_gora[2];
card cpu_wieza_dol[2];
losuj_karty(2, talia, cpu_wieza_gora);
losuj_karty(2, talia, gracz_wieza_gora);
losuj_karty(2, talia, cpu_wieza_gora);
losuj_karty(2, talia, gracz_wieza_gora);
losuj_karty(4, talia, gracz_hand);
cout << "GRACZ:";
cout << "Wylosowane karty, to:\n";
for(int a=0; a<=4; a++)
{
cout << a+1 << ". " << gracz_hand[a].name << endl;
}
losuj_karty(4, talia, cpu_hand);
cout << "CPU:";
cout << "Wylosowane karty, to:\n";
for(int a=0; a<=4; a++)
{
cout << a+1 << ". " << cpu_hand[a].name << endl;
}
system("PAUSE");
return 0;
}
void losuj_karty(int ile, card zrodlo[], card przeznaczenie[])
{
int losowa=0;
srand(time(0));
for(int i=0; i<=ile; i++)
{
do
{
losowa=rand() % 52;
if(zrodlo[losowa].nie_wybrana==true)
{
przeznaczenie[i]=zrodlo[losowa];
}
}
while(zrodlo[losowa].nie_wybrana==false);
zrodlo[losowa].nie_wybrana=false;
}
}