Hallöle TOM
http://www.FrankNStein.de/Smiley-Wolke.gif,
Zitat von
TOM:
Ein Bauer ist nicht bewwegt, wenn er auf dem Ausgangsfeld steht. Extra speichern muß man das nicht
das ist einfach nur der wegen Richtigkeit so mit in die Definition mit aufgenommen wurden.
In meiner privaten Felddefinition gibt es auf den Ausgangsfeldern die entsprechenden Definition für "Bauer bewegt" nicht und auf den restlichen Feldern dafür eben nicht die für "Bauer nicht bewegt".
Außerdem hat das noch den Efekt, dass ich nicht mehr abfragen muß wo z.B. ein Bauer steht, da es ja schon aus der Definition heraus vorgeht. (wieder ein paar Befehle eingespart)
Da ich noch eine Speicheroptimierung gemacht hab, würde sich das dann sowieso wieder aufheben.
Normaler Weise werden ja 64 Felder ( 8 * 8 ) erzeugt.
Verursacht durch das Array[8, 8] welches meistens nicht mal als packed Array definiert ist.
Ein Array belegt gleich mal ~260 Bytes, da die Bytes an den Integergrenzen zum schlelleren Zugriff abgelegt sind und daher für ein Byte gleich mal 4 Bytes reserviert werden. (4 Bytes für Zeiger + 64 * 4 Bytes für die Felder)
Selbst ein packed Array belegt noch ~68 Bytes, da die Bytes hier direkt aneinander gereiht abgelegt werden und daher für ein Byte zum Glück nur 1 Bytes reserviert wird. (4 Bytes für Zeiger + 64 Bytes für die Felder)
Durch eine eigene Komprimierung komme ich aber auf 29 Byte und 2 Bit (also ~30 Byte incl. 6 Bit für sonstige Daten)
[ADD]
PS: Dann hab ich ja gleich Einen zum anlernen und testen meiner KI gefunden, wenn sie mal fertig ist.
http://www.FrankNStein.de/Smiley-Kuss.gif * *
http://www.FrankNStein.de/Smiley-Spinne.gif * * *
http://www.FrankNStein.de/Smiley-Winken.gif