TIC TAC TOE (gegen Computer)
-
Warum benutzt du nicht switch-case?
Warum benutzt du nicht eine do-while Schleife?Gruß Tobi.
-
Jetzt hört mal auf mit diesen dummen und arroganten Fragen. Viel besser ist es doch, einen Anfänger (höflich) darauf hinzuweisen, was er besser machen könnte, und ihn nicht so hinterhältig fragen, warum er etwas nicht benutzt...
@Gnomecoder: std::string erleichtert dir den Umgang mit Strings ungemein, guck dir mal dieses Tutorial dazu an:
std::string
Switch-Konstrukte
Do SchleifeHoffe, es hilft dir etwas weiter. Du musst deinen Code viel kompakter schreiben. Denk dir aber nichts, ist häufig so bei Anfängern. :xmas1:
-
danke danke, do schleife und case kenne ich natürlich
aber hab das projekt ganz klein angefangen, und dann immer nen bisschen mehr dazu...
hab den code schon hauptsächlich überarbeitet, hatte vorher fsat alles in der main und hab auch viel mit goto gearbeitet, die hab ich alle beseitigt^^
naja, war eh nur nen langeweile projekt, lohnt sich net großararit dran weiter zu arbeiten, interessiert doch eh keinen^^
also danke fürs feedbackmfg
-
Hallo
Ich habe die Frage weder gestellt, weil ich unhöflich bin, noch weil ich dumm bin, sondern weil ich wissen wollte, warum er es ohne macht. Es soll da ja auch hardocre Programmierer geben. Da aber in der Signatur auch noch c++ steht, habe ich mich eben gewundert.
chrische
-
Wegen deinem Posting hätte ich nichtmal was gesagt, aber Tobi sein Kommentar hat dem dann noch die Krone aufgesetzt...
-
Hallo
mikey schrieb:
Wegen deinem Posting hätte ich nichtmal was gesagt...
Na da bin ich ja beruhigt.
chrische
-
in dem code da oben^^ wird std::string nicht viel helfen. besser ist's eher, irgendwelche dinge zu 'berechnen' und mit lookup-tables zu arbeiten etc. damit kann man diesen umständlichen code ganz schön zusammenstauchen.
-
so, das mit dem main hab ich dann mal anders geklärt.
achja wieso soll ich denn lieber case benutzen?
ist nicht so umständlich ja, aber könnt ich doch eh nur an paar stellen benutzen, und wenn ich eh schon auf if angewiesen bin, hab ichs halt ganz mit if gemacht.
Und zu do schleifen: wo genau sollte ich die verwenden, und warum sind sie besser als while schleifen?
std::string kenn ich ehrlich gesagt nicht wirklich, hab kurz in den link reingeschaut, werds mir moin nochmal genauer ansehn.mfg
-
mikey schrieb:
Wegen deinem Posting hätte ich nichtmal was gesagt, aber Tobi sein Kommentar hat dem dann noch die Krone aufgesetzt...
Jetzt bin ich hier der Buhmann
jaja... ich wiess wie des ist ich wurde so auch auf meine Fehler aufmerksam gemacht und habs ewig net begriffen. schau dir ruhig meine ersten Posts hier an xD
Es war sicher nicht böse gemeint.
Gruß Tobi.
-
T0bi schrieb:
Jetzt bin ich hier der Buhmann
Aber nur einbisschen.
T0bi schrieb:
jaja... ich wiess wie des ist ich wurde so auch auf meine Fehler aufmerksam gemacht und habs ewig net begriffen. schau dir ruhig meine ersten Posts hier an xD
Selbsterkenntnis führt ja bekanntlicherweise zur Besserung.
-
:p na und wenn schon ^^
-
Was mir grad so einfällt... Du könntest deinen Code um einiges kürzen, wenn du (mal abgesehen von den grundlegendsten Dingen) mit einem std::valarray und der std::gslice Klasse arbeitest. So kannst du Teilvektoren senkrecht, waagrecht und diagonal aus der Matrix (also dem Spielfeld) extrahieren, und ermitteln, ob die Teilmatrix (stellt einen Ausschnitt des Spielfeldes dar) aus z.B. '0' (steht für einen Kreis) oder '1' (steht für Kreuz) besteht. Wenn ja, dann hat natürlich der entsprechende Spieler gewonnen. Zumindest mal soviel zum Thema Gewinnerermittlung.
Beim Setzen eines neuen Kreises/Kreuzes füllst du das (zweidimensionale, x und y Achse) valarray dann eben mit Einsen und Nullen, um später den Gewinner ermitteln zu können.
-
müsste man dann nicht immer das ganze Spielfeld neu ausgeben?
naja eh egal ich hab eh keine Lust mehr daran weiter zu machen.
aber danke für die antworten.
-
Gnomecoder schrieb:
müsste man dann nicht immer das ganze Spielfeld neu ausgeben?
Wäre das schlimm (für dich)?
-
Ich würde gerne wissen wi man das so hinbekommt das das spielfeld da so Rot ist?
hab das nem nirgends gefunden^^
-
Creazy231 schrieb:
Ich würde gerne wissen wi man das so hinbekommt das das spielfeld da so Rot ist?
hab das nem nirgends gefunden^^Sieh dir die Funktion ab Zeile 715 an. Dort findest du z.B.:
HANDLE hL = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hL,FOREGROUND_RED); // [...] SetConsoleTextAttribute(hL,FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);