#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include "ctime"
#include "cmath"
using namespace std;
int lauf=0, z=1;
class Mastermind
{
private:
int farben_suchen[4];
int farbe[4];
int stat1[25];
int stat2[25];
int stat3[25];
int stat4[25];
public:
void farbe_festlegen();
void farbe_suchen();
void zeige_alle();
bool gewonnen();
};
//Klassenmethode
void Mastermind::farbe_festlegen()
{
srand((unsigned)time(NULL));
farben_suchen[0]=rand()%4+1;
farben_suchen[1]=rand()%4+1;
while (farben_suchen[0]==farben_suchen[1])
{
farben_suchen[1]=rand()%4+1;
}
farben_suchen[2]=rand()%4+1;
while (farben_suchen[0]==farben_suchen[2]||farben_suchen[1]==farben_suchen[2])
{
farben_suchen[2]=rand()%4+1;
}
farben_suchen[3]=rand()%4+1;
while (farben_suchen[0]==farben_suchen[3]||farben_suchen[1]==farben_suchen[3]||farben_suchen[2]==farben_suchen[3])
{
farben_suchen[3]=rand()%4+1;
}
}
void Mastermind::farbe_suchen()
{
int stelle_richtig=0, stelle_falsch=0;
cout<<"Es gibt 4 Farben (Rot =1, Blau=2, Grun=3,Gelb=4)"<<endl;
cout<<"Bitte geben sie ihre erste Farbe ein."<<endl;
cin>>farbe[0];
stat1[lauf]=farbe[0];
cout<<"Bitte geben sie ihre zweite Farbe ein!"<<endl;
cin>>farbe[1];
stat2[lauf]=farbe[1];
cout<<"Bitte geben sie ihre dritte Farbe ein!"<<endl;
cin>>farbe[2];
stat3[lauf]=farbe[2];
cout<<"Bitte geben sie ihre vierte Farbe ein!"<<endl;
cin>>farbe[3];
stat4[lauf]=farbe[3];
if(farbe[0]==farben_suchen[0])
stelle_richtig=stelle_richtig+1;
if (farbe[1]==farben_suchen[1])
stelle_richtig=stelle_richtig+1;
if(farbe[2]==farben_suchen[2])
stelle_richtig=stelle_richtig+1;
if(farbe[3]==farben_suchen[3])
stelle_richtig=stelle_richtig+1;
cout<<endl<<"Es sind "<<stelle_richtig<<" Farben richtig"<<endl<<endl;
}
bool Mastermind::gewonnen()
{
return farbe[0]==farben_suchen[0] && farbe[1]==farben_suchen[1] && farbe[2]==farben_suchen[2] && farbe[3]==farben_suchen[3];
}
void Mastermind::zeige_alle()
{
cout<<"Ihre bisherigen Versuche waren: "<<endl;
for (int i=0; i<=lauf-1; i++)
{
cout<<"Ihr "<<i+1<<" Versuch:";
switch(stat1[i])
{
case 1:
cout<<"Rot,";
break;
case 2:
cout<<" Blau,";
break;
case 3:
cout<<" Grun,";
break;
case 4:
cout<<" Gelb,";
break;
}
switch(stat2[i])
{
case 1:
cout<<"Rot,";
break;
case 2:
cout<<" Blau,";
break;
case 3:
cout<<" Grun,";
break;
case 4:
cout<<" Gelb,";
break;
}
switch(stat3[i])
{
case 1:
cout<<"Rot;";
break;
case 2:
cout<<" Blau,";
break;
case 3:
cout<<" Grun,";
break;
case 4:
cout<<" Gelb,";
break;
}
switch(stat4[i])
{
case 1:
cout<<"Rot";
break;
case 2:
cout<<" Blau";
break;
case 3:
cout<<" Grun";
break;
case 4:
cout<<" Gelb";
break;
}
cout<<endl;
}
cout<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
Mastermind Spiel;
Spiel.farbe_festlegen();
while (z==1)
{
Spiel.farbe_suchen();
if (Spiel.gewonnen())
{
cout<<"Sie haben gewonnen!"<<endl;
getch();
return 0;
}
lauf=lauf+1;
Spiel.zeige_alle();
}
}