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

Langage Java Discussion :

Déroulement d'un tour de jeu au poker texas hold'em


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut Déroulement d'un tour de jeu au poker texas hold'em
    Je développe actuellement un modeste jeu de poker version texas hold'em (entièrement en java).
    Bien entendu, j'ai une classe Partie dans laquelle je fais se succèder des tours de jeu (j'ai aussi une classe Tour).
    J'entends par tour de jeu chaque fois qu'on redistribue les cartes et qu'on entame alors une nouvelle série de mises.
    Seulement je bute carrément sur le côté algorithmique de cette phase de jeu et aussi sur le côté modelisation objet.

    Je suis ouvert à toute suggestion.

    Note: je tiens à m'en tenir strictement aux règles du texas hold'em

    merci

  2. #2
    Membre émérite
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Par défaut
    Citation Envoyé par piotrr Voir le message
    Je développe actuellement un modeste jeu de poker version texas hold'em (entièrement en java).
    Bien entendu, j'ai une classe Partie dans laquelle je fais se succèder des tours de jeu (j'ai aussi une classe Tour).
    J'entends par tour de jeu chaque fois qu'on redistribue les cartes et qu'on entame alors une nouvelle série de mises.
    Seulement je bute carrément sur le côté algorithmique de cette phase de jeu et aussi sur le côté modelisation objet.

    Je suis ouvert à toute suggestion.

    Note: je tiens à m'en tenir strictement aux règles du texas hold'em

    merci
    Pour modeliser une partie, imprégne toi des régles et décrit tout les acteurs, actions pouvant survenir.

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    il faut que tu décomposes ton environnement, ce que tu veux faire :
    - Dans une partie, il y a des joueurs => class Joueur.
    - Ces joueurs sont soit dans le tour ou ont abandonnés le tour => un booleen.
    - Un joueur est encore dans la partie ou a été éliminé,...
    - Il faut un jeu de carte => ...
    - Chaque joueur reçoit deux cartes => Affecter deux cartes (différentes) aléatoirement à chaque joueur.
    - Les joueurs jouent à tour de rôle, il faut donc que ta class partie connaisse les joueurs et l'ordre ... => un petit vecteur avec les joueurs encores dans le tour.

    Tout ceci sont quelques une des règles simple ou font partie du déroulement d'une partie de poker... Il suffit de traduire ce qu'il se passe au für et à mesure.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 68
    Par défaut
    Salut !

    J'ai développé moi aussi un poker pour jouer en réseau privé.
    Pour la gestion d'un tour de jeu, une classe Partie lance une à une les différentes phases de jeu : blinds, deal, mise, flop, mise, turn, mise, river, mise, abbatage, gains, préparation nouvelle main.

    Cette classe possède comme attributs :
    - Les joueurs autour de la table : Une classe Joueur gère leur argent et leur état
    - l'argent sur la table
    - l'interface graphique
    - ...

    pour pouvoir facilement réaliser l'ensemble de l'application, je te conseillerais de créer des objets (plus ou moins) indépendants (joueurs, jeu de carte, interface réseau, interface graphique, partie ) , et de les faire interagir au sein d'une "superclasse" qui orchestrerait tout ça. Enfin je sais pas si c'est clair lol...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut
    Citation Envoyé par Akhan Voir le message
    les différentes phases de jeu : blinds, deal, mise, flop, mise, turn, mise, river, mise, abbatage, gains, préparation nouvelle main.
    Ok mais la methode mise me porte particulièrement problème. En effet il faut gèrer à la fois les relances des joueurs et également la blind de départ.


    Autre chose, en quoi la phase flop diffère-t-elle de la phase turn ou encore river?

    merci

  6. #6
    Membre émérite
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Par défaut
    Citation Envoyé par piotrr Voir le message
    Ok mais la methode mise me porte particulièrement problème. En effet il faut gèrer à la fois les relances des joueurs et également la blind de départ.


    Autre chose, en quoi la phase flop diffère-t-elle de la phase turn ou encore river?

    merci
    La mise est plus compliquée que cà en réalité:

    1. Payer les antes par TOUT les joueurs (si il y en a)
    2. Payer les blinds (small/big)
    3. distribuer les cartes
    4. Faire un tour de mise (ou terminer le 1er tour aprés les blinds)

    Ce qu'il faut savoir:
    Le joueur de grosse blinde à un droit de relance avant de dévoiler le flop (même si personne n'a relancé au dessus de sa grosse blinde), il peut donc ainsi "checker" ou "relancer"

    Ensuite il faut gérer aussi les contraintes sur les mises au sein d'un tour
    1. Mise de départ minimale dépends du mode de jeu
    - limit holdem = petite mise (pre-flop,flop), grosse mide (tournant,riviere)
    - pot limit = grosse blinde
    - no limit = grosse blinde

    2. Gérer la relance "minimum" : une relance doit être supèrieure ou égale à la derniere relance du même tour
    - Exemple: quelqu'un mise 20€, je met 65€ (relance de 45€) alors qie quelqu'un veut relancer sur ma mise il devra au minimum mettre 110€ ( 65€ + 45€)

    3. Gérer la relance "maximum": En pot limit on ne peut pas miser plus que ce qu'est déja misé sur le tour courant

    Dans tes états de joueur (couché, suit , relance), il te faut au minimum un état "sit down" indiquant que le joueur est temporairement sortit de la table.
    Il faut alors un état suplementaire mémorisant toutes les "blindes" non payées qu'il aurait du payer. Quand il reprendra la partie sur cette table, il devra payer toutes ces blindes qu'il n'avait pas payé.

    De plus en "cash game" ou les tables sont libres, un nouveau joueur doit payer une taxe équivalente à la grosse blinde pour avoir le droit de s'assoire.
    De plus un noueau joueur ne peut devenir d'entrée petite blinde ou grosse blinde, et devra attendre la manche suivante.

    Lit les régles sur wikipedia (francais et anglais) tu trouveras tout ton bonheur.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut
    Citation Envoyé par ToTo13 Voir le message
    Bonjour,

    il faut que tu décomposes ton environnement, ce que tu veux faire :

    - Ces joueurs sont soit dans le tour ou ont abandonnés le tour => un booleen.

    Tout ceci sont quelques une des règles simple ou font partie du déroulement d'une partie de poker... Il suffit de traduire ce qu'il se passe au für et à mesure.
    Au sein d'un round, j'utilise un statut pour chaque joueur. Ce statut peut avoir 3 valeurs: couché, suit, relance. Selon l'état du joueur. Est-ce une bonne solution? Me permet-elle de couvrir tous les cas?
    Sinon pour les autres règles, j'ai déjà tout définit comme ça.

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Programmation jeux de poker Texas Hold Em
    Par batbout dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 11/08/2008, 09h25
  2. Un jeu de poker en caml
    Par funtix dans le forum Caml
    Réponses: 35
    Dernier message: 01/12/2007, 17h00
  3. [AJAX] [Projet] Poker Texas Hold'em
    Par d-Rek dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/06/2007, 12h10
  4. Développement d'un jeu de poker en java.
    Par SmileAndFly dans le forum Développement 2D, 3D et Jeux
    Réponses: 15
    Dernier message: 02/04/2007, 20h02
  5. Langage & API pour un jeu de poker
    Par b Oo dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 02/02/2007, 09h47

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