Entwickler-Ecke

Open Source Projekte - [Delphi] 3-Gewinnt V1.1


glotzer - Mi 07.04.10 19:00
Titel: [Delphi] 3-Gewinnt V1.1
3-Gewinnt
Mensch vs. PC (thx Hidden für die hilfe mit der KI)
Mensch Spielt immer mit grün, pc mit rot.
wer anfangen darf wird zufällig bestimmt.
auf der rechten seite wird angezeigt wer am zug ist, wer gewonnen verloren hat und darunter nach welcher procedure die KI den Spielstein gesetzt hat:
-Random: zufällig
-Win: da dadurch gewonnen wird
-GegnerWin: da dadurch der sig des gegners verhindert wird

Verbesserungsideen, bugs immer gern.


To-Do
-KI strategie beibringen
-online Bestenliste(vieleicht)
-multiplayer über i-net oder netzwerk
-evt. bessere Grafik Engine

bekannte bugs
-wenn man nicht in das Viertel unten rechts (innerhalb) einer Zelle klick wird die falsche Zelle ausgewählt fixed



Change List

v 1.0
-nur player vs. pc
-3 proceduren KI

v 1.1
-player vs. player, player vs pc möglich
-bessere grafik und benutzeroberfläche
-rundenpunkte werden gezählt


danielf - Mi 07.04.10 19:12

Hi,

BUGGGGGGGGGGG :(

ich klicke in das mittlere Feld und es wird das Feld Mitte rechts selektiert :(

Gruß


glotzer - Mi 07.04.10 19:14

hmm wo hast den genau hingeklick? ich krieg das hier nämlich einfach nicht hin...


danielf - Mi 07.04.10 19:19

Es funktionieren, wenn ich nicht in das Viertel unten rechts (innerhalb) einer Zelle klick. Sprich es funktioniert nicht, wenn ich in das untere rechte Viertel einer Zelle klicke.


MDX - Mi 07.04.10 19:22

Funktioniert zwar, aber die KI ist schlecht (oder ich zu gut :zwinker: )


glotzer - Mi 07.04.10 19:24

naja, ich hat noch keine zeit sie besser zu machen... das wird das nächste: selbstlernende KI
zurzeit ist die eigentlich mehr zufall wie inteligent


MDX - Mi 07.04.10 20:21

mhhh..hab ich gemerkt :wink:


Hidden - Mi 07.04.10 21:05

Hi :)

Warum selbstlernend, das Spielziel ist ja relativ überschaubar. Problem: Auf Rechentiefe 9(die man mit gerade mal 9! = 362800 Rekursionen errreicht), ist ja schon klar, wer gewinnt. Man müsste der KI also nicht wie bei Spielen wie Schach beibringen, die Züge nach Gewinnaussicht zu bewerten(das wäre für jeden Zug entweder unentschieden oder verlieren), sondern nach Durchschaubarkeit.

Statistische KIs stellen sich natürlich immer auf einen Gegner ein. Ich würde auf jeden Fall mit etwas wie alpha-beta-Tiefensuche [http://de.wikipedia.org/wiki/Alpha-Beta-Suche] anfangen, das ist viel einfacher als nuronale Netze.
Auch möglich wäre natürlich ein Eröffnungsbuch wie beim Schach, in dem die Züge Wahrscheinlichkeiten nach bisheriger Gewinnrate erhalten.

lg,


glotzer - Do 08.04.10 14:50

hmm klingt intresant aber ich blick da nicht wirklich durch...
ich dachte eher an nuronale Netze, die kommen mir einfacher vorkommen xD
naja mal schauen


Fiete - Fr 23.04.10 19:04

Moin glotzer,
vielleicht hilft dies weiter: http://www.delphi-forum.de/viewtopic.php?t=77741&highlight=fiete

Gruß
Fiete


glotzer - Fr 23.04.10 19:45

ich schaus mir später mal an, danke für den tip :)

version 1.1 lad ich glaich rauf. eigentlich nur bessere grafik und benutzeroberfläche, und ein paar keleine ki verbesserungen aber noch nix großes


glotzer - Sa 24.04.10 11:12

version 1.1 fertig, hatte leider falsche exe hochgeladen... sollt jetzt gehen :p