Galgenmännchen programmieren
-
Hallo,
ich will mal als kleine Übung ein Galgenmännchenspiel programmieren.
Grundsätzlich hab ich mir das so vorgestellt:
Textdatei mit Begriffen (durch Semikolon voneinander getrennt) ist bereits da.
# Programm liest Textdatei aus
# sucht zufällig einen Begriff aus
# Je nachdem wieviel Buchstaben der Begriff hat, werden dementsprechend "_" Unterstriche angezeigt.
# User kann Buchstaben eingeben, falls Buchstabe in dem Begriff (String) vorkommt, wird dieser angezeigt (_ _ B _ _ _), ansonsten zählt eine Variable hoch, bis eine maximale Zahl erreicht wird (z.B. 5), danach ist der Versuch gescheitert.
Ist die Idee so ok?
Ansonsten hab ich noch die Frage, wie ich die Textdatei am besten auslesen kann und die Begriffe in strings speichere bzw. aus der Textdatei einen "zufälligen" Begriff auswähle. (wie ich es z.B. mit fstream mache, weiss ich, aber nicht, wie man das geschickt macht... )
Vielen dank schonmal für eure Hilfestellung
-
also ich hatte das mal mit dieser klasse realisiert:
class Cgalgen { string wort; // zu erratendes wort vector<string> buch; // vektor für die wörter vector<string>::iterator iter; // zeiger für den vektor ifstream datei; // lesestream für wörterbuchdatei ofstream datei2; // schreibstream für die wörterbuchdatei int gewonnen, verloren; // Ausgaben für Statistik int counter; // Wortzähler im Vektor int ZEICHEN; // für die for-schleifen char wortfeld[]; public: Cgalgen(); // konstructor (main) ~Cgalgen(){}; // Destruktor void wortEingabe(); // Wöter hinzufügen void wortEntfernen(); // Wörter entfernen void wortAnzeigen(); // Wörter anzeigen int woerterZaehler(); // Zählen der Wörter im Vektor void listeLoeschen(); // leeren der gesamten Liste void zufallswort(); // zufälliges Wort aus einem Vektor wählen (c-tor) void spielen(); // Spielroutine (main) void statistik(); // Statistik des Spielers bool raten(); // prüfen der einzelnen Zeichen (spielen) void logo(); // Ausgabe des Logos (spielen) };
läuft ganz gut, vielleicht gibts dir ein paar tips. möchte den sc jetzt hier nicht posten, da er 385 zeilen hat
-
hmm,
dann schick ihn mir doch einfach mal per Mail
Würde mir den gern mal ansehen
Mail steht im Profil.
Vielen Dank
-
sie haben post
-
enno-tyrant schrieb:
sie haben post
Sie ebenfalls
-
Ist es eigentlich möglich, wenn man in der TExtdatei die Begriffe untereinander stehen hat
Adler Haus Kirche Keller ....
irgendwie zufällig eine bestimmte Zeile auszulesen.
Oder erkennt fstream die verschiedenen Zeilen nicht?Ansonsten könnte man ja einfach sagen, dass er eine zufällige Zeile auswählt und dann diesen Begriff eben einliest....
-
ist in dem prog schon realisiert
-
hmm,
hast du noch Bibliotheken dabei gehabt?
Ich bekomme es nämlich nicht zum laufen
c:\dokumente und einstellungen\desktop\main.cpp(35) : warning C4200: nonstandard extension used : zero-sized array in struct/union
c:\dokumente und einstellungen\desktop\main.cpp(74) : error C2065: 'sort' : undeclared identifier
c:\dokumente und einstellungen\desktop\main.cpp(75) : error C2065: 'unique' : undeclared identifier
c:\dokumente und einstellungen\desktop\main.cpp(85) : error C2065: 'time' : undeclared identifier
c:\dokumente und einstellungen\desktop\main.cpp(92) : error C2057: expected constant expression
c:\dokumente und einstellungen\desktop\main.cpp(92) : error C2466: cannot allocate an array of constant size 0
c:\dokumente und einstellungen\desktop\main.cpp(92) : error C2133: 'puffer' : unknown size
c:\dokumente und einstellungen\desktop\main.cpp(385) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.ennos.exe - 6 error(s), 2 warning(s)
-
außer diesen hire keine weiteren:
#include <iostream> #include <string> #include <fstream> #include <iomanip> #include <vector> #include <conio.h>
fehlt dir vielleicht eine? sollte eigentlich nicht der fall sein.
//edit:
kannst ja in zeile 385 ein
return 0;
noch einfügen, ich verzichte gern darauf
-
enno-tyrant schrieb:
außer diesen hire keine weiteren:
#include <iostream> #include <string> #include <fstream> #include <iomanip> #include <vector> #include <conio.h>
fehlt dir vielleicht eine? sollte eigentlich nicht der fall sein.
Nee, hab alle inkludiert.
Hab ja meine Fehlermeldungen gepostet.
Was soll's, schaue ich mir eben nur den SC an
-
vielleicht hilft dir das weiter:
BS: winxp
IDE: mingw dev studio
compiler: gcc
-
hm...enno, könntest mir den code auch mal mailen??
Wäre nett!
-
mir bitte auch: