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

Programmation multimédia/Jeux Python Discussion :

Definir une position PYTHON, turtle


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut Definir une position PYTHON, turtle
    Bonjour, je vous explique mon problème alors voila, je suis en train de creer un petit jeux, "course de tortue" pour mon projet en ISN, où je dois utilisé que turtle en module graphique.
    Le problème est : que j'arrive a définir un carrée ( pour que la tortue ne sorte pas, avec une boucle) mais j'arrive pas définir des positions de coordonné A(.,.) a coordonné B(.,.) pour que ma tortue de sorte pas du chemin que je lui ai créer (voir image) defini pas le pen "p" en bleu!
    Nom : Sans titre.png
Affichages : 2004
Taille : 7,9 KoNom : Sans titre.png
Affichages : 2004
Taille : 7,9 Ko


    Je vous remercie d'avance pour votre aide!

    Voici mon code (prenez pas en compte l'autre tortue) :

    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    from turtle import *
    from random import *
     
    title("Course de tortue")     
    setup(720,820)
     
     
     
    def sortie():
          if p.position()[0]== 300 or p.position()[0] == -300 or p.position()[1] == 300 or p.position()[1] == -300:
              p.left(90)
     
     
     
    pen3=Pen()
    pen3.ht()
    pen3.up()
    pen3.speed(50)
    pen3.goto(-350,400)
    pen3.down()
    pen3.forward(700)
    pen3.right(90)
    pen3.forward(800)
    pen3.right(90)
    pen3.forward(700)
     
    pen3.right(90)
    pen3.forward(800)
     
     
    pen4=Pen()
    pen4.ht()
    pen4.speed(50)
    pen4.up()
    pen4.goto(200,400)
    pen4.down()
    pen4.right(90)
    pen4.forward(250)
    pen4.right(90)
    pen4.forward(125)
    pen4.left(90)
    pen4.forward(250)
    pen4.left(90)
    pen4.forward(200)
    pen4.right(90)
    pen4.forward(300)
    pen4.right(90)
    pen4.forward(50)
    pen4.right(90)
    pen4.forward(250)
    pen4.left(90)
    pen4.forward(200)
    pen4.right(90)
    pen4.forward(350)
    pen4.right(90)
    pen4.forward(125)
    pen4.left(90)
    pen4.forward(200)
    pen4.right(90)
    pen4.forward(50)
     
     
    p=Pen()
    p.speed(50)
    p.up()
    p.goto(-200,400)
    p.down()
    p.right(90)
    p.forward(250)
    p.left(90)
    p.forward(125)
    p.right(90)
    p.forward(250)
    p.right(90)
    p.forward(200)
    p.left(90)
    p.forward(300)
    p.left(90)
    p.forward(50)
    p.left(90)
    p.forward(250)
    p.right(90)
    p.forward(200)
    p.left(90)
    p.forward(350)
    p.left(90)
    p.forward(125)
    p.right(90)
    p.forward(200)
    p.left(90)
    p.forward(50)
     
     
     
    p.penup()
    p.goto(-175,390)
    p.left(90)
    p.down
    p.color("blue")
    p.shape('turtle')
     
     
     
     
    def  bas1():
         p.forward(10)
         sortie()
     
    def droite1():
         p.left(90)
         sortie()
     
    def gauche1():
         p.right(90)
         sortie()
     
     
     
     
    pen2=Pen()
    pen2.penup()
    pen2.goto(175,390)
    pen2.right(90)
    pen2.down
    pen2.color("red")
    pen2.shape('turtle')
     
    def  bas2():
         pen2.forward(10)
         sortie()
     
     
    def droite2():
         pen2.left(90)
         sortie()
     
    def gauche2():
         pen2.right(90)
         sortie()
     
     
    onkey(droite1,"Right")
    onkey(gauche1,"Left")
    onkey(bas1,"Down")
    onkey(bas2,"x")
    onkey(droite2,"c")
    onkey(gauche2,"w")
    listen()

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Je ne comprends pas le souci, votre problème. L'imagine ne montre "rien d'anormal"
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Mon problème, c'est je voudrais definir le chemin (sur la photo), pour que la tortue ne sorte pas, j'arrive seulement a faire un rectangle de 800/700 avec cette fonction la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def sortie():
          if p.position()[0]== -350 or p.position()[0] == 350 or p.position()[1] == -400 or p.position()[1] == 400:
              p.left(90)
    Mais je ne sais pas définir un chemin, avec par exemple des coordonné.. Je ne sais pas comment procédé.. j'espère avoir été claire dans mon explication, merci beaucoup de votre réponse!

  4. #4
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par vinvin1899 Voir le message
    Mon problème, c'est je voudrais definir le chemin (sur la photo), pour que la tortue ne sorte pas, j'arrive seulement a faire un rectangle de 800/700 avec cette fonction la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def sortie():
          if p.position()[0]== -350 or p.position()[0] == 350 or p.position()[1] == -400 or p.position()[1] == 400:
              p.left(90)
    Mais je ne sais pas définir un chemin, avec par exemple des coordonné.. Je ne sais pas comment procédé.. j'espère avoir été claire dans mon explication, merci beaucoup de votre réponse!
    Bonsoir,
    Il suffit de définir le parcours comme une somme de rectangles…
    Puis de faire un peu de logique…

    si (x_min < x < x_max) et (y_min < y < y_max)
    alors on est dans le chemin
    sinon on n'est pas dans le chemin…

    Voilà…

    Clodion

  5. #5
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Je comprend votre démarche, mais je suis tout nouveau et je sais pas du tout comment codé ça, si vous pouvez me donnez juste un exemple, je pourrais m'inspiré de ça!

    Merciiii!

  6. #6
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par vinvin1899 Voir le message
    Je comprend votre démarche, mais je suis tout nouveau et je sais pas du tout comment codé ça, si vous pouvez me donnez juste un exemple, je pourrais m'inspiré de ça!

    Merciiii!
    Bonjour,
    C'est tout simple… Il faut commencer par le début…
    Commencez par définir un "trajet" représenté par un seul rectangle… Après il faudra juste réitéré la démarche…
    Il faudrait commencer par condenser le code: les fonctions sont utiles pour cela!

    Trait: y=50, trait y=70 pour x de 0 à 300

    fonction est_dans_le_chemin(x, y):
    si (0 <= x <= 300) et (50 <= y <= 70)
    alors retour vrai
    sinon retour faux

    Clodion

  7. #7
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    D'accord merci je vais essayer, et pour ; retours vrai sinon retours faux il faut que je mette quoi pour que ma tortue de passe pas?

    Encore merci pour votre aide!

  8. #8
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par vinvin1899 Voir le message
    et pour ; retours vrai sinon retours faux il faut que je mette quoi pour que ma tortue de passe pas?
    Bonjour,
    Et bien, avant d'effectuer le mouvement, interroger une fonction qui répond si oui ou non le mouvement est possible…

    Clodion

  9. #9
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Clodion Voir le message
    Bonjour,
    Et bien, avant d'effectuer le mouvement

    Clodion
    Je mets cette fonction dans les déplacement de la tortue ( fonction est_dans_le_chemin(x, y) où x,y sont des coordonné pour que la tortue avance?

    Encore merci

  10. #10
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    D'accord, j'ai tout essayé et j'arrive pas faire fonctionné votre technique..
    Merci quand même...

    je comprend pas pour

    Codialement

  11. #11
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Re-bonjour, en fait je ne comprend pas, vous avez defini les variable la?
    Trait: y=50, trait y=70 pour x de 0 à 300
    et pourquoi y=50 et y=70?

    Cordialement

  12. #12
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par vinvin1899 Voir le message
    Re-bonjour, en fait je ne comprend pas, vous avez defini les variable la? et pourquoi y=50 et y=70?

    Cordialement
    Bonjour,
    Ces valeurs constituent juste un exemple de rectangle sur un graphe orienté. Que l'on peut dessiner rapidement sur une feuille pour voir comment cela fonctionne.
    C'est tout.

    Clodion

  13. #13
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour, d'accord merci je comprend, juste cette fonction je dois ma mettre dans le déplacement de de ma tortue? mais comment avec true et false on peut dire la tortue de faire left(90) ou quelle avance (forward(10)) ?


    Voila se que je fais sans succ



    encore merci!

    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
    from turtle import *
    from random import *
     
    title("Course de tortue")     
    setup(720,820)
     
     
    p=Pen()
    p.penup()
    p.goto(60,60)
    p.right(90)
    p.down
    p.color("blue")
    p.shape('turtle')
     
     
     
     
    def sortie(x,y):
          if (50 <= x <= 400) and (50 <= y <= 400):
                p.forward(10)           
          else: p.left(90)      
     
     
     
     
     
    onkey(sortie(60,60),"Down")
    listen()

  14. #14
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour, es que vous pouvez me donnez un exemple de boucle avec true et false ?
    Cordialement

Discussions similaires

  1. [Débutant] Definir une position dans un datagridview
    Par BatonMousse dans le forum C#
    Réponses: 8
    Dernier message: 19/08/2011, 10h28
  2. [FLASH MX] Définir une position x fixe : depuis la droite
    Par Miles Raymond dans le forum Flash
    Réponses: 14
    Dernier message: 07/07/2006, 15h48
  3. Réponses: 17
    Dernier message: 29/08/2005, 13h53
  4. Recuperer le numero de ligne d'une exception Python
    Par chrdou dans le forum Général Python
    Réponses: 4
    Dernier message: 28/02/2005, 16h58
  5. Réponses: 2
    Dernier message: 26/05/2004, 17h53

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