• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

4 Gewinnt Spiel

rowe

New member
Ich muss für eine Semesterarbeit ein 4 Gewinnt-Spiel programmieren, habe aber absolut noch keine Ahnung wie ich da vorgehen soll.
Ich erwarte nicht das ich jetzt massenhaft verständliche Scripts zugeschickt bekomme, hoffe aber das mir jemand Tipps geben kann wie ich vorgehen muss.
Wie würdet Ihr das lösen.:(
 
wie würd ich das lösen....

...auf gar keinen Fall in Javascript :D:D:D:D

Also wenn es nicht zwingend JS sein muß, dann würde ich Flash vorschlagen, weil dann läufts auch in allen Browsern (sofern Plugin vorhanden). Und die Programmierung, Debugging und die Grafik drumherum geht wesentlich einfacher und schneller..... :)

Unabhängig davon ein paar Punkte die Du überlegen / berücksichtigen mußt:
- grafische Repräsentation (Spielfeld, Steine, Score, Navigation)
- mit oder ohne KI (d.h. kann man gegen den Computer spielen oder nicht)
- interne Datenstruktur zur Speicherung der Feldinformationen (roter Stein / grüner Stein / leer)
- Überprüfung der Endbedingung (Ermitteln des Gewinners)
- Optische Gewinnanzeige (z.B. die Gewinnkombination blinkt)
- Wenn KI, dann wird eine Prediction- und Bewertungsengine gebraucht, die mögliche Züge vorausberechnet und den bestmöglichen Zug anhand bestimmter Kriterien auswählt
- Scoring/Punkte System (z.B. pro gewonnenem Spiel einen Punkt oder zeitbasiert)

so mehr fällt mir spontan erst ma nich ein....
 
- Wenn KI, dann wird eine Prediction- und Bewertungsengine gebraucht, die mögliche Züge vorausberechnet und den bestmöglichen Zug anhand bestimmter Kriterien auswählt
das interessiert mich --> Wie willst du das lösen Albu *glotz und staun*
 
Bei den "freien" Varianten, d.h. den Downloadbaren Open Source 4 gewinnt Spielen vom .colin, bzw. beliebig andere die man findet besteht aber eine Gefahr: Wenn man sie verwendet und den Code nicht und kaum ändert, dann könnte der Prof. / Teacher die Quellen auch finden und Mogelei unterstellen / beweisen....
Außerdem muß man den Code 100% erklären können, da isses besser, wenn mans selber bastelt, lernt man ja auch ein bißchen was dabei.

@wagi: Also so eine Engine hört sich spannender an, als es vielleicht ist. Letztendlich ist 4 Gewinnt ein recht einfaches Spielprinzip. Es gibt nur n mögliche, nächste Züge für den Computer, was er also macht ist, daß er in jede Spalte "virtuell" einen Stein reinwirft und guck wie das Spielfeld aussieht und ob es für ihn "gut" ist. Dazu benutzt er natürlich die Bewertungsengine, die in irgendeiner Form einen Wert / Zahl für die aktuelle Position ermittelt.
Soweit die einfachste Form der Vorhersage und Bewertung. Der nächste Schritt wäre, wenn die Vorhersage nicht nur den nächsten Spielzug des Computers berücksichtigt, sondern auch noch für jeden Zug des Computers ausrechnet, welchen Zug denn der Spieler höchstwahrscheinlich machen wird. Hier bekommt man also zwei Bewertungen, die man entsprechend verrechnen muß.
Das Spiel kann man jetzt soweit treiben, daß der Rechner m Züge vorrausberechnet, bis hin zum Spielende (könnte aber aufgrund der CPU Belastung ausscheiden)

Bei der Bewertungsfunktion muß man geeignete Kriterien finden, die dem Rechner eine subjektive Einschätzung seiner Lage erlauben ;)
Also z.B. Anzahl offener Reihen des Gegners zu Anzahl offnerer eigener Reihen. (offen im Sinne von kann noch zu einer 4er Reihe ausgebaut werden).
Hat der Computer z.B. dann in einer Stufe die Möglichkeit eine seiner 3er Reihen zu einem 4er zu machen, dann erhält er für diese Stufe / Schritt eine 1.
Kann der Gegner einen 4er machen, dann erhält er eine 0.
Ziel des Computers ist es dann seine Bewertungsfunktion zu maximieren, um letztendlich eine 1 zu erreichen ;)
 
Zurück
Oben