ich denke schon längere Zeit über eine neue Schachengine nach.
Ein paar Ideen habe ich schon zusammengetragen. Ich würde sie
gerne mal vorstellen:
Jedes Schachfeld besteht nur aus einer Nummer.
Diese Nummer setzt sich wie folgt zusammen:
Beispiel: Schwarzer Turm auf a1
X Koordinate 1 (1000)
Y Koordinate 1 (0100)
Ein Turm 8 (0080) // Wobei die 8 jetzt mal einfach mal
Schwarz 2 (0002) // als Beispiel genommen wurde.
// Jede Figur hat also einen Wert.
Der Feldwert beträgt demnach: 1182.
Unbesetzt wäre er 1100.
Bewegen kann sich der Turm so über die x und y Werte.
Also:
Code: Alles auswählen
if(x < 8000) { // 8000+ wäre über den Rand hinaus!
x+1000;
}
if(x > 1000) {
x-1000;
}
if(y < 800) {
y+100;
}
if(y > 100) {
y-100;
}
Figur der eigenen Farbe besetzt ist. Das kann man
z. B. über eine Modulooperation herrausfinden:
Code: Alles auswählen
if ( new_all % 2 == 0) {
/*schwarz */
} else {
/*weiß */
}
natürlich wieder zu einem freien Feld erklärt werden, welches
eine Methode erledigen kann.
Vielleicht nicht die schnellste, tollste und coolste Methode
aber ich wollte es trotzdem mal probieren.
Was haltet ihr davon, würde vielleicht sogar noch jemand mitmachen?
(Das ganze soll in Java programmiert werden - wenn mir aber
jemand genug Argumente für C oder C++ in Bezug auf eine Schachengine
bringt überlege ich es mir nochmal mit Java.)
PS: Falls es mal fertig werden sollte xD veröffentliche ich
es natürlich frei verfügbar unter der GNU GPL,