IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Elaboration d'un "bot" ou "macro"


Sujet :

Langages de programmation

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Elaboration d'un "bot" ou "macro"
    Bonjour,

    Je suis étudiant dans une école d'ingénieur généraliste. Mes bases en informatique sont vraiment des bases!
    Mais dans le cadre d'un projet je dois élaborer un "bot".
    Tout d'abord il faudra piocher dans une base de données SQL des informations, pour qu'ensuite ce bot inscrive ces informations automatiquement dans un programme freeware.

    Plus précisément il devra piocher des informations dans une BDD SQL qui enregistre des informations sur une partie de poker tour par tour en temps réel et les écrive dans un logiciel qui s'appelle "Equilab" un logiciel d'aide à la décision au poker.

    Voici un screen du logiciel
    Nom : pokerequilab image.jpg
Affichages : 1188
Taille : 47,1 Ko

    Il faut dont remplir des cases dans ce logiciel. A partir d'une BDD renouvelée en temps réel.

    Par ailleurs en cliquant sur ce que j'ai entouré en rouge nous obtenons la fenêtre sur laquelle il faudra remplir aussi les informations PFR et VPIP ces informations sont aussi présentes dans la base de données:
    Nom : pokerequilab2.jpg
Affichages : 1119
Taille : 76,7 Ko

    et ensuite clicker sur OK puis OK.

    J'ai quelques bases sur Java, PHP, SQL. En surfant sur le WEB j'ai pensé à Autoit mais je ne le maitrise pas du tout.
    Auriez vous des conseils pour débuter, des ouvrages ou articles a lire? Quel langage utiliser?

    Merci pour vos réponses, et pardonnez mon manque d'expérience si j'ai pas posté au bon endroit ou si j'ai pas bien formulé ma question.

  2. #2
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 919
    Points
    2 919
    Par défaut
    Bonjour,

    Qu'est-ce que tu appelles "écrire des informations dans Equilab" ? Quel format est attendu par Equilab et comment ça se passe concrètement ?

    Au niveau timing, comment envisages-tu de synchroniser des données qui évoluent en temps réel avec un logiciel qui semble être dirigé par les saisies d'un utilisateur humain donc tempo complètement différent ? Est-ce que le terme "bot" s'applique vraiment ici ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    A vrai dire j'ai envisagé plusieurs solutions.
    Vu que je suis un débutant je vais d'abord répondre à vos questions puis dévoiler mon raisonnement hier et cette nuit( eh oui pas envie de dormir avec de la motivation)

    Qu'est-ce que tu appelles "écrire des informations dans Equilab" ?
    Je veux en fait que le programme effectue des saisies tel un humain. Pour le faire j'ai pensé à "Autoit" et "Super Macro". Ils peuvent en fait simuler des mouvement de souris, des click, des saisies clavier. Mais le problème c'est que j'ai pas trouvé comment tirer des informations d'une BDD. Tout ce que j'ai réussis à faire avec "Super Macro" c'est de me connecter automatiquement à un logiciel de poker et de lancer une partie(rien de bien compliqué) par contre il est possible dans Super Macro d'effectuer des boucles.

    Quel format est attendu par Equilab et comment ça se passe concrètement ?
    Le format attendu est celui des conventions de poker pour designer les cartes(Ex: AKs pour As Roi de la même(same) couleur ou 8d8h pour paire de 8 carreau(diamond) et cœur(heart)) Mais Equilab ne saurait les chercher dans une base de données actualisée en temps réel, mais ces logiciels existent. Je cherche donc à créer un équivalent.


    Au niveau timing, comment envisages-tu de synchroniser des données qui évoluent en temps réel avec un logiciel qui semble être dirigé par les saisies d'un utilisateur humain donc tempo complètement différent ? Est-ce que le terme "bot" s'applique vraiment ici ?
    Une requete SQL verifiant les mises à jours à des intervalles réguliers(très petits)? Après le terme de bot c'est ce que j'ai trouvé en effectuant des recherches car c'est justement un logiciel qui devrait remplacer une partie de l'être humain. Sans pour autant jouer à sa place(ce qui est interdit)




    Après cette nuit je me suis mis au langage C qui apparemment est utilisé pour de nombreux logiciels du genre. Les bases sont maintenant maîtrisées(peut-être que partiellement) car beaucoup de ressemblance avec Java et pHP en tout cas pour les fondement.
    Finalement je pense dont à éviter Equilab et céér un équivalent. Pour pouvoir saisir les informations autrement que par saisie "humaine" ou de SuperMacro.

    Merci pour votre réponse et l’éventuelle aide future.

  4. #4
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 919
    Points
    2 919
    Par défaut
    OK, je comprends mieux.

    Citation Envoyé par RussianAs Voir le message
    Pour le faire j'ai pensé à "Autoit" et "Super Macro". Ils peuvent en fait simuler des mouvement de souris, des click, des saisies clavier. Mais le problème c'est que j'ai pas trouvé comment tirer des informations d'une BDD.
    Ca a l'air d'être faisable avec AutoIT moyennant un peu de bricolage :

    http://www.autoitscript.com/forum/to...-sql-database/


    Citation Envoyé par RussianAs Voir le message
    Finalement je pense dont à éviter Equilab et céér un équivalent. Pour pouvoir saisir les informations autrement que par saisie "humaine" ou de SuperMacro.
    Mais le but du projet est-il de faire ce robot de saisie ou d'avoir une solution d'aide au jeu qui fonctionne quels que soit les moyens employés ? Est-ce que recréer un Equilab n'est pas une tâche un peu ambitieuse ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre réponse.
    En fait j'aurais voulu aller étape par étape. Le but réel est d'aboutir à un programme d'aide pour le jeu.
    C'est pour cela que je veux passer d'abord par un "bot" puis Equilab. Cela me semble plus facile que la réalisation entière.
    Après mon sujet serait plus complet et valorisant si je créais un "vrai" programme, que d’ailleurs je vois déjà, pas mal, comment faire en C.

    Par contre maintenant j'aurais voulu éviter Autoit. J'aimerais bien aller étape par étape et déjà "apprendre à lire un document .txt dans lequel sont stockées les historiques au départ avant d'être transférées par un logiciel vers une BDD SQL. J'aimerais éviter l'utilisation de ce logiciel aussi. Et travailler au plus possible en codant.

    Voila comment l'historique se présente dans le fichier texte.
    Winamax Poker - Tournament "BIG FREE Qualification" buyIn: 45 + 5 level: 1 - HandId: #372382744124063746-16-1404829073 - Holdem no limit (15/30) - 2014/07/08 14:17:53 UTC
    Table: 'BIG FREE Qualification(86702114)#001' 6-max (play money) Seat #3 is the button
    Seat 1: theoaurelie (13475)
    Seat 3: RARK666 (5365)
    Seat 5: Raffaele (2680)
    Seat 6: RussianAs (3000)
    *** ANTE/BLINDS ***
    Raffaele posts big blind 30
    Dealt to RussianAs [8c 6s]
    *** PRE-FLOP ***
    RussianAs folds
    theoaurelie calls 30
    RARK666 folds
    Raffaele checks
    *** FLOP *** [2h 3c Qh]
    Raffaele bets 30
    theoaurelie calls 30
    *** TURN *** [2h 3c Qh][Ac]
    Raffaele checks
    theoaurelie checks
    *** RIVER *** [2h 3c Qh Ac][Tc]
    Raffaele checks
    theoaurelie checks
    *** SHOW DOWN ***
    Raffaele shows [5h 3d] (One pair : 3)
    theoaurelie shows [Jh Th] (One pair : Tens)
    theoaurelie collected 120 from pot
    *** SUMMARY ***
    Total pot 120 | No rake
    Board: [2h 3c Qh Ac Tc]
    Seat 1: theoaurelie showed [Jh Th] and won 120 with One pair : Tens
    Seat 5: Raffaele (big blind) showed [5h 3d] and lost with One pair : 3


    Winamax Poker - Tournament "BIG FREE Qualification" buyIn: 45 + 5 level: 1 - HandId: #372382744124063746-17-1404829103 - Holdem no limit (15/30) - 2014/07/08 14:18:23 UTC
    Table: 'BIG FREE Qualification(86702114)#001' 6-max (play money) Seat #4 is the button
    Seat 1: theoaurelie (13535)
    Seat 2: pokerjoker (3000)
    Seat 3: RARK666 (5365)
    Seat 5: Raffaele (2620)
    Seat 6: RussianAs (3000)
    *** ANTE/BLINDS ***
    Raffaele posts small blind 15
    RussianAs posts big blind 30
    Dealt to RussianAs [7s 6d]
    *** PRE-FLOP ***
    theoaurelie folds
    pokerjoker folds
    RARK666 calls 30
    Raffaele calls 15
    RussianAs checks
    *** FLOP *** [Tc 8c 4h]
    Raffaele checks
    RussianAs checks
    RARK666 checks
    *** TURN *** [Tc 8c 4h][Jh]
    Raffaele checks
    RussianAs checks
    RARK666 checks
    *** RIVER *** [Tc 8c 4h Jh][Kc]
    Raffaele checks
    RussianAs checks
    RARK666 checks
    *** SHOW DOWN ***
    Raffaele shows [7d Qd] (High card : King)
    RussianAs shows [7s 6d] (High card : King)
    RARK666 shows [As 7c] (High card : Ace)
    RARK666 collected 90 from pot
    *** SUMMARY ***
    Total pot 90 | No rake
    Board: [Tc 8c 4h Jh Kc]
    Seat 3: RARK666 showed [As 7c] and won 90 with High card : Ace
    Seat 5: Raffaele (small blind) showed [7d Qd] and lost with High card : King
    Seat 6: RussianAs (big blind) showed [7s 6d] and lost with High card : King


    Winamax Poker - Tournament "BIG FREE Qualific..........


    En se servant de
    int fgetc(FILE* pointeurDeFichier);
    dans la langage C il devient dont possible de récupérer les cartes du joueur, le flop, la turn. Mais comment fabriquer une boucle qui lirait le fichier texte des qu'il y a du changement(modification en temps réel d'une main à l'autre?
    C'est un premier objectif que je me fixe donc: tirer des informations d'un fichier texte en continu.

    NB: Je sais que mes objectifs n'étaient pas très clair au début, mais pour que vous me compreniez mieux j'ai voulu exposer tous mes raisonnements. Au final je veux donc réaliser un logiciel à part entière qui ressemblerait à holdemindicator un calculateur en temps réel. Et je suis pas ambitieux au point de créer un "autre equilab" je serais bien heureux de pouvoir déjà créer un logiciel pouvant traiter une information en temps réel(lancé en tache de fond?) et afficher seulement les cartes. Puis seulement faire une "approximation de calculette puis les relier entre eux.


    Voila!
    Merci beaucoup pour les codes en Autoit.

Discussions similaires

  1. problème de macro quoting
    Par RemiBousquet dans le forum Macro
    Réponses: 2
    Dernier message: 10/02/2010, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo