Projekt Idee gesucht [momentan: 3D 4-Gewinnt]
-
µ schrieb:
Sone schrieb:
Weil ich hier mit mir selbst Spreche, erfinde ich den Log.
Kein Mensch will Installer. Lade den Code hoch, dann gibt's vielleicht mehr Rückmeldung.
Du weißt so gut wie ich, dass der Code vom Design her sehr hässlich umgesetzt wurde
Was genau willst du damit?
-
Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen...
-
Sone schrieb:
Was genau willst du jetz' damit?
Nein, ich meinte Du sollst einfach die ganze Projektmappe zur Verfügung stellen. Dann kann man sich den Code selbst übersetzen wenn man sich das Programm anschauen möchte.
Ich führe grundsätzlich keine Installer mit Adminrechten aus, die irgendjemand, irgendwo hochgeladen hat. Aus Sicherheitsgründen und weil ich mein System nicht vollmüllen will. Etwas angenehmer sind reine Zip/Rar-Archive unter Windows. Oder aus welchem Grund genau muss dein Spiel installiert und kann nicht einfach in einem beliebigen Verzeichnis ausgeführt werden? Installer nur wenn unbedingt notwendig, ansonsten sind sie eine Plage.
Und zuletzt sind wir hier in einem Programmierer-Forum. Der Code ist interessanter als das Endergebnis. Kein Grund zur Scham: Projektcode verdient meistens keinen Schönheitspreis.Und nun Themawechsel. Das folgende ist interessanter.
Sone schrieb:
Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen...
Welchen Ansatz hast Du gewählt?
-
kingcools schrieb:
Die Stopuhr funktioniert bei mir(Windows 7 64 bit), [...]
"Funktioniert"? Hat eine sehr merkwürdige Vorstellung von der Dauer von Sekunden...
-
Swordfish schrieb:
kingcools schrieb:
Die Stopuhr funktioniert bei mir(Windows 7 64 bit), [...]
"Funktioniert"? Hat eine sehr merkwürdige Vorstellung von der Dauer von Sekunden...
Klar, was liegt an?
Ich bin BTW gerade in einem Dschungel und kann schlecht entwickeln ich schwöre bei Gott,wenn ich zurück bin gibt's ne Mappe!!
-
Hey Fisch! Was ist denn jetzt los?
Sind doch wohl noch ein, zwei Bugs dabei (fixe die so schnell ich kann, der installer ist morgen oben). Mit den Sekunden scheint aber alles klar zu sein....
\
Das Problem mit der Mappe ist, um es ausfuehren zu koennen muss man Ogre und Irrklang installieren...
-
µ schrieb:
Hacker schrieb:
Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen...
Welchen Ansatz hast Du gewählt?
Normales Bruteforce, fuer den Anfang - ein Minimax-Algorithmus.
-
https://rapidshare.com/files/3669677412/3D4Wins Projektmappe.zip
Hier schon mal nur die Source(&Header).
Wer ausführen will, bitte um die PEs (Also die executable und die DLLs) bitten.
-
Sone schrieb:
µ schrieb:
Hacker schrieb:
Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen...
Welchen Ansatz hast Du gewählt?
Normales Bruteforce, fuer den Anfang - ein Minimax-Algorithmus.
Das ist kein "normales" Bruteforce sondern ein kluger Ansatz, der sich gut optimieren lässt. Weiter so
Tante Edit: Code nicht angesehen. Werde ich aber noch :p
-
Wikipedia schrieb:
Schnittstellen zum speziellen Spiel sind lediglich die beiden folgenden Programmteile:
- Welche Züge sind in einer konkreten Spielsituation möglich?
- Wie wird eine Spielsituation numerisch bewertet?
Erster Punkt ist verdammt einfach (bereits gelöst).
Der zweite eher anders: Ich habe mich entschieden, folgendermaßen zu bewerten:-2: Der Gegner hat 4 in einer Reihe.
-1: Der Gegner hat mehr in einer Reihe als DU
0: Beide gleichviel in einer Reihe
+1: Der Gegner hat weniger in einer Reihe als du
+2: Gewonnen!
-
> -2: Der Gegner hat 4 in einer Reihe.
Ziemlich sachliche Feststellung, dass man verloren hat. Wie wäre es mit -2000?
Der Zustand, der zur Niederlage führt, sollte in der Bewertungsfunktion des Min-Max-Algorithmus eine derart niedriege/hohe Punktzahl haben, dass der Algorithmus unter keinen Umständen diesen Pfad im Spielbaum wählt. Das heißt die maximal (minimal) mögliche Punktzahl bei gegebener Tiefe im Suchbaum, darf niemals die Bewertung einer Niederlage übertreffen.-1: Der Gegner hat mehr in einer Reihe als DU
0: Beide gleichviel in einer Reihe
+1: Der Gegner hat weniger in einer Reihe als du
+2: Gewonnen!Es ist hart, aber vielleicht kannst Du in die Bewertung mehr Information zur aktuellen Spielsituation einbringen?!
So reicht das noch nicht um einem menschlichen Gegenspieler Konkurrenz zu bieten.Zur Optimierung des Algorithmus: Wie zum Thema Schach damals, sei dir auch hier der Alpha-Beta-Algorithmus nahe gelegt. Schon versucht zu implementieren? Das ist "nur" eine Erweiterung zu Min-Max.
Tante Edit: Gibt's neue Screenshots? Ich fand das garnicht schlecht was es da zu sehen gab bisher.
-
µ schrieb:
Tante Edit: Gibt's neue Screenshots? Ich fand das garnicht schlecht was es da zu sehen gab bisher.
Die Maus ist Todeshässlich, aber ich krieg es nicht gebacken meine Version zu benutzen.
-
So, jetzt zu etwas weitaus interessanterem: Die KI. Den Alpha-Beta Algorithmus habe ich jetzt verstanden ( ). Alpha birgt den aktuellen mindest-Gewinn, der durch eine bereits bekannte Strategie der CPU erzielt werden kann. Also wird ein Wert < Alpha nichts bringen.
Beta ist der Theoretische höchste Verlust, den der Spieler momentan ertragen wird. Höher als Beta ist ein Zug also unsinnig (der Spieler wird ihn in jedem Fall verhindern).
-
-
-
-
3D4Wins geht übrigens jetzt wieder weiter
Versuche mich jetzt an der Evaluierungsfunktion der KI.
-
-
Wer sich wundert, warum so viele leere Posts hier stehen: Die waren unnötig.