c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] Bot spielt Schach...

Absender: Timo Sandmann
Datum: Mo, 12.10.2009 12:24:08
In-reply-to: <096FD558C4D20046A1BABE72DFF0C6C33A5FBCEEFE@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <000001ca4357$57297170$0200a8c0@mexpnew> <F57D9173-9834-48DD-9B86-5C7A114FEB20@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33A5FBCEE11@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <11EBCBFB-9E12-4D2B-974D-B3800C3346DA@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33A5FBCEEFE@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Frank,

Am 07.10.2009 um 15:03 schrieb Menzel, Frank IT-OO4:
Hallo Timo,
wenn Du die angesprochene Sache mal ändern könntest und auf dem echten testen? Da wäre ich schon mal recht glücklich, wenn es funktioniert:-)

mit der Änderung funktioniert es jetzt auch auf dem echten Bot, ich habe zwar kein komplettes Spiel durchgeführt, aber ich denke, wenn die ersten zehn Züge funktionieren, ist das Problem beseitigt.

Was mir allerdings gerade aufgefallen ist: Wenn der Bot eine kurze Rochade zieht (ist bei einer Langen vermutlich genauso), wird nur der erste Zug angezeigt und gefahren (e8 nach g8), der anschließende Zug des Turms fehlt hingegen.

Gruß,
Timo

Hallo Timo,
zu dem Fehler bei 3. hätte ich wohl doch die Lösung anzubieten:

Die Arrays w und o sind als PROGMEM deklariert
, habe den Zugriff darauf später in den defines noch auskommentiert.
Bei MCU muss der Zugriff über pgm_read_byte und ...word erfolgen.
Dies muss dann also so aussehen, sonst funktioniert es auf dem
echten Bot nicht (in dem Patch ist auch noch das Underline hinter
pgm_read_byte zu viel):
#ifdef PC
      #define o(ndx)  (signed char)o[ndx]
      #define w(ndx)  (signed char)w[ndx]
#else
      #define o(ndx)  (signed char)pgm_read_byte(o+(ndx))
      #define w(ndx)  (signed char)pgm_read_word(w+(ndx))

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.12 (Darwin)

iEYEARECAAYFAkrTA8cACgkQDH/BX4067fLoFwCeNX74MNolxb8iWLz9IzyxwGmt
780AoJyfJ4aIsrPPy0WkXpBBqvK7LRH7
=JuGt
-----END PGP SIGNATURE-----