master mind in c



  • hi
    ich suche code von master mind.
    danke!
    🙂


  • Mod

    Und ich suche den heiligen Gral.

    Ich denke, hier wirst du (nach dieser Frage) nur doofe Antworten finden. Vielleicht möchtest du mal dies und die Links in meiner Signatur lesen, vielleicht findest du dort den Code.



  • SeppJ schrieb:

    Und ich suche den heiligen Gral.

    Der liegt in einer Erdspalte in dem Tempel bei dem alten Ritter.

    SeppJ schrieb:

    Ich denke, hier wirst du (nach dieser Frage) nur doofe Antworten finden.

    Dann fang ich mal an.
    Hier kannst du dir den Code selber raussuchen.



  • c lehrling schrieb:

    hi
    ich suche code von master mind.
    danke!
    🙂

    ich muss das auch programmiern aber das dauert noch ein paar Tage.
    kann dir dann Code gegben.
    Gruß



  • SeppJ schrieb:

    Und ich suche den heiligen Gral.

    Der ist in meiner Bluse. Bitte um diskrete Kontakaufnahme.


  • Mod

    volkard schrieb:

    SeppJ schrieb:

    Und ich suche den heiligen Gral.

    Der ist in meiner Bluse. Bitte um diskrete Kontakaufnahme.

    Muss ich dazu wissen, was der bußfertige Mann macht oder ein Gebüsch als Opfer bringen?



  • SeppJ schrieb:

    volkard schrieb:

    SeppJ schrieb:

    Und ich suche den heiligen Gral.

    Der ist in meiner Bluse. Bitte um diskrete Kontakaufnahme.

    Muss ich dazu wissen, was der bußfertige Mann macht oder ein Gebüsch als Opfer bringen?

    Hab knapp 800 weitere Anfragen von heute, um den Gralsheber festzustellen, in meine Bluse zu fassen, sorry, wenn ich verzögert antworte. Du würdest es vermutlich in Deinem Inneren wissen, wenn Du berufen wärst. Im Zweifel, oder wenn Du überzeugt davon bist, Mail bitte.



  • volkard schrieb:

    SeppJ schrieb:

    Und ich suche den heiligen Gral.

    Der ist in meiner Bluse. Bitte um diskrete Kontakaufnahme.

    du willst ja nur das man dir an die wäsche gehn tut!



  • bitte keine trollpostings.
    danke.



  • @c lehrling:

    ich habe schon mal nach reiflicher überlegung einen ansatz für den datendesign festgelegt und definiert:

    #define CODE_ELEMENTS "abcdef"
    #define CODE_ELEMENTS_COUNT (sizeof(CODE_ELEMENTS)-1)
    #define CODE_ELEMENTS_TO_GUESS_COUNT 4
    #define GUESS_TRIALS_MAX 12
    

    die farben werden durch buchstaben realisiert: abcdef.
    das entspricht 6 verschiedenen farben.
    es gilt 4 farben zu erraten wobei farben mehrfach vorkommen können und man hat 12 versuche den code zu knacken.

    wie würdest du anfangen?



  • auch lernt schrieb:

    @c lehrling:

    ich habe schon mal nach reiflicher überlegung einen ansatz für den datendesign

    für das datendesign!
    http://www.duden.de/rechtschreibung/Design
    mfg



  • auch lernt schrieb:

    @c lehrling:

    ich habe schon mal nach reiflicher überlegung einen ansatz für den datendesign festgelegt und definiert:

    #define CODE_ELEMENTS "abcdef"
    #define CODE_ELEMENTS_COUNT (sizeof(CODE_ELEMENTS)-1)
    #define CODE_ELEMENTS_TO_GUESS_COUNT 4
    #define GUESS_TRIALS_MAX 12
    

    die farben werden durch buchstaben realisiert: abcdef.
    das entspricht 6 verschiedenen farben.
    es gilt 4 farben zu erraten wobei farben mehrfach vorkommen können und man hat 12 versuche den code zu knacken.

    wie würdest du anfangen?

    Hab keine bessere Idee darum übernehme ich deinen Ansatz 😃
    Dann würd ich sagen das man noch n paar Variable braucht! 😮

    char code[CODE_ELEMENTS_TO_GUESS_COUNT]; // das programm erzeugt zufälligen code
    char user_guess[CODE_ELEMENTS_TO_GUESS_COUNT]; // der benutzer gibt eine code ein
    char guess_result[CODE_ELEMENTS_TO_GUESS_COUNT]; // speichert die treffer
    

    entweder soll ein zweiter spieler den code eingeben oder eine
    funktion erzeugt ihn

    void create_code_to_guess(char code[CODE_ELEMENTS_TO_GUESS_COUNT])
    {
    	int i;
    	for(i = 0; i < CODE_ELEMENTS_TO_GUESS_COUNT; i++)
    		code[i] = CODE_ELEMENTS[rand() % CODE_ELEMENTS_COUNT];
    }
    

    eine funktion, die den code anzeigt:

    void display_code(char code[CODE_ELEMENTS_TO_GUESS_COUNT])
    {
    	int i;
    	for(i = 0; i < CODE_ELEMENTS_TO_GUESS_COUNT; i++)
    		putchar(code[i]);
    	putchar('\n');
    }
    

    testprogramm für code-Erzeugung:

    #define CODE_ELEMENTS_TO_GUESS_COUNT 4
    
    void display_code(char code[CODE_ELEMENTS_TO_GUESS_COUNT])
    {
    	int i;
    	for(i = 0; i < CODE_ELEMENTS_TO_GUESS_COUNT; i++)
    		putchar(code[i]);
    	putchar('\n');
    }
    
    void create_code_to_guess(char code[CODE_ELEMENTS_TO_GUESS_COUNT])
    {
    	int i;
    	for(i = 0; i < CODE_ELEMENTS_TO_GUESS_COUNT; i++)
    		code[i] = CODE_ELEMENTS[rand() % CODE_ELEMENTS_COUNT];
    }
    
    // Testprogramm für Code-Erzeugung
    int main(void)
    {
    	int i;
    	char code[CODE_ELEMENTS_TO_GUESS_COUNT] = {0};
    	srand(time(0));
    	for(i = 0; i < 20; i++)
    	{
    		create_code_to_guess(code); // 20 mal code erzeugen 
    		display_code(code); // und anzeigen
    	}
    	fflush(stdin); // puffer leer machen
    	getchar(); // warten damit fenster nicht zu geht
    	return 0;}
    

    das funzt schon mal. 👍
    als nächstes schlage ich die benutzereingabe vor. die eigabe des codes 💡



  • so, jetze mal vollständig:

    #include <stdio.h> // putchar
    #include <stdlib.h> // rand, srand
    #include <time.h> // time
    
    #define CODE_ELEMENTS "abcdef"
    #define CODE_ELEMENTS_TO_GUESS_COUNT 4
    #define CODE_ELEMENTS_COUNT (sizeof(CODE_ELEMENTS)-1)
    
    void display_code(char code[CODE_ELEMENTS_TO_GUESS_COUNT])
    {
    	int i;
    	for(i = 0; i < CODE_ELEMENTS_TO_GUESS_COUNT; i++)
    		putchar(code[i]);
    	putchar('\n');
    }
    
    void create_code_to_guess(char code[CODE_ELEMENTS_TO_GUESS_COUNT])
    {
    	int i;
    	for(i = 0; i < CODE_ELEMENTS_TO_GUESS_COUNT; i++)
    		code[i] = CODE_ELEMENTS[rand() % CODE_ELEMENTS_COUNT];
    }
    
    // Testprogramm für Code-Erzeugung
    int main(void)
    {
        int i;
        char code[CODE_ELEMENTS_TO_GUESS_COUNT] = {0};
        srand(time(0));
        for(i = 0; i < 20; i++)
        {
            create_code_to_guess(code); // 20 mal code erzeugen
            display_code(code); // und anzeigen
        }
        fflush(stdin); // puffer leer machen
        getchar(); // warten damit fenster nicht zu geht
        return 0;
    }
    


  • Kleine Bemerkung:
    Ich persönlich mag keine UNENDLICH_LANGE_FUNKTIONS_VARIABEL_ODER_MAKRO_NAMEN.
    Zu unübersichtlich und zuviel Schreibarbeit.

    Bevorzuge bspw.
    "CODE_SIZE" statt "CODE_ELEMENTS_TO_GUESS_COUNT"
    "newCode" statt "create_code_to_guess"

    Steht euch natürlich frei, die Namen zu wählen, wie ihr lustig seid.
    KISS (Keep It Simple and Stupid)



  • Nach dem holprigen Start ("ich suche code von master mind") geht es ja nun doch voran hier.

    Ich würde das ganze allerdings genau andersherum aufziehen und bei main anfangen:

    #include <stdlib.h>
    #include <time.h>
    
    int main(void){
      srand(time(NULL));
      game g = {0};
      play(&g);
    }
    

    Also von oben nach unten anfangen - das erscheint mir immer noch leichter - besonders, wenn ich Sachen machen muss, die ich nicht schon ein paar mal gemacht habe.

    Und bei den Bezeichnern würde ich tatsächlich auch was kürzeres wählen. (Ich weiss auch nicht, ob Dich jemand auf den Arm genommen hat mit dem "Design", das Ergebnis "reiflicher Überlegung" ist.)


Anmelden zum Antworten