GnuChess über pipes ansteuern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • GnuChess über pipes ansteuern

    Ich habe vor, ein abgestorbenes projekt auf Blendpolis wieder auf die beine zu kriegen, dass andere Lust haben es zu verbessern, siehe hier.: blendpolis.de/viewtopic.php?f=15&t=4381&start=80
    Habe mir jetzt ein paar Stunden Python Regeln, Syntax, usw. reingezogen.
    Also mir stellt sich hier die Frage:
    Wie kann man diese so genannten Pipes ansteuern, bzw. mit welchen Befehl?
    Der Rest sollte dann nicht mehr viel Arbeit sein, ich möchte es ja mittels Python Script ansteuern und GnuChess übernimmt dann das Rechnen.
    Irgendwelche Ideen, oder hat das vielleicht sogar schon mal jemand hier gemacht?
    edit: Hat keiner eine Idee?
    Du bist Terrorist, warum? Siehe hier

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von pokertom ()

  • Echt? So einfach?
    Ja, ich will sozusagen ihm einen Zug sagen, und den nächsten Zug provozieren...
    Kannst du mir vielleicht einen Link geben, wo man sieht, wie man die Schnittstellen ansteuert?
    Ich habe nach 2 Tagen Suche nichts (wirklich) gutes gefunden.
    Meine Idee war und ist mit Python ein Blender 3D Schach zu basteln, ohne eigene KI, dafür würde sich ja GNUchess anbieten, als BitBoard basierte KI, oder?
    Die Figuren sind schon fertig, und eine der besten KIs wäre drin, wäre optimal dafür...
    Ich müsste halt nur noch die Naht zwischen Blender und GNUChess mit Python zusammennähen.
    Siehe im Thema des Links, das Projekt ist von 2005, 2007 hat sich wieder etwas getan, und ich versuche es halt wieder hochzukriegen, verstehst du?
    Du bist Terrorist, warum? Siehe hier
  • Ich glaube, das Hilft mir weiter, danke! :D
    edit: doch nicht, gibts nicht was einfacheres, nur mit den Grundfunktionen?
    : Ziehen, schlagen, matt, umwandlung, Zugkontolle (eventuell, wenn nicht zu schwer)?
    Rochade (Vielleicht, eher nicht) und so'n kram wie En pasant und die 50 Züge Regel einzubauen, da blick ich nicht durch...
    Wenn ich die Grundfunktionen übernommen habe, wird es bestimmt noch mal jemand verbessern wollen, der es besser kann,
    dann kann der das auch tun...
    Wie gesagt, Python lerne ich noch nicht lange genug.
    Vielleicht gibt es eine Möglichkeit, die 3D Objekte in der .Blend anzusteuern, habe da aber noch weniger (keine) Ahnung, vorteil ist ich kann direkt C/C++ nutzen, weiß aber nicht, ob das wieder so eine wahnsinnige Idee von mir ist, bitte auf Rückmeldungen.
    mfg Pokertom

    edit2: Ich rede vielleicht einen Stuss, ich brauche doch nur die Zuginitialisierung basteln, damit der zieht.
    Stimmt das?
    Wie gesagt, das ist mir ein völlig neues Thema...

    edit3: Ich meine Daten von anderen Programmen auszulesen.
    Du bist Terrorist, warum? Siehe hier

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von pokertom ()

  • Ich weiß nicht, wo ich anfangen soll, für einen Grundaufbau (Schema), wäre ich sehr dankbar.
    Soll ja in ein 3D Schach eingebunden werden, habe noch nie in 3D programmiert...
    (Die Befehle sind weniger das Problem, als der Aufbau.)
    Ob das hier was bringt?
    Habe es auf Wikipedia gefunden:
    de.wikipedia.org/wiki/Schachprogramm#Aufbau
    Die Kodierungen:

    Figur Weiß Schwarz
    leeres Feld 0 0
    Bauer 1 2
    Turm 11 21
    Springer 12 22
    Läufer 13 23
    Dame 14 24
    König 10 20
    ungültiges Feld -1 -1

    Sry für den Doppelpost, der vorige wurde langsam sehr Unübersichtlich...
    Du bist Terrorist, warum? Siehe hier
  • Quellcode

    1. import subprocess
    2. gnuchess = subprocess.Popen('gnuchess -x', shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
    3. # Weißen Bauern auf c4 setzen
    4. gnuchess.stdin.write('c4\n')
    5. # Den Zug von Schwarz ausgeben
    6. while True:
    7. line = gnuchess.stdout.readline()
    8. if line.startswith('My move is'):
    9. print line
    10. break
    11. # GNU Chess beenden
    12. gnuchess.kill()
    Alles anzeigen


    So rudimentär genug? Zur Behandlung der Ausgabe von GNU Chess ist mir gerade nichts besseres eingefallen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Florian ()