## 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: Menzel, Frank IT-OO4
Datum: Mi, 07.10.2009 13:40:55
In-reply-to: <F57D9173-9834-48DD-9B86-5C7A114FEB20@xxxxxxxxxxxxxxx>
References: <000001ca4357$57297170$0200a8c0@mexpnew> <F57D9173-9834-48DD-9B86-5C7A114FEB20@xxxxxxxxxxxxxxx>

    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))
    #endif  // PC

    Eingezogen muss dazu noch werden:
    #include <avr/pgmspace.h>

    Also doch noch ein Code-Problem gewesen:-(

    Gruß, Frank

    -----Original Message-----
    From: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Timo Sandmann
    Sent: Friday, October 02, 2009 7:36 PM
    To: Entwicklung rund um den c't-bot
    Subject: Re: [ct-bot] Bot spielt Schach...

    Hi Frank,

    1. Der Schach-Parcours ist jetzt schon mal im SVN, falls jemand den
    Patch ausprobieren möchte.
    2. Der Autor des Schachcodes hat auch eine Version, die deutlich
    aussagekräftigere Variablennamen verwendet: http://home.hccnet.nl/h.g.muller/maximax.txt
      ich wäre dafür, dass wir diese Version im Verhalten benutzen. Ich
    habe aber leider überhaupt keine Infos auf der Webseite gefunden, wie
    man den Code verwenden darf.
    3. Wenn ich das Verhalten auf dem echten Bot ausführe, wird mein
    erster Zug (z.B. e2 nach e3) sofort abgewiesen, Debug-Ausgabe:
    [  683] DEBUG   vor GO erstmaliges INIT
    [  522] DEBUG   -NEWGAME-
    [  478] DEBUG   Neues Spiel
    [  530] DEBUG   GO STATE
    [  435] DEBUG   Zug wurde eingegeben und parsen
    [  453] DEBUG   Zug? war nicht gueltig
    [  530] DEBUG   GO STATE
    [  435] DEBUG   Zug wurde eingegeben und parsen
    [  453] DEBUG   Zug? war nicht gueltig

    Ich habe es auch schon geschafft, dass der Bot von a8 nach a8 zieht
    oder sich komplett aufhängt. Mache ich da irgendetwas bei der Eingabe
    falsch, oder ist das ein Problem im Code?

    Gruß,
    Timo

    Am 02.10.2009 um 13:56 schrieb Frank Menzel:
    > Hallo,
    > der beigefügte Parcour stellt das Schachbrett mit seinen Quadraten
    > (8x8)
    > dar. Ein  normales Schachbrett nummeriert die senkrechte von unten
    > links
    > beginnend mit 1-8 durch und die Waagerechte von unten links von A-H.
    > Ist
    > ja leider so nicht im sim darstellbar, muss man sich denken bzw.
    > parallel dazu ein echtes Brett aufbauen und die Spielzüge mitmachen.
    > Man
    > selbst ist nach GO der Anfangsspieler und tippelt seinen Zug ein, nach
    > GO zieht der bot und fährt zur Figur-Position (z.B. Bauer von A2 nach
    > A4) A2 und anschließend nach A4. Nun ist man selbst wieder an der
    > Reihe...
    > Das transportieren einer echten Figur und vorheriges Einfangen steht
    > als
    > Zukunftsvision an... Soweit erst mal das Allereinfachste zum Micro-Max
    > Chess...
    >
    > Gruß, Frank
    >
    > -----Ursprüngliche Nachricht-----
    > Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
    > [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von
    > Benjamin Benz
    > Gesendet: Freitag, 2. Oktober 2009 09:23
    > An: Entwicklung rund um den c't-bot
    > Betreff: Re: [ct-bot] Bot spielt Schach...
    >
    > -----BEGIN PGP SIGNED MESSAGE-----
    > Hash: SHA1
    >
    > Hi,
    >
    > das klingt ziemlich cool. Was ich aber noch nicht ganz verstanden
    > habe:
    > Zu einem Schahspiel gehören doch ne ganze Menge Figuren. Wo stehen die
    > denn, wenn der Bot auf dem Brett herumfährt? Transportiert er sie in
    > seinem Transportfach, oder verstehe ich da was falsch?
    >
    > Ciao Benjamin
    >
    > Frank Menzel schrieb:
    >> Hallo,
    >> anbei mal ein Patch, um den bot Schach spielen zu lassen.
    >> Weiterhin der Chessparcour.
    >> Zur Beschreibung mal aus der Quelle rauskopiert:
    >>
    >> *           Der Bot spielt Schach! Das Schachverhalten ermoeglicht
    >> die
    >> manuelle Eingabe
    >> *          eines Schachzuges des Spielers 1 (weiss) ueber das
    >> Screeninterface. Nach Betaetigen
    >> *          der GO-Taste zieht der Bot-Spieler und der Bot fährt auf
    > dem
    >> Schachbrett diesen
    >> *          Zug nach. Nun ist der menschliche Spieler wieder am Zug
    > via
    >> Screeneingabe bzw. drückt sofort GO,
    >> *          um fuer sich den Zug machen zu lassen. Am besten ist es
    >> (weil ja die Schachfiguren nicht visualisiert werden),
    >> *          sich parallel dazu ein echtes Schachbrett aufzubauen und
    >> manuell die Zuege nachzuvollziehen. In meinem ersten Test
    >> *          musste ich eine Niederlage gegen den Bot einstecken:-)
    >> *          Fuer das Verhalten ist das Chess-Layout zu laden, damit
    >> wenigstens die Schachfelder visualisiert werden und damit die
    >> *          Botfahrten der gegnerischen Schachzuege. Die gruenen
    > Felder
    >> stehen hierbei stellvertretend fuer die weissen Felder.
    >> *          Inspiriert zu diesem Verhalten wurde ich durch folgende
    >> Seiten:
    >> *          http://bralug.de/wiki/BLIT2008-Board_spielt_Schach
    >> *          Detailliertes zu dem Micro-Max Schach ist hier zu finden:
    >> *          http://home.hccnet.nl/h.g.muller/max-src2.html
    >> *
    >> *          Brainstorming fuer moegliche Erweiterungen:
    >> *          Der Bot koennte gegen den anderen spielen ohne Mensch,
    > d.h.
    >> Bot 1 ist Spieler 1 und der andere der Gegenspieler.
    >> *          Jeder bot macht jeweils einen Zug und fährt diesen ab.
    >> Danach ist der andere dran. Dies muesste/koennte dann ueber die
    >> *          bot_2_bot-Kommunikation laufen. Noch schoener waere es
    >> natuerlich, echte Spielfiguren auf dem Java3D-Schachbrett zu haben
    >> *          (oder zuerst auch einfache Objekte), wobei der bot sich
    >> jeweils die Figur greift (bot_catch_pillar) und an der Zielposition
    >> *          ablaedt (bot_unload_pillar)...
    >> *
    >>
    >> Da es mir endlich geglückt war, Eclipse-Galileo mit allem notwendigen
    >> Zeugs zu installieren, konnte ich endlich den Patch auf die aktuelle
    >> Quelle fertig stellen. So wünsche ich viel Spaß:-)
    >>
    >> Gruß, Frank

    _______________________________________________
    ct-bot-entwickler Mailingliste
    ct-bot-entwickler@xxxxxxxxxxxxxxxxx
    http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler

    Confidentiality note:
    The information in this email and any attachment may contain confidential and proprietary information of Heidelberger Druckmaschinen AG and/or its affiliates and may be privileged or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any review, reliance or distribution by others or forwarding without express permission is strictly prohibited and may cause liability. In case you have received this message due to an error in transmission, we kindly ask you to notify the sender immediately and to delete this email and any attachment from your system.

- Antworten:
  - Re: [ct-bot] Bot spielt Schach...
    - From: Timo Sandmann

- Referenzen:
  - AW: [ct-bot] Bot spielt Schach...
    - From: Frank Menzel
  - Re: [ct-bot] Bot spielt Schach...
    - From: Timo Sandmann

- Voriger (Datum): Re: [ct-bot] Großputz auf dem C't-Server?, Benjamin Benz
- Nächster (Datum): Re: [ct-bot] Bot spielt Schach..., Timo Sandmann
- Voriger (Thread): Re: [ct-bot] Bot spielt Schach..., Timo Sandmann
- Nächster (Thread): Re: [ct-bot] Bot spielt Schach..., Timo Sandmann
- Indizes:
  - Datum
  - Thread