Simples Schachprogramm

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
Helle
Beiträge: 566
Registriert: 11.11.2004 16:13
Wohnort: Magdeburg

Beitrag von Helle »

Das mit den URL-Tags werde ich irgendwann schon hinkriegen, nicht aber das Erstellen von (Schach-)Grafiken. Hätte ich das selbst gemacht, würde man es für ein Halma-Spiel halten :D . Bei der Suche nach Figuren (Hauptbedingungen: Freeware und kleinstmögliche Grösse) habe ich auch einen Simpsons-Figurensatz gefunden, den ich mal anpassen und dann einbinden werde.
Zum Zugverhalten: Wenn Alpha-Beta einen Zug nach vorn gespült hat, werden die nachfolgenden Züge (also alle anderen) nur noch daraufhin gecheckt, ob einer besser ist als der erste Zug (dieser wird dann der erste). Wird festgestellt, das der untersuchte Zug nicht besser ist, wird die Suche sofort abgebrochen (Minimax: Eine Widerlegung reicht) . Für diese Züge existiert daher kein genauer Bewertungs-Wert. Deshalb ist es nicht unproblematisch, für ein abwechslungsreiches Spiel einfach einen anderen Zug als den ersten zu wählen. Es könnte ein Verlustzug sein, selbst wenn er an 2.Stelle steht. Unter gleichen Abbruchbedingen (exakt gleiche Rechenzeit oder besser gleiche Rechentiefe) ist das Ergebnis immer exakt reproduzierbar. Für die Abwechslung sorgt normalerweise eine Eröffnungs-Bibliothek (fehlt hier natürlich). Wer Abwechslung wünscht kann z.B. die Bewertungswerte variieren (kleine Zufallswerte addieren oder subtrahieren, 2.Figuren-Tabelle usw.).

Gruß
Helle
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Beim ersten Testen muss ich sagen, gut gemacht.

Kannst dein Programm mit Liniengezeichneten Figuren ja noch kleiner machen. Und was richtig knorke wäre, sind Zusatzfunktionen wie

- Farbwahl
- Zug Rückgängig
- Zug-Folge auflisten in einem Editorgadegt neben dem Brett
- Startaufstellung definieren, Matt in einem Zug-Rätsel, etc.

- Hilfe-Funktion wie: welche Figuren sind bedroht, welche können ziehen
- Schwierigkeitsgrad einstellbar
- Schnittstelle für andere Engines / Internet-Spiel

Biste doch noch vor mir fertig geworden :mrgreen: :allright:

Wenn man eine Schnittstelle hat, könnten wir alle unsere Schachengines gegeneinander testen. Sonst muss man das immer über Visuelle Überprüfung abtasten und mit Maussteuerung eingeben. Quasi einen Bot programmieren, der deine Engine ausschaltet ;-)

Interessant wären auch Statistiken.

Und krass finde ich, dass der Rechner fast komplett ausgelastet ist, wenn deine KI etwas berechnet. :roll:
Kinder an die Macht http://scratch.mit.edu/
Antworten