rendered paste body#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include "zufall.h"
#include "textcolor.h"
#define debug
//#define farben
using namespace std;
int main(int argc, char *argv[])
{
int iz[6], ifarbe,ispielstein,ianzahl,iascii,iversuch,ifa[6],ieingabe,ischwarz,iweiss,iweiss2,ianzahla,ianzahlb,iausw;
int iblauz,igruenz,ipinkz,irotz,igoldz,ituerkisz,iblauf,igruenf,ipinkf,irotf,igoldf,ituerkisf;
char cnavi;
iblauz = 0;
igruenz = 0;
ipinkz = 0;
irotz = 0;
igoldz = 0;
ituerkisz = 0;
iblauf = 0;
igruenf = 0;
ipinkf = 0;
irotf = 0;
igoldf = 0;
ituerkisf = 0;
iz[0] = 0;
iz[1] = 0;
iz[2] = 0;
iz[3] = 0;
iz[4] = 0;
iz[5] = 0;
iascii = 178;
ispielstein = 4;
ifarbe = 4;
ischwarz = 0;
iweiss = 0;
iweiss2 = 0;
// Farbcode wird erstellt
randomize2();
iz[0]=random_from_to(1,ifarbe);
iz[1]=random_from_to(1,ifarbe);
iz[2]=random_from_to(1,ifarbe);
iz[3]=random_from_to(1,ifarbe);
iz[4]=random_from_to(1,ifarbe);
iz[5]=random_from_to(1,ifarbe);
//Hier kann man den Farbcode ansehen
#ifdef debug
printf("%i\t%i\t%i\t%i\t%i\t%i\n",iz[0],iz[1],iz[2],iz[3],iz[4],iz[5]);
for(ianzahl=0;ianzahl<=ispielstein-1;ianzahl++)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[ianzahl]);
printf("Farbe %i: %i \n",ianzahl+1,iz[ianzahl]);
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[0]);
printf("\t\t%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[1]);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[2]);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[3]);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[4]);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[5]);
printf("%c\t",iascii);
#endif
//Anzeige der Möglichkeiten
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
printf("\n\n********************************************************************************");
printf("\n\n\t\t\t\tMastermind\n\n");
printf("\tFarben:\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),9);
printf("\n\t\t1 = Blau ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
printf("2 = Gruen ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
printf("3 = Tuerkis ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),12);
printf("4 = Rot ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),13);
printf("5 = Pink ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
printf("6 = Gold\n\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
printf("\tFunktionen\n");
printf("\n\tE = Spiel Beenden\tS = Spiel Speichern\tF= Fortfahren");
printf("\n\n********************************************************************************\n");
//Spiel beginn
for(iversuch=0;iversuch<=10-1;iversuch++)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
printf("\n\tVersuch %i\n\n",iversuch+1);
printf("\t\t\tBitte geben Sie ihren Farbcode ein:\n\n");
printf("\t\t");
for(ianzahl=0;ianzahl<=ispielstein-1;ianzahl++)
{
cnavi = getch();
switch (cnavi)
{
case '1':
ifa[ianzahl] = 1;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),9);
printf("\t%c",iascii);
iblauf = iblauf + 1;
if(iz[ianzahl] == 1)
{
ischwarz = ischwarz + 1;
}
break;
case '2':
ifa[ianzahl] = 2;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
printf("\t%c",iascii);
igruenf = igruenf + 1;
if(iz[ianzahl] == 2)
{
ischwarz = ischwarz + 1;
}
break;
case '3':
ifa[ianzahl] = 3;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
printf("\t%c",iascii);
ituerkisf = ituerkisf + 1;
if(iz[ianzahl] == 3)
{
ischwarz = ischwarz + 1;
}
break;
case '4':
ifa[ianzahl] = 4;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),12);
printf("\t%c",iascii);
irotf = irotf + 1;
if(iz[ianzahl] == 4)
{
ischwarz = ischwarz + 1;
}
break;
case '5':
if(ifarbe = 4)
{
ianzahl = ianzahl - 1;
break;
}
else
{
ifa[ianzahl] = 5;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),13);
printf("\t%c",iascii);
ipinkf = ipinkf + 1;
if(iz[ianzahl] == 5)
{
ischwarz = ischwarz + 1;
}
break;
}
case '6':
if(ifarbe = 4)
{
ianzahl = ianzahl - 1;
break;
}
else if(ifarbe = 5)
{
ianzahl = ianzahl - 1;
break;
}
else
{
ifa[ianzahl] = 6;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
printf("\t%c",iascii);
igoldf = igoldf +1;
if(iz[ianzahl] == 6)
{
ischwarz = ischwarz + 1;
}
break;
}
case 'e':
return EXIT_SUCCESS;
break;
case 'E':
return EXIT_SUCCESS;
break;
default:
ianzahl = ianzahl - 1;
break;
}//ende switch-case
}//ende for eingabe
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
//Auswertung weiss
for(ianzahla=0;ianzahla<=ispielstein-1;ianzahla++)
{
iausw = iz[ianzahla];
printf("%i",iausw);
if(iausw == 1)
{
iblauz = iblauz + 1;
}
else if(iausw == 2)
{
igruenz = igruenz + 1;
}
else if(iausw == 3)
{
ituerkisz = ituerkisz + 1;
}
else if(iausw == 4)
{
irotz = irotz + 1;
}
else if(iausw == 5)
{
ipinkz = ipinkz + 1;
}
else if(iausw == 6)
{
igoldz = igoldz + 1;
}
}
printf("\nfarbenpc\t%i\t%i\t%i\t%i\t%i\t%i\t\n",iblauz,igruenz,ituerkisz,irotz,ipinkz,igoldz);
printf("farbenspieler\t%i\t%i\t%i\t%i\t%i\t%i\t",iblauf,igruenf,ituerkisf,irotf,ipinkf,igoldf);
printf("\nweiss:%i",iweiss2);
printf("\tschwarz:%i",ischwarz);
printf("\tifarbe:%i",ifarbe);
if(ischwarz == ispielstein)
{
break;
}
ischwarz = 0;
iweiss2 = 0;
printf("\n\n\--------------------------------------------------------------------------------\n");
}//ende for versuch
if(ischwarz == ispielstein)
{
printf(" \n\nSie haben den Farbencode nach %i Versuchen erraten",iversuch+1);
if(ispielstein == 4)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[0]+9);
printf("\n\t\t%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[1]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[2]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[3]+9);
printf("%c\t",iascii);
}
else if(ispielstein == 5)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[0]+9);
printf("\n\t\t%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[1]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[2]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[3]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[4]+9);
printf("%c\t",iascii);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[0]+9);
printf("\n\t\t%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[1]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[2]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[3]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[4]+9);
printf("%c\t",iascii);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),iz[5]+9);
printf("\t\t%c\t",iascii);
}
}
getch();
return EXIT_SUCCESS;
}