Hangman in C

DerLehrer

Newbie
Registriert
Apr. 2021
Beiträge
5
Hallo ich bin Programmier Anfänger und wollte nach meinem ersten Schere Stein Papier Projekt ein Hangman Spiel in C Programmieren. Erstmal ganz einfach. Das gesuchte Wort soll "Bruder" sein und ein Spieler versucht es zu erraten. Ich bin mir nicht ganz sicher wie ich weiter machen soll. Ich möchte keine komplette Lösung gepostet bekommen sondern Denkansätze oder Schnipsel die mir helfen.
Mein Code bis jetzt:
/******************************************************************************

Online C Compiler.
Code, Compile, Run and Debug C program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <stdio.h>
#include <string.h>
int main()
{
char array [6] = {'b','r','u','d','e','r'};


char c;
int count = 0;



while( count < 10) //Anzahl der Versuche
{
printf("Gebe Buchstaben ein: ");
scanf("%c",&c);
getchar();
count++;

for(int i = 0; i < 6 ; i++)
{
if(array == c)
{
printf("%c\n",c);

}


}
}
}
Mit dem Code erkennt er schon mal welche Buchstaben in dem array sind also in dem Wort Bruder und gibt diese aus aber ohne jeglicher reihenfolge und beispiels weiße einfach rr und wenn ich ihn nochmal frage kommen wieder 2 mal rr. ich denke vom Ansatz bin ich nicht ganz falsch aber irgendwas wichtiges fehlt? Bin dankbar für Denkanstöße. Vllt sowas wie ein 2 Arrays? Wo man das Wort neu in richtiger Reihenfolge speichert?
 
Bitte Code ordentlich formatieren und in die Code Tags einfuegen, ggf. in einem Spoiler wrappen.
Dazu bitte konkrete Fragen. Ansonsten probier doch einfach 2 Arrays aus.
 
  • Gefällt mir
Reaktionen: BAGZZlash
ich schliesse mich Crumar an: bitte code mit entsprechender formatierung posten.. das ist ja gruselig zu lesen.... ;-) des weiteren:

schnipsel 1: "count++" am ende deiner conditions setzen
schnipsel 2: "if (array == c)" das wird niemals true sein.. denk mal nach wieso.. ;-)

das sollte dich etwas weiter bringen... ^^
 
Also der erste Denkanstoß wäre, dass du hier schon einen Fehler eingebaut hast, denn du hast zwar einen Laufindex für die Arrayposition i, aber den nutzt du dann nicht für die Überprüfung, sondern du vergleichst c mit Array... nur mal so direkt ins blaue.

Richtig, das count++ fehlt auch, ABER du solltest ja keinen Versuch verlieren bei einem richtigen Buchstaben. Das musst du also auch betrachten.
 
Grimba schrieb:
Also der erste Denkanstoß wäre, dass du hier schon einen Fehler eingebaut hast, denn du hast zwar einen Laufindex für die Arrayposition i, aber den nutzt du dann nicht für die Überprüfung, sondern du vergleichst c mit Array... nur mal so direkt ins blaue.
spielverderber! ich wollte, dass er selber drauf kommt! :-) :-) :-)
 
Das wollte ich nicht, wir haben leider ziemlich gleichzeitig geschrieben. mea culpa!
 
So hab jetzt
if( array (n der Stelle I) Kann das iwie nicht schreiben hier sonst verschwindet es warum auch immer == c)
{

printf("%c", c);

}
und count ++ eben am Ende gesetzt.

er kann jetzt eben überprüfen ob die jeweiligen Buchstaben drin sind aber mehr auch nicht hm.
Ich habe irgendwie das Gefühl ich brauche ein zweites Array und muss iwie wenn es überprüft wurde die neuen Buchstaben da reintragen? und diese müssen genau an der selben Stelle sein wie im ersten array. Vllt sind meine Gedanken aber auch falsch
 
[CODE=c][/CODE]bitte
 
DerLehrer schrieb:
So hab jetzt
if( array (n der Stelle I) Kann das iwie nicht schreiben hier sonst verschwindet es warum auch immer == c)
{

printf("%c", c);

}
und count ++ eben am Ende gesetzt.

er kann jetzt eben überprüfen ob die jeweiligen Buchstaben drin sind aber mehr auch nicht hm.
Ich habe irgendwie das Gefühl ich brauche ein zweites Array und muss iwie wenn es überprüft wurde die neuen Buchstaben da reintragen? und diese müssen genau an der selben Stelle sein wie im ersten array. Vllt sind meine Gedanken aber auch falsch
schau dir mal die editier-funktionen hier an.... die symbol-zeile im antwort-fenster... neben dem fenster-symbol (tabelle einfügen) stehen drei untereinander stehende punkte.... da drauf clicken und "</>" wählen.... im aufploppenden fenster unter "sprache" einfach "C" oder "C++" wählen und dann im content-feld deinen code einfügen...... ganz easy... :-)

und ja: du brauchst, im einfachsten falle, ein zweites, leeres char array selber größe wie dein gesuchtes wort....
findet deine vorangegangene schleife den eingegebenen buchstaben an einer stelle im "muster-array", wird dieser im neuen array an DERSELBEN stelle eingefügt..... im besten falle fängst du noch ab, ob dieser bereits vorhanden ist... ;-)
 
Zurück
Oben