AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Vier Gewinnt (Delphi Clon) mit KI
Thema durchsuchen
Ansicht
Themen-Optionen

Vier Gewinnt (Delphi Clon) mit KI

Ein Thema von core · begonnen am 18. Dez 2004 · letzter Beitrag vom 1. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
core
Registriert seit: 26. Dez 2003
So, nach Luckie's Vier Gewinnt kommt jetzt meins

Also Vier Gewinnt mit einer kleinen ki!

Da es ein Projekt für die Schule ist, werde ich den Quellcode erst später veröffentlichen!

Testet es und schreibt, was ihr davon haltet!

http://mitglied.lycos.de/coilgun/core/vg.jpg

Download Ziel speichern unter !!!!!
 
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#2
  Alt 18. Dez 2004, 15:50
Es nervt, wenn man in einen Kreis klickt und dann das Fenster dahinter in den Vordergrund holt. Hat das irgendeinen besonderen Grund? Warum kann ich nicht auf dem ganzen Formular klicken, um einen Stein zu setzten, wie bei mir.

Mich würde mal die KI interessieren.
Michael
  Mit Zitat antworten Zitat
core
 
#3
  Alt 18. Dez 2004, 15:57
Zitat von Luckie:
Es nervt, wenn man in einen Kreis klickt und dann das Fenster dahinter in den Vordergrund holt. Hat das irgendeinen besonderen Grund? Warum kann ich nicht auf dem ganzen Formular klicken, um einen Stein zu setzten, wie bei mir.
jo ich wollte halt "richtige" Löcher machen
werde das noch ändern!

Das mit der KI! Wie gesagt ich warte noch bis ich mein Projekt vorgedragen habe, dann stelle ich den Quellcode online!
Aber hier die allgemeine Funktionsweise (Kommentar aus meinem Quellcode):


Delphi-Quellcode:
{
  ki-Part:
  -------
  Aufbau der ki:
  Die ki wird über die Procedur ki() aufgerufen.
  Zuerst wird das Spielfeld auf Gewinnmöglichkeiten des Spielers
  geprüft! Die ki legt im Hintergrund in jedes mögliche Feld einen
  Stein des Spielers und überprüft, ob dadurch ein Sieg entsteht.
  Wenn ja, nimmt die ki den Stein zurück und wirft jetzt einen richtigen
  an diese Position!
  Wenn nein, nimmt die ki den Stein zurück und führt die Überprüfung fort!
  Sollte für den Spieler kein Gewinn möglich sein wird das alles
  wiederholt, nur dass die ki jetzt selbst zu gewinnen versucht!
  Sollte auch für die ki keine Gewinnmöglichkeit bestehen, wird der
  Stein an eine zufällige Stelle gesetzt.
  }
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#4
  Alt 18. Dez 2004, 15:58
Zwei Dinge sind mir aufgefallen:

1) Der innere Bereich der leeren Kreise ist direkt nach Start des Programmes durchsichtig (Der Desktop ist dadurch sichtbar). Nach einem Redraw (Verschieben, klicken, mini-/maximieren etc.) ist aber alles okay. Solle also durch einen zusätzlichen Repaint lösbar sein.

2) Der PC-Gegner setzt nachdem ich schon gewonnen habe noch einen Stein. Das ist mir nicht recht . Zudem wird die Gewinnmeldung 2 mal ausgegeben.

Ansonsten gefällt mir das ganze sehr gut! Luckies Problem kann ich im Übrigen nicht nachvollziehen - ich kann auf eine beliebige Spalte klicken, egal wo, und es wird ein Stück an die richtige Stelle gesetzt.
\\edit: AH! Das hängt mit der Transparenz vor einem Redraw zusammen!

Der PC-Gegner lässt sich allerdings imho zu leicht besiegen

Gruss,
Fabian
Fabian K.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#5
  Alt 18. Dez 2004, 16:02
Zitat von core:

Delphi-Quellcode:
{
  ki-Part:
  -------
  Aufbau der ki:
  Die ki wird über die Procedur ki() aufgerufen.
  Zuerst wird das Spielfeld auf Gewinnmöglichkeiten des Spielers
  geprüft! Die ki legt im Hintergrund in jedes mögliche Feld einen
  Stein des Spielers und überprüft, ob dadurch ein Sieg entsteht.
  Wenn ja, nimmt die ki den Stein zurück und wirft jetzt einen richtigen
  an diese Position!
  Wenn nein, nimmt die ki den Stein zurück und führt die Überprüfung fort!
  Sollte für den Spieler kein Gewinn möglich sein wird das alles
  wiederholt, nur dass die ki jetzt selbst zu gewinnen versucht!
  Sollte auch für die ki keine Gewinnmöglichkeit bestehen, wird der
  Stein an eine zufällige Stelle gesetzt.
  }
Hmmmm. Zufällig ist imho nicht so günstig. 4Gewinnt wäre sicherlich ein klassische Kandidat für das Mini-Max-Prinzip! Damit sollte sich eine sehr schwer besiegbare KI bauen lassen. Jetzt hast du mich neugierig gemacht... *auchmalversuchenwill*
Fabian K.
  Mit Zitat antworten Zitat
core
 
#6
  Alt 18. Dez 2004, 16:02
So, hab das mit den Löchern jetzt geändert!

Neue Version unter dem gleichen Link oben.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor
 
#7
  Alt 18. Dez 2004, 16:02
der tripod-link zickt bei mir rum. nochnichtmal mit "ziel speichern unter" ist da was zu holen.
Michael N.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#8
  Alt 18. Dez 2004, 16:08
Bei mir scheint der Desktop immer durch. Und wenn ich dan in ein Loch klicke wird das darunterliegende Fenster in den Vordergrund geholt.

OK, ixt behoben, jetzt flackert es nur sehr unschön jedes mal beim Setzen der Steine.
Michael
  Mit Zitat antworten Zitat
bigg
 
#9
  Alt 18. Dez 2004, 16:13
Ich hab den Computer gleich beim ersten mal besiegt
Aber ansonsten ist das Spiel ganz gut gelungen.
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx
 
#10
  Alt 18. Dez 2004, 16:30
also ich hab den Computer auch gleich beim ersten Mal besiegt )

Kenn das von Luckie jetzt nicht.
Aber das von Max Kleiner ist in der höchsten Spielstufe echt hammerhart.

http://max.kleiner.com/secos.htm

http://max.kleiner.com/download/4gewinnt.zip

Das Spiel gewinnt man, wenn überhaupt, nur wenn das ganze Spielfeld schon fast voll ist in den letzten Zügen ...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz