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

Intelligence artificielle Discussion :

Intelligence artificielle dans un jeu de cartes


Sujet :

Intelligence artificielle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Intelligence artificielle dans un jeu de cartes
    Bonjour,
    dans le cadre de mes études j'ai un projet en programmation sur python et je dois faire une version simplifiée de l'écarté, un sorte de bataille à 32 carte avec un atout et qui se joue à 2. Les 2 joueurs (l'IA et l'utilisateur) doivent recevoir 5 cartes chacun et on retourne une 11ème carte qui ne sera pas utilisée, elle définit l'atout. Ensuite un des deux joueurs joue, les règles sont simples : si on a la couleur on doit jouer cette couleur, sinon on coupe avec l'atout, et si on a pas d'atout n'importe quoi alors. Celui qui met la carte la plus forte (ordre : 7<8<9<10<V<D<R<A) remporte le plis et rejoue. A la fin des 5 tours, celui qui a le plus de plis remporte 1 points.

    Mes connaissances en langage informatique étant limités, je suis bloqué assez vite, notamment avec la partie intelligence artificielle, je pense avoir la logique mais je n'arrive pas a le traduire.

    Si quelqu'un pouvait m'aider, mes donner des conseils ou m'orienter vers quelque chose ça m'aiderait beaucoup

    Merci d'avance à qui voudra bien

    (je mets mon début de code avec)


    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    from tkinter import *
     
    Ecarte = Tk()
    Ecarte.title('Ecarte')
     
    #Création du jeu de 32 cartes
     
    from random import *
    valeurs=['7','8','9','10','V','D','R','A']
    couleurs=['\u2665','\u2666','\u2663','\u2660']
    pioche=[v+' '+c for v in valeurs for c in couleurs]
     
     
    #Distribution
     
    def ajouterCarte(pioche, joueur):
        carte = choice(pioche)
        joueur.append(carte)
        pioche.remove(carte)
     
     
     
    cartes_IA = []
    cartes_utilisateur = []
    Atout = []
    i=0
     
    while i <= 4 :
        ajouterCarte(pioche, cartes_IA)
        ajouterCarte(pioche, cartes_utilisateur)
     
        i = i +1
     
    ajouterCarte(pioche, Atout)
     
    """
    print('IA :',cartes_IA)
    print('utilisateur :',cartes_utilisateur)
    print('Atout :     ', Atout)
    """
     
    # Labels du jeu de cartes de l'IA
    # Affichage des valeurs comprises dans listes cartes_IA dans leur label respectifs
     
    FrameIAC1 = LabelFrame(Ecarte, bd = 5).grid(row=0,column=0,ipadx=4,pady=2)
    FrameIAC2 = LabelFrame(Ecarte, bd = 5).grid(row=0,column=1,ipadx=4,pady=2)
    FrameIAC3 = LabelFrame(Ecarte, bd = 5).grid(row=0,column=2,ipadx=4,pady=2)
    FrameIAC4 = LabelFrame(Ecarte, bd = 5).grid(row=0,column=3,ipadx=4,pady=2)
    FrameIAC5 = LabelFrame(Ecarte).grid(row=0,column=4,ipadx=4,pady=2)
     
    LabelIAC1 = Label(FrameIAC1, bg ='red', text = cartes_IA[0]).grid(row=0,column=0,ipadx=8,pady=20)
    LabelIAC2 = Label(FrameIAC2, bg ='red', text = cartes_IA[1]).grid(row=0,column=1,ipadx=8,pady=20)
    LabelIAC3 = Label(FrameIAC3, bg ='red', text = cartes_IA[2]).grid(row=0,column=2,ipadx=8,pady=20)
    LabelIAC4 = Label(FrameIAC4, bg ='red', text = cartes_IA[3]).grid(row=0,column=3,ipadx=8,pady=20)
    LabelIAC5 = Label(FrameIAC5, bg ='red', text = cartes_IA[4]).grid(row=0,column=4,ipadx=8,pady=20)
     
     
    # Labels du jeu de cartes du joueur
    # Affichage des valeurs comprises dans listes cartes_utilisateurs dans leur label respectifs
     
    FrameUC1 = LabelFrame(Ecarte, bd = 5).grid(row=5,column=0,ipadx=4,pady=2)
    FrameUC2 = LabelFrame(Ecarte, bd = 5).grid(row=5,column=1,ipadx=4,pady=2)
    FrameUC3 = LabelFrame(Ecarte, bd = 5).grid(row=5,column=2,ipadx=4,pady=2)
    FrameUC4 = LabelFrame(Ecarte, bd = 5).grid(row=5,column=3,ipadx=4,pady=2)
    FrameUC5 = LabelFrame(Ecarte).grid(row=5,column=4,ipadx=4,pady=2)
     
    LabelUC1 = Label(FrameUC1, bg ='red', text = cartes_utilisateur[0]).grid(row=5,column=0,ipadx=8,pady=20)
    LabelUC2 = Label(FrameUC2, bg ='red', text = cartes_utilisateur[1]).grid(row=5,column=1,ipadx=8,pady=20)
    LabelUC3 = Label(FrameUC3, bg ='red', text = cartes_utilisateur[2]).grid(row=5,column=2,ipadx=8,pady=20)
    LabelUC4 = Label(FrameUC4, bg ='red', text = cartes_utilisateur[3]).grid(row=5,column=3,ipadx=8,pady=20)
    LabelUC5 = Label(FrameUC5, bg ='red', text = cartes_utilisateur[4]).grid(row=5,column=4,ipadx=8,pady=20)
     
    """
    UC1 = Label(Ecarte, text = cartes_utilisateur[0]).grid(row=5,column=0,ipadx=4,pady=2)
    UC2 = Label(Ecarte, text = cartes_utilisateur[1]).grid(row=5,column=1,ipadx=4,pady=2)
    UC3 = Label(Ecarte, text = cartes_utilisateur[2]).grid(row=5,column=2,ipadx=4,pady=2)
    UC4 = Label(Ecarte, text = cartes_utilisateur[3]).grid(row=5,column=3,ipadx=4,pady=2)
    UC5 = Label(Ecarte, text = cartes_utilisateur[4]).grid(row=5,column=4,ipadx=4,pady=2)
    """
     
    # Label de la carte d'atout
    # Affichage de l'atout
     
    FrameAT = LabelFrame(Ecarte, bd = 5).grid(row=3,column=5,ipadx=4,pady=2)
    LabelAT = Label(FrameAT, bg ='red', text = Atout[0]).grid(row=3,column=5,ipadx=4,pady=2)
     
    # Bouton distribuer
     
    Distribuer = Button(Ecarte, text="Distribuer").grid(row=4,column=5,ipadx=4,pady=2)
     
     
    Ecarte.mainloop()
    Fichiers attachés Fichiers attachés

  2. #2
    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Avant de faire la partie IA, fais comme si deux humains voulaient jouer. L'IA prendra juste la place d'un des deux humains.
    Donc il te faut définir les fonctions de base de ton jeu.

    Je commencerai donc par une fonction Comparaison (ou le nom que tu souhaites), qui déterminera entre deux cartes laquelle est la plus forte.

    Ensuite, il faut une méthode CoupValide, qui en fonction de ce qui est demandé, va déterminer si la carte jouée est valide. C'est dans cette méthode que tu décris les règles de ton jeu.
    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.

Discussions similaires

  1. intelligence artificielle dans l'avenir
    Par lemacdupc33 dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 31/07/2015, 15h43
  2. Intelligence artificielle dans un jeu
    Par Azumii dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 13/03/2015, 19h36
  3. Choix d'un type intelligence artificiel pour un jeu de carte
    Par acia78 dans le forum Intelligence artificielle
    Réponses: 0
    Dernier message: 13/12/2012, 18h36
  4. Réponses: 4
    Dernier message: 18/07/2007, 23h35
  5. Intelligence Artificielle jeu 2D
    Par ironzorg dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 30/12/2006, 11h01

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