J'ai fait un programme mais il y a des fonctions que je ne connais pas !

Résolu
Multi73 Messages postés 95 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai fait un programme avec Turtle mais il y a des fonctions que je ne connais pas !

Le but de mon programme : c'est que quand la tortue touche le trait rouge que j'ai fait dans mon programme, le programme dis bravo et se ferme 5 sec après mais je j'aimerai que le bravo ne soit pas trop petit.

Voici mon programme :

from turtle import *
setup(2000, 850, 0)
color('red')
width(3)
nom = textinput("nom", "Veuillez saisir votre nom s'il vous plaît")
up()
goto(-700, -350)
down()
def av_forward():
    forward(1300)
    up()
    goto(0, -250)
    setheading(-90)
    down()


def move_forward():

    forward(30)
    z = position()
    x = -350
    if z[1] == x:
        write ('bravo')

def move_backward():
    backward(30)

def turn_left():
    left(15)

def turn_right():
    right(15)



onkey(move_forward, 'Down')
onkey(move_backward, 'Up')
onkey(turn_left, 'Left')
onkey(turn_right, 'Right')
av_forward()
listen()


done()


Pouvez vous m'aidez ?
Merci

4 réponses

  1. Multi73 Messages postés 95 Statut Membre 2
     
    Merci beaucoup.
    J'ai enfin réussi enfaite je confondait inférieur et supérieur avec les nombres négatif.

    Voici mon programme si ça intéresse des gens :

    import time
    from turtle import *
    setup(2000, 850, 0)
    color('red')
    width(3)
    nom = textinput("nom", "Veuillez saisir votre nom s'il vous plaît")
    up()
    goto(-700, -350)
    down()
    def av_forward():
        forward(1300)
        up()
        goto(0, 300)
        setheading(-90)
        down()
    
    
    def move_forward():
        forward(20)
        z = position()
        a = -350
        b = -380
        if z[1]   <= a:
            color('green')
            write ('bravo', font=("Arial", 30, "normal"))
            time.sleep(3)
            bye()
    def move_backward():
        backward(30)
    
    def turn_left():
        left(15)
    
    def turn_right():
        right(15)
    
    
    
    onkey(move_forward, 'Down')
    onkey(move_backward, 'Up')
    onkey(turn_left, 'Left')
    onkey(turn_right, 'Right')
    av_forward()
    listen()
    
    
    done()
    
    1
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    peut-être ainsi:
    write ('bravo', font=("Arial", 20, "normal"))
    0
  3. Multi73 Messages postés 95 Statut Membre 2
     
    Merci,
    Mais dans la ligne 21 du programme
        x = -350
    j'aimerai mettre x = -350 jusqu'à -380 mais je ne sais pas comment on dit "jusqu'à" en python.
    Pourriez vous me le dire ?
    Merci !
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      moi je changerais plutôt la ligne 22, pour tester que z[1] est entre -350 et -380.
      0
  4. Multi73 Messages postés 95 Statut Membre 2
     
    Ok merci mais pourriez vous m'écrire la ligne 22 car je ne sais pas comment on dit entre en python ?
    Merci
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      en général, quand on veut vérifier que x est entre a et b (si a est plus petit que b), on vérifie que x est plus grand que a et que x est plus petit que b.
      0
    2. Multi73 Messages postés 95 Statut Membre 2 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Ok merci je vais essayer !
      0
    3. Multi73 Messages postés 95 Statut Membre 2 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      plus petit ou plus grand c'est bien comme ça : > <
      Non ?
      0
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Multi73 Messages postés 95 Statut Membre
       
      peux-tu clarifier ta question, peut-être avec un exemple?
      0
    5. Multi73 Messages postés 95 Statut Membre 2 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      oui voici un bout de mon programme :
        z = position()
          a = -350
          b = -380
          if z[1]  (a> < b):
              color('green')
              write ('bravo', font=("Arial", 30, "normal"))
              time.sleep(3)
              bye()


      Voila mais mon programme me dit qu'il y a une erreur "syntax error".

      Pouvez vous me le rectifier svp ?
      0