Schach-Programm (Anfangs-tipps)
-
µ schrieb:
Danke (Danke natürlich auch an SeppJ, der aber wieder etwas böse auf mich ist (weil ich doof bin?))
Edit: Danke an nachtfeuer
-
Ich werde zuerst das Klassen-interface fertigmachen (dazu gehört einfach die Hierarchie der Figuren und ihre can_move/move Funktionen). Danach werde ich mich definitiv mit den Algorithmen auseinandersetzen. Vielen Dank an alle, werde hier noch Posten, wie es bei mir geht (vielleicht kann SeppJ das ja ins Projekte-Forum verschieben?).
-
SeppJ schrieb:
Du wirst feststellen, dass das bei drei Zügen etwas in Richtung 100 Milliarden Kombinationen ist.
Ich wette dagegen
Kubikwurzel aus 100 Milliarden ist ca. viereinhalb Tausend. Bei einem durchschnittlichen Schachspiel (zwischendrin) summiert sich die Anzahl aller möglicher Züge durchschnittlich auf 60 -70 (was natürlich stark abweichen kann, aber nicht auf 1000 kommt). z.B. 100³ ist eine Million, 60³ ist 216000. Tja, du hast auch so Recht.Edit: Bedenke! Der Computer hat relativ viel Zeit (ich habe nichts gegen ca. 10 Sekunden, 15 Sekunden ist ok).
-
http://de.wikipedia.org/wiki/Schach#Grundbegriffe_und_Spielziel
In der Schachnotation wird immer eine weiße und eine anschließende schwarze Figurenbewegung zusammen nummeriert und als Zug bezeichnet.
Mit deinen 3 Zügen im voraus bist du dann bei 60^6 = 50 Milliarden.
Die Abschätzung passt also schon
-
Hacker schrieb:
Ich spiele ziemlich gut Schach.
Wie gut? Wie hoch ist deine ELO bzw. DWZ?
-
Mechanics schrieb:
Hacker schrieb:
Ich spiele ziemlich gut Schach.
Wie gut? Wie hoch ist deine ELO bzw. DWZ?
Was erwartest Du denn bei jemandem der geschützte und nicht geschützte Figuren frisst?
-
Mechanics schrieb:
Hacker schrieb:
Ich spiele ziemlich gut Schach.
Wie gut? Wie hoch ist deine ELO bzw. DWZ?
Ich spiele nicht im Verein.
Edit: Nun, im Vergleich zu den Top 200. Deutschen spiele ich natürlich nicht gut Schach. Aber gut genug, um (seit ca. 1 Jahr durchgehend) bester in der Schach-AG meiner Schule zu sein (was was heißt, denn dann bin ich bester der Schule).
-
Jester schrieb:
Mechanics schrieb:
Hacker schrieb:
Ich spiele ziemlich gut Schach.
Wie gut? Wie hoch ist deine ELO bzw. DWZ?
Was erwartest Du denn bei jemandem der geschützte und nicht geschützte Figuren frisst?
Tu ich nicht (?)
-
Mario Sandler schrieb:
http://de.wikipedia.org/wiki/Schach#Grundbegriffe_und_Spielziel
In der Schachnotation wird immer eine weiße und eine anschließende schwarze Figurenbewegung zusammen nummeriert und als Zug bezeichnet.
Mit deinen 3 Zügen im voraus bist du dann bei 60^6 = 50 Milliarden.
Die Abschätzung passt also schonBin schon etwas wirr im Kopf. Danke.
-
Hacker schrieb:
Mechanics schrieb:
Hacker schrieb:
Ich spiele ziemlich gut Schach.
Wie gut? Wie hoch ist deine ELO bzw. DWZ?
Ich spiele nicht im Verein.
Edit: Nun, im Vergleich zu den Top 200. Deutschen spiele ich natürlich nicht gut Schach. Aber gut genug, um (seit ca. 1 Jahr durchgehend) bester in der Schach-AG meiner Schule zu sein (was was heißt, denn dann bin ich bester der Schule).
Das kann ich schlecht einschätzen. Kann ja durchaus sein, dass alle anderen total schlecht spielen. Ich bin mir ziemlich sicher, dass ich in der Schule damals auch alle locker geschlagen hätte, bis auf einen. Hast du mal auf größeren Portalen im Internet gespielt, wo man die Spielstärke halbwegs einschätzen kann?
-
Mechanics schrieb:
Hacker schrieb:
Mechanics schrieb:
Hacker schrieb:
Ich spiele ziemlich gut Schach.
Wie gut? Wie hoch ist deine ELO bzw. DWZ?
Ich spiele nicht im Verein.
Edit: Nun, im Vergleich zu den Top 200. Deutschen spiele ich natürlich nicht gut Schach. Aber gut genug, um (seit ca. 1 Jahr durchgehend) bester in der Schach-AG meiner Schule zu sein (was was heißt, denn dann bin ich bester der Schule).
Das kann ich schlecht einschätzen. Kann ja durchaus sein, dass alle anderen total schlecht spielen. Ich bin mir ziemlich sicher, dass ich in der Schule damals auch alle locker geschlagen hätte, bis auf einen. Hast du mal auf größeren Portalen im Internet gespielt, wo man die Spielstärke halbwegs einschätzen kann?
Nope. Empfehl mal eins. Oder lass mal zusammen spielen.
-
rofl, bester in der Schule.
Kannst du hier den Hard mode schlagen? http://www.chess.com/play/computer.html
-
Hacker schrieb:
Nope. Empfehl mal eins. Oder lass mal zusammen spielen.
Naja, der größte kostenlose ist wohl FICS, oder zumindest kenne ich keine größeren.
Nicht dass du jetzt meinst, ich würde gut spielen... Ich finde eher, dass ich total schlecht spiele. Keine Chance gegen Vereinsspieler.
-
cooky451 schrieb:
rofl, bester in der Schule.
Kannst du hier den Hard mode schlagen? http://www.chess.com/play/computer.htmlJa, ich dich auch rofl. Und: Ich bin weit gekommen... nur leider hat er mir eine völlig unerwartete Gabel gestellt.
-
Wenn hier schon ein wenig abgedriftet wird, dann möchte ich noch die Seite chesstempo.com in den Raum werfen, bei der man sehr gut seine taktischen Fähigkeiten trainieren kann und je nach Spielstärke entsprechend schwere/leichte AUfgaben gestellt bekommt.
-
Ganz nette Seite, ja.
-
Ach danke and _cu für die Seite! Echt ziemlich gut.
-
SeppJ schrieb:
Viel zu konkrete Planung bei viel zu vagem Konzept. Definier doch erst einmal genau, was deine Klassen sind und was sie können, bevor du dir Gedanken um die technische Umsetzung vonwegen Kindklassenzeigern, Nullpointern & Co. machst.
Kacke. Wer nicht hören will muss fühlen. Hab grad ~800 Zeilen Code gelöscht, war alles Crap-Code... Bin gerade bei Heft und Stift.
-
Hacker schrieb:
SeppJ schrieb:
Viel zu konkrete Planung bei viel zu vagem Konzept. Definier doch erst einmal genau, was deine Klassen sind und was sie können, bevor du dir Gedanken um die technische Umsetzung vonwegen Kindklassenzeigern, Nullpointern & Co. machst.
Kacke. Wer nicht hören will muss fühlen. Hab grad ~800 Zeilen Code gelöscht, war alles Crap-Code... Bin gerade bei Heft und Stift.
durch müllcode lernt man am meisten. die fehler wären dir doch auf stift und papier garnicht erst aufgefallen.
-
Tipp: Das Schachbrett ist nicht die zentrale Entität, um die sich die OO-Modellierung drehen sollte. Imho kann die Klasse des Bretts sehr klein und dumm sein und evtl sogar nur ein Array der Figuren wegkapseln sowie kleine Hilfsfunktionen anbieten (z.B: bool Inside(x,y)).
Andere Dinge sind wichtiger und stellen die zentralen Klassen dar: Figuren, Züge und dazu gekoppelt eine History (für das Durchprobieren der KI).