Witam,
podpowiedział by mi ktoś, dlaczego przydziela ten sam znak??
//------------------------------------------game.h------------------------------------------
#include <string>
using namespace std;
enum SIGN { SGN_CIRCLE = 'O',
SGN_CROSS = 'X' };
enum FIELD { FLD_EMPTY=0,
FLD_CIRCLE = SGN_CIRCLE,
FLD_CROSS = SGN_CROSS };
enum GAMESTATE { GS_NOTSTARTED,
GS_MOVE,
GS_WON,
GS_DRAW };
class CPlayer{
private:
string m_Player1;
string m_Player2;
public:
CPlayer()
{m_Player1=m_Player2= "???";}
char Losowanie();
void Wczytaj();
void Pokaz();
string Gracz () { return m_Player1;}
string Gracz2 () { return m_Player2;}
};
//------------------------------------------game.cpp------------------------------------------
#include <iostream>
#include <ctime>
#include <string>
#include "game.h"
using namespace std;
//class CPlayer
void CPlayer::Wczytaj()
{
cout << "Podaj nazwe Gracza nr.1: ";
getline(cin,m_Player1);
cout << "Podaj nazwe Gracza nr.2: ";
getline(cin,m_Player2);
}
void CPlayer::Pokaz()
{
CPlayer* Los,*Los2;
Los=new CPlayer;
Los2=new CPlayer;
cout << m_Player1 << " - " << Los->Losowanie()<<endl;
cout << m_Player2 << " - " << Los2->Losowanie()<<endl;
}
char CPlayer::Losowanie()
{
SIGN Znak;
srand(static_cast<unsigned>(time(NULL)));
return (static_cast<char>(Znak = (rand() % 2 == 0 ? SGN_CIRCLE : SGN_CROSS)));
}
//------------------------------------------main.cpp------------------------------------------
#include <iostream>
#include "game.h"
int main ()
{
CPlayer* Gracz;
Gracz=new CPlayer;
Gracz->Wczytaj();
Gracz->Pokaz();
delete Gracz;
system("pause");
return 0;
}
Dzięki z góry. :)