Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »BlueCobold« (03.06.2013, 06:57)
Es ist meiner Meinung nach insgesamt ziemlich schlecht programmiert:
Jetzt mal seriös und zur Implementierung: was hast du denn für einen Algorithmus bei den unterschiedlichen Schwierigkeitsstufen gewählt. Erstmal fällt mir auf, dass es an manchen Stellen sehr lange dauert, bis eine Berechnung vollendet ist (muss jetzt nicht speziell an der Implementierung liegen, kann auch nur mein Wine sein, dass ich gerade extra zum Testen mal installiert habe). Und zwischen Mittel und Schwer sehe ich jetzt kaum Unterschiede in der Schwierigkeit.
Sowas gibt es xD ?Hast du mal über eine Karriere als Texter nachgedacht?
Ich habe das im Video schon gesehen. Ist auf jeden Fall sehr unübersichtlich, den gesamten Quellcode in eine Datei zu klatschen, aber man gewöhnt sich irgendwann daran, gewisse Sachen auszulagern.Es ist meiner Meinung nach insgesamt ziemlich schlecht programmiert:
Ich habe keine Funktionen oder Klassen verwendet.
Manche Sachen wie das Menü wurden schlecht realisiert.
Keine Einteilung in cpp Dateien.
Und auch das Feld füllen im Modus leicht und mittel, ist manchmal (besonders beim letzten Feld) sehr langsam.
An dieser Stelle bietet es sich eventuell an, eine Funktion choice zu schreiben, die zufällig ein Element aus einer Liste auswählt. Die Liste kann dann aus Elementen bestehen, die die leeren Felder des Spielbretts beschreiben.Die Felder bei Leicht werden komplett mit Zufallszahlen gefüllt, also ich hab 9 Variablen, jede davon ist Anfangs false, der Computer generiert über rand Zufallszahlen und füllt diese 9 Variablen, wenn sie false sind.
Falls sie true sind, also besetzt, generiert er solange Zufallszahlen bis eine dabei ist, welche false ist, daher laggt es beim letzten Feld, da er meist die letzte Zufallszahl sucht.
Klingt nach hart einprogrammiert. Hier würde sich eventuell der Min-Max-Algorithmus empfehlen (Quelle z.B. hier). Damit die Spiele aber nicht immer identisch verlaufen, könnte der Zufall hier noch mit hineinspielen.Bei Mittel, versucht der Computer das dritte Kreuz/ Kreis in einer Reihe zu setzen, bzw. er erkennt es, oder er versucht den Spieler zu behindern.
Mittel ist aber trotzdem besiegbar, durch einfache Strategien.
Sämtliche Züge stehen im Code? Das ist crazy. Aber damit eventuell das gleiche erreicht wird, ohne alles hart reinzucoden, könnte man hier eventuell eine erweiterte Variante des Min-Max-Algorithmus wählen, Damit der Computer Zwickmühlen bauen kann bzw. die vom menschlichen Spieler verhindert.Bei Schwer ist es nahezu unmöglich zu gewinnen, da alle Züge vorprogrammiert sind und nahezu alle Strategien des Gewinnens ausschließt.
Implementierung ist die Umsetzung von Algorithmen, also die Programmierung derer.Mit Implementierung, weiß ich leider nicht was gemeint ist , also es wurde mit der SDL Bibliothek realisiert. ( wenn du das meinst xD)
Werbeanzeige