Forum Programmation.python Un programme qui utilise une webcam pour jouer au go sur internet

Posté par  .
Étiquettes : aucune
0
9
mai
2006
Bonjour,

Je connais les bases du langage python, et je souhaiteraient créer un programme multi-os qui puisse servie aux joueurs de go. Pour ceux qui ne connaissent pas encore ce fabuleux jeu: http://fr.wikipedia.org/wiki/Jeu_de_go
et http://kgs.kiseido.com pour jouer.

En fait il existe des serveurs pour jouer sur internet: on clique sur l'endroit sur la grille ou l'on souhaite jouer son coup dans le logiciel client.

Le concept ce serait de permettre de jouer sur un vrai jeu en bois, filmé par la caméra du haut, qui après chaque pion (=pierre) joué reconnait la position du coup sur la grille et joue en cliquant dans le logiciel sur internet.

En fait pour cela il faudrait que le programme puisse piloter le curseur de la souris, est-ce possible qu'un programme python fasse cela?

Il faut aussi que la webcam détecte les mouvements et fasse la différence entre l'image avant et après le mouvement pour savoir quel coup a été joué. Et le jouer dans le programme en prenant le contrôle de la souris.

Lorsque l'adversaire joue a son tour le coup apparaît sur l'écran, je le joue sur le plateau en bois et la souris clique sur le coup de l'adversaire, mais ce n'est pas grave car comme il a joué la, le clique n'aura aucun effet.

Bref, je n'ai pas de connaissance sur l'utilisation des webcams (existe-il des librairies python?)En fait il faudrait que le programme donne une coordonnée sur la grille de 19X19 au pion qui vient d'être joué.

Autre question: existe-il des librairies qui permettent de manipuler le curseur de la souris?

Je suis sur qu'un tel projet enthousiamerait une foule d'amateur de go qui ne rêvent que de pouvoir jouer contre des adversaires du monde entier sur leur vrai jeu de go ^^

Merci pour vos idée/recommendations.
Hugo
  • # Go

    Posté par  . Évalué à 2.

    Bon python c'est franchement pas ma spécialité (mais c'est un tord de ma part)
    En ce qui concerne ce que tu veux faire amha :
    - Pour la caméra ce n'est pas trop difficile de repérer les coups qui ont étés joués. Quelques coups de tournevis sans doute pour ajuster seront quand même nécessaires (éviter les pbms quand la main est sur le goban, décider de la fréquence de capture vidéo). A ce propos les captures sont facile a faire en utilisant /dev/video ou vidcat (en python comme je l'ai dit... j'sais po... mais google sait sans doute).
    - Pour jouer le coup, controller la souris c faisable, mais ca risque de te conduire vers une solution assez peu pratique dépendant de ta résolution et autres horreur. Selon moi, il vaudrait mieux directement forger et envoyer les ordres de jeu (réécrire un client pour le jeu, a voir avec l'auteur du jeu pour avoir les spécifications des communications)
    • [^] # Re: Go

      Posté par  . Évalué à 1.

      En fait l'auteur de mon serveur de jeu favori (KGS) ne veut pas ouvrir le protocol, selon lui c'est parcequ'il souhaite encore le faire évoluer (il faut reconnaitre que le serveur et les logiciels client évoluent). Il existe tout de même un client libre: kgsueme mais je ne sait pas s'il marche encore.

      Sinon pour la caméra j'ai trouver http://antonym.org/libfg qui est écrit en C mais que l'on peut apparament utiliser avec python, je vais me pencher la dessus...
  • # Hum...

    Posté par  (site web personnel) . Évalué à 3.

    Je suis assez perplexe sur l'utilité d'un tel programme...
    Imagine que tu dois jouer le coup de l'adversaire et que tu te trompes d'intersection, ton coup est joué et tu l'as dans l'os...

    Regarde la distribution hikarunix (oui, on sent qu'ils ont lu hikaru no go :-D ) http://www.hikarunix.org , il y aura peut être quelque chose qui y resemble, sinon c'est que ça n'existe pas à mon avis...

    Ah oui, pour ce qui est de simuler des clicks dans les applications, dogtail, le framework de test d'interfaces graphiques fait en python le fait, donc au pire une petite recherche dans le source te donnera de bonnes bases...

    Bonne chance !
    • [^] # Re: Hum...

      Posté par  . Évalué à 1.

      Pour le risque de se tromper d'intersection, je ne pense pas que ce soit un gros problem, car avec un peu d'habitude on ne doit plus trop se tromper. Sinon j'ai pensé à un autre problem: lorsqu'on capture un des pierres énnemies ou que l'on se fait capturer des pierres ca peut aussi foutre le boxon :( il faudrait que le logiciel detecte la pierre ajoutée et non pas celle(s) qui ont été enlevées (c'est à dire ne tienne pas compte de l'apparition du bois la ou il y avait des pierres blanches ou noir)
      Il y a plusieures possiblités: découper le goban en 19*19=361 zones que l'on analyse indépendament avant et après le coup joué ou faire la différence entre toute l'image et localiser les changements intéressants, c'est à dire l'ajout d'une pierre (plus simple à mon avis).

      Sinon je vais me renseigner sur dogtail.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.