Hallo liebe Community
Ich sitze gerade an einem Schachspiel, welches man über TCP/IP spielen kann. Die ganzen Bewegungen usw. funktioniert alles, jedoch fehlt dem Spiel noch die Gabe, ein Schach Matt zu erkennen. Kurz überdacht fand ich diese Kalkulation nicht besonders, jedoch nun ein bisschen reingesteigert ist es eine schwere Sache.
Nach reifer Überlegung habe ich nun folgendes vor:
Ich kopiere bei jedem Schach setzten das momentane Spielbrett und berechne jeden möglichen Zug, der der Spieler ausführen kann und prüfe bei jedem Zug, ob er nicht mehr Schach steht. Wenn es nun kein Zug mehr gibt, ist der Spieler Schachmatt.
Folgende Funktionen würde ich einsetzten:
scr_vi_brett_set(string)
scr_vi_brett_move(x,y,x2,y2)
scr_vi_brett_checkMatt(spieler)
scr_vi_brett_getObj(x,y)
Nun wollt ich fragen, ob euch evt. eine bessere Variante bekannt ist, dies zu berechnen (Bei meiner wird einfach alles mögliche durchgespielt xD) und oder evt. eine DLL oder existierende Funktionen bekannt sind für ein Schachspiel.
Vielen Dank im voraus und liebe Grüsse
Sandro
Ich sitze gerade an einem Schachspiel, welches man über TCP/IP spielen kann. Die ganzen Bewegungen usw. funktioniert alles, jedoch fehlt dem Spiel noch die Gabe, ein Schach Matt zu erkennen. Kurz überdacht fand ich diese Kalkulation nicht besonders, jedoch nun ein bisschen reingesteigert ist es eine schwere Sache.
Nach reifer Überlegung habe ich nun folgendes vor:
Ich kopiere bei jedem Schach setzten das momentane Spielbrett und berechne jeden möglichen Zug, der der Spieler ausführen kann und prüfe bei jedem Zug, ob er nicht mehr Schach steht. Wenn es nun kein Zug mehr gibt, ist der Spieler Schachmatt.
Folgende Funktionen würde ich einsetzten:
scr_vi_brett_set(string)
scr_vi_brett_move(x,y,x2,y2)
scr_vi_brett_checkMatt(spieler)
scr_vi_brett_getObj(x,y)
Nun wollt ich fragen, ob euch evt. eine bessere Variante bekannt ist, dies zu berechnen (Bei meiner wird einfach alles mögliche durchgespielt xD) und oder evt. eine DLL oder existierende Funktionen bekannt sind für ein Schachspiel.
Vielen Dank im voraus und liebe Grüsse
Sandro