#1 26. April 2008 Mastermind in C hey.. ich wollt ma des mastermind nachproggen.. aber es klappt nich so wirklich.. was is daran falsch? ich finde den fehler einfach nicht : / Code: #include <stdio.h> #include <stdlib.h> int main() { unsigned char vorgabe[4]; int j,k,i; unsigned char eingabe[5]; srand(time(0)); /////////////////ZUFALL AM ANFANG FESTLEGEN /////////////////////////////////// for(j=0;j<4;j++) { vorgabe[j] = rand()%6+97; } //////////////////////////////////////////////////////////////////////////// // vorgabe[0] = 'a'; // vorgabe[1] = 'b'; // vorgabe[2] = 'c'; // vorgabe[3] = 'd'; printf("MasterMind v1.0\n"); ////////////////EINGABE VOM BENUTZER/////////////////////////////////////// do { for(j=0;j<4;j++) { scanf("%c", &eingabe[j]); } for(j=0;j<4;j++) { printf("%c", eingabe[j]); } for(k=0;k<4;k++) { if(eingabe[k]==vorgabe[k]) { printf("*"); } else { for(i=0;i<4;i++) { if(eingabe[i]==vorgabe[k]) { printf("+"); } } } } }while((vorgabe[0] != eingabe[0]) || (vorgabe[1] != eingabe[1]) || (vorgabe[2] != eingabe[2]) || (vorgabe[3] != eingabe[3])); printf("\nGlueckwunsch, du hast es geschafft!\n"); //////////////////////////////////////////////////////////////////////////// ////////////// } wer nich weiß was mastermind is: Mastermind – Wikipedia es is anstatt farben halt mit buchstaben von a - f mfg + Multi-Zitat Zitieren
#2 27. April 2008 AW: Mastermind in C Vielleicht postest du erstmal die Fehlermeldung die auftritt.. Gibt es schon Fehelr beim Kompilieren? Oder tritt der Fehler erst beim laufenden Spiel auf (also Logikfehler o.ä.) So ganz ohne Hilfe können wir dir nämlich auch nicht helfen + Multi-Zitat Zitieren
#3 27. April 2008 AW: Mastermind in C naja am besten wäre es ja wenn ihr es kompiliert und schaut was es macht dann kann man sich selber ein bild machen. aber ja, es lässt sich kompilieren, aber das spiel funzt halt nicht richtig (logikfehler) . mfg + Multi-Zitat Zitieren
#4 27. April 2008 AW: Mastermind in C Hey! Code: #include <stdio.h> #include <string.h> #define N_FIELDS 4 #define MAX_BUF (N_FIELDS * 2) const unsigned char loesung[] = { 'a', 'b', 'c', 'd' }; int main (void) { unsigned char eingabe[MAX_BUF] = { 0 }, versuch[N_FIELDS] = { ' ' }; unsigned int i = 0, j = 0, done = 0; while (!done) { /* Benutzer die Loesung eingeben lassen */ memset (eingabe, 0, MAX_BUF); fgets (eingabe, (MAX_BUF - 1), stdin); for (i = 0; i < N_FIELDS; i++) { for (j = 0; j < N_FIELDS; j++) { if (eingabe[i] == loesung[j]) { /* Richtige Stelle! */ if (i == j) versuch[j] = '*'; else versuch[j] = '+'; } } } /* Falls alles richtig ist, wird sich die while-Schleife beenden */ done = 1; printf ("|"); for (i = 0; i < N_FIELDS; i++) { printf ("%c|", versuch[i]); /* Leider nicht alles richtig... while-schleife wieder aktivieren */ if (versuch[i] != '*') done = 0; } printf ("\n"); memset (versuch, ' ', N_FIELDS); } printf ("Herzlichen Glueckwunsch!\n"); #ifdef _WIN32 system ("PAUSE"); #endif return 0; } Hat mich gerade gejuckt Mfg, Kolazomai + Multi-Zitat Zitieren
#5 27. April 2008 AW: Mastermind in C Ja tut mir sehr leid, aber einen Source dafür kann ich auch finden. Ich schreib morgen eine Arbeit und ich sollte wissen was an meinem (!) Programm falsch ist. Versteht ihr? :] MfG + Multi-Zitat Zitieren