All pastes #588445 Raw Edit

Something

public text v1 · immutable
#588445 ·published 2007-06-25 15:03 UTC
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;
}