Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Exercice] Le jeu Stratego

    7 septembre 2013 à 22:19:26

    j'ai une question : quel structure de donnés peut  on utiliser pour le plateau ?

    la matrice ca ne fonctionne pas et la liste de listes c'est pas beau (avis perso ^^)

    • Partager sur Facebook
    • Partager sur Twitter
    Si c'était facile, tout le monde le ferait.
      8 septembre 2013 à 10:58:40

      Smich74 a écrit:

      la matrice ca ne fonctionne pas



      En quoi les matrices ne fonctionnent elles pas :o? Sinon pour répondre à ta question,  tu peut utiliser un dictionnaire de coordonnées :

      {(0,0): 0, (0,1): 0, ...}



      -
      Edité par Kokopak 8 septembre 2013 à 11:00:30

      • Partager sur Facebook
      • Partager sur Twitter
      Développeur de GroovySearch (site down pour l'instant)
        8 septembre 2013 à 11:10:44

        car elle n'accepte que des entiers (je crois je suis pas sur) et moi je represente les bombes et le drapeau avec un "d" et un "p"

        EDIT : ton idée de dico est pas bete :)

        -
        Edité par Smich74 8 septembre 2013 à 11:11:26

        • Partager sur Facebook
        • Partager sur Twitter
        Si c'était facile, tout le monde le ferait.
          8 septembre 2013 à 11:33:04

          car elle n'accepte que des entiers (je crois je suis pas sur) et moi je represente les bombes et le drapeau avec un "d" et un "p"

          Les listes Python peuvent contenir n'importe quel type d'objet. Quand bien même :

          VIDE = 0
          BOMBE = 1
          DRAPEAU = 2
          

          ... et le tour est joué.

          Utiliser un dictionnaire pour ça, ça peut s'avérer utile si tu comptes avoir un plateau immense, et principalement vide. Sinon, c'est lourd et sans grand intérêt.

          • Partager sur Facebook
          • Partager sur Twitter
          Zeste de Savoir, le site qui en a dans le citron !
            8 septembre 2013 à 15:35:51

            Enohar a écrit:

            Utiliser un dictionnaire pour ça, ça peut s'avérer utile si tu comptes avoir un plateau immense, et principalement vide. Sinon, c'est lourd et sans grand intérêt.

            de memoire le plateau de stratego est un champ de bataille (dans les deux sens du terme ^^) donc pas de grand plateau vide.

            En fait cela pose probleme pour l'IA : comment connaitre les coordonnés des pions de chaque joueur ?

            EDIT : voici comment je fonctionne:

            VIDE  = 0
            ESPION  = 1
            ECLAIREUR = 2
            DEMINEUR  = 3
            ... #vous m'avez compris...
            
            BOMBE = "b"
            DRAPEAU = "d"

            les deux seuls pieces immobiles etant une chaine de caractere ca facilite la tâche


            -
            Edité par Smich74 8 septembre 2013 à 15:38:25

            • Partager sur Facebook
            • Partager sur Twitter
            Si c'était facile, tout le monde le ferait.
              16 septembre 2013 à 11:21:43

              je me joints à vous mais coder une IA c'est pas dans mes compétences.
              • Partager sur Facebook
              • Partager sur Twitter

              Python c'est bon, mangez-en. 

                12 juillet 2014 à 16:49:26

                Je UP ce sujet car c'est les vacances :D et qu'il peut toujours être utile.
                • Partager sur Facebook
                • Partager sur Twitter
                Développeur de GroovySearch (site down pour l'instant)
                  9 décembre 2014 à 10:46:21

                  Je UP également je suis plutôt intéressé par ce projet si le post est pas encore mort :). Si vous pouviez partager ce qui a été fait ce serait top !
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 mars 2015 à 21:44:36

                    Bonjour, un ami et moi avons pour but de réaliser ce stratego programmable sous python pour un projet pour l'école. On a déjà pensé à une matrice pour le placement des pions etc mais nous buttons sur de gros points : comment lier l'interface graphique avec la matrice et le reste du programme ? Je tiens à préciser que nous cherchons pour l'instant à réaliser un jeu en 1 VS 1, en cachant le jeu de l'autre joueur à chaque tour.Nous avons modifié les regles de bases : chaque joueur ne possède plus qu'une seule catégorie de pion et le plateau et de dimensions 10x10 cases avec 8 cases d'obstacles . Voici ce que nous avons pour l'instant réalisé :

                    from numpy import*

                    from tkinter import*

                    fenetre=Tk()

                    titre=Label(fenetre,text="STRATEGO")

                    titre.pack()

                    boutton=Button(fenetre,text="quitter",command=fenetre.destroy).pack()

                    can = Canvas(fenetre,bg='yellow', height=1000, width=1000)

                    can.create_line(150,10,950,10,fill='red')

                    can.create_line(150,10,150,900,fill='red')

                    can.create_line(150,900,900,900,fill='red')

                    can.pack()

                    fenetre.mainloop()

                    matrice=zeros((10,10))

                    matrice[4,2]=13

                    matrice[4,6]=13

                    matrice[5,2]=13

                    matrice[5,6]=13

                    matrice[4,3]=13

                    matrice[4,7]=13

                    matrice[5,3]=13

                    matrice[5,7]=13

                    print(matrice)

                    #general=10

                    #marechal=9

                    #colonel=8

                    #commandant=7

                    #capitaine=6

                    #lieutenant=5

                    #sergent=4

                    #demineur=3

                    #eclaireur=2

                    #espion=1

                    #bombe=11

                    #drapeau=12

                    for i in range (1,13):

                    z=int(input("Quel pion voulez-vous placer joueur 1 ?\n10)Le général\n 9)Le maréchal\n 8)Le colonel \n 7)Le commandant \n 6)Le capitaine \n 5)Le lieutenant \n 4)Le sergent \n 3)Le démineur \n 2)L'éclaireur \n 1)L'espion \n 11)La bombe \n 12)Le drapeau\n"))

                    x=int(input("Ou voulez-vous le placer ? Vous pouvez placer vos pions sur les deux lignes du bas.\n Coordonnées en x :\n"))

                    y=int(input("Coordonnées en y:\n"))

                    if z==10:

                    matrice[x,y]=10

                    print(matrice)

                    if z==9:

                    matrice[x,y]=9

                    print(matrice)

                    if z==8:

                    matrice[x,y]=8

                    print(matrice)

                    if z==7:

                    matrice[x,y]=7

                    print(matrice)

                    if z==6:

                    matrice[x,y]=6

                    print(matrice)

                    if z==5:

                    matrice[x,y]=5

                    print(matrice)

                    if z==4:

                    matrice[x,y]=4

                    print(matrice)

                    if z==3:

                    matrice[x,y]=3

                    print(matrice)

                    if z==2:

                    matrice[x,y]=2

                    print(matrice)

                    if z==1:

                    matrice[x,y]=1

                    print(matrice)

                    if z==0:

                    matrice[x,y]=0

                    print(matrice)

                    if z==11:

                    matrice[x,y]=11

                    print(matrice)

                    if z==12:

                    matrice[x,y]=12

                    print(matrice)

                    for k in range (13,25):

                    z=int(input("Quel pion voulez-vous placer joueur 2 ?\n10)Le général\n 9)Le maréchal\n 8)Le colonel \n 7)Le commandant \n 6)Le capitaine \n 5)Le lieutenant \n 4)Le sergent \n 3)Le démineur \n 2)L'éclaireur \n 1)L'espion \n 11)La bombe \n 12)Le drapeau\n"))

                    x=int(input("Ou voulez-vous le placer ? Vous pouvez placer vos pions sur les deux lignes du haut.\n Coordonnées en x :\n"))

                    y=int(input("Coordonnées en y:\n"))

                    if z==10:

                    matrice[x,y]=10

                    print(matrice)

                    if z==9:

                    matrice[x,y]=9

                    print(matrice)

                    if z==8:

                    matrice[x,y]=8

                    print(matrice)

                    if z==7:

                    matrice[x,y]=7

                    print(matrice)

                    if z==6:

                    matrice[x,y]=6

                    print(matrice)

                    if z==5:

                    matrice[x,y]=5

                    print(matrice)

                    if z==4:

                    matrice[x,y]=4

                    print(matrice)

                    if z==3:

                    matrice[x,y]=3

                    print(matrice)

                    if z==2:

                    matrice[x,y]=2

                    print(matrice)

                    if z==1:

                    matrice[x,y]=1

                    print(matrice)

                    if z==0:

                    matrice[x,y]=0

                    print(matrice)

                    if z==11:

                    matrice[x,y]=11

                    print(matrice)

                    if z==12:

                    matrice[x,y]=12

                    print(matrice)

                    Un peu d'aide serait la bienvenue !:) Merci !

                    • Partager sur Facebook
                    • Partager sur Twitter

                    [Exercice] Le jeu Stratego

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown