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

Python Discussion :

problem pour faire sauter le pion d'un case à un autre


Sujet :

Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut problem pour faire sauter le pion d'un case à un autre
    Pièce jointe 178875
    Je voudrais que lorsque un pion arrive sur un case et qu'il saute automatiquement encore de deux case .Enfaite c'est un jeu de l'oie que je fait donc
    SVP aide moi ! Je suis une débutante pas très douée dans la programmation .Est ce que quelqu'un aurait la gentillesse de m'aider . Je vous en remercie





    Code : 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
    93
    94
     
    from tkinter import *
    import random
     
     
    def NouveauLance():
        global nb
        nb = random.randint(1,6)
        Texte.set(str(nb))
     
     
    def Clavier():
        global PosX,PosY
        global nb
        NouveauLance()
        valeur=int(nb)
        # déplacement vers la gauche
        PosY -= 0
        PosX -= -50*valeur
        # on dessine le pion à sa nouvelle position
        Canevas.coords(Pion,PosX -10, PosY +10, PosX+10,PosY -10)
        if PosX==-480:
            PosY -=10*valeur
            PosX -=-480
     
     
     
     
    # Création de la fenêtre principale
    Mafenetre = Tk()
    Mafenetre.title('Pion')
     
     
    Texte = StringVar()
     
    # position initiale du pion
    PosX = 20
    PosY = 420
    nb=0
     
     
    # Création d'un widget Canvas (zone graphique)
    Largeur = 800
    Hauteur = 500
    Canevas = Canvas(Mafenetre, width = 800, height = 500, bg ='white')
     
     
    Pion = Canevas.create_oval(PosX-10,PosY-10,PosX+10,PosY+10,width=2,outline='black',fill='red')
     
    #1ere rangée de cases (déplacement vers la droite du pion)
    case1= Canevas.create_rectangle(PosX+30, PosY+20,PosX+80,PosY-20,width=5,outline='black')
    case2= Canevas.create_rectangle(PosX+80,PosY+20,PosX+130,PosY-20,width=5,outline='black')
    case3= Canevas.create_rectangle(PosX+130,PosY+20,PosX+180,PosY-20,width=5,outline='black')
    case4= Canevas.create_rectangle(PosX+180,PosY+20,PosX+230,PosY-20,width=5,outline='black')
    case5= Canevas.create_rectangle(PosX+230,PosY+20,PosX+280,PosY-20,width=5,outline='black')
    case6= Canevas.create_rectangle(PosX+280,PosY+20,PosX+330,PosY-20,width=5,outline='black')
    case7= Canevas.create_rectangle(PosX+330,PosY+20,PosX+380,PosY-20,width=5,outline='black')
    case8= Canevas.create_rectangle(PosX+380,PosY+20,PosX+430,PosY-20,width=5,outline='black')
    case9= Canevas.create_rectangle(PosX+430,PosY+20,PosX+480,PosY-20,width=5,outline='black')
    case10= Canevas.create_rectangle(PosX+480,PosY+20,PosX+530,PosY-20,width=5,outline='black')
    case11= Canevas.create_rectangle(PosX+530,PosY+20,PosX+580,PosY-20,width=5,outline='black')
    case12= Canevas.create_rectangle(PosX+580,PosY+20,PosX+630,PosY-20,width=5,outline='black')
    case13= Canevas.create_rectangle(PosX+630,PosY+20,PosX+680,PosY-20,width=5,outline='black')
    case14= Canevas.create_rectangle(PosX+680,PosY+20,PosX+730,PosY-20,width=5,outline='black')
    case15= Canevas.create_rectangle(PosX+730,PosY+20,PosX+780,PosY-20,width=5,outline='black')
     
     
     
     
     
     
     
     
    Canevas.focus_set()
    Canevas.bind('<Key>',Clavier)
    Canevas.pack(padx =5, pady =5)
     
     
     
    # Création d'un widget Button (bouton Lancer)
    BoutonLancer = Button(Mafenetre, text ='Lancer', command = Clavier)
     
    # Positionnement du widget avec la méthode pack()
    BoutonLancer.pack(side = LEFT, padx = 5, pady = 5)
     
    # Création d'un widget Label (texte 'Résultat -> x')
    LabelResultat = Label(Mafenetre, textvariable = Texte, fg ='red', bg ='white')
    LabelResultat.pack(side = LEFT, padx = 5, pady = 5)
     
     
    # Création d'un widget Button (bouton Quitter)
    Button(Mafenetre, text ='Quitter', command = Mafenetre.destroy).pack(side=LEFT,padx=5,pady=5)
     
    Mafenetre.mainloop()

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour

    A mon avis ça se situe dans cette fonction
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def Clavier():
        global PosX,PosY
        global nb
        NouveauLance()
        valeur=int(nb)
        # déplacement vers la gauche
        PosY -= 0
        PosX -= -50*valeur
        # on dessine le pion à sa nouvelle position
        Canevas.coords(Pion,PosX -10, PosY +10, PosX+10,PosY -10)
        if PosX==-480:
            PosY -=10*valeur
            PosX -=-480

    Avant de te déplacer ; il te faut rajouter un test avec "si la position finale est spécialement celle que tu cherches alors valeur=valeur+2".

    Ceci est juste une verrue (un test particulier) car une meilleure programmation t'aurait alors amené à créer des fonctions plus spécifiques (comme par exemple def deplacer(n) dédiée au déplacement de n cases) comme ça tu aurais pu mieux affiner tes actions en fonction de ton besoin...

    PS: et apprends à distinguer ta droite de ta gauche !!!
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [tomcat]probleme pour faire marche des .shtml
    Par Battosaiii dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 27/03/2006, 20h08
  2. Probleme pour faire une somme sous Excel
    Par Nicolas92 dans le forum Excel
    Réponses: 5
    Dernier message: 02/12/2005, 11h38
  3. Probleme pour faire une somme dans header ??
    Par snoop57 dans le forum Access
    Réponses: 7
    Dernier message: 01/12/2005, 13h40
  4. 2 problemes pour faire un menu en CSS
    Par Death83 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 12/08/2005, 08h23
  5. Réponses: 7
    Dernier message: 16/04/2005, 08h55

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