Un jeu de dés avec turtle (séance 1)

Faux départ ? Meilleur départ ?

La séance initiale de mercredi ne m’a pas apporté satisfaction.

Considérons la comme un faux-départ, pour lequel le prof serait fautif numéro un …

… et reprenons avec Dédé. Euh des dés.

Étape 1 : des dés

On veut dessiner ces dés avec le module turtle de python :

cm 2019-09-09 début avec turtle

Consignes : un programme devra toujours débuter par

from turtle import *

On peut alors utiliser les fonctions de turtle, par exemple :

  • up() -> lève le stylo
  • down() -> repose le stylo
  • forward(100) -> avance de 100 pixels
  • backward(taille) -> recule de taille pixels, où taille doit être déclaré avant
  • left(90) -> tourne de 90° « vers la gauche »
  • right(45) -> tourne de 45° « vers la droite »
  • fillcolor("red") puis begin_fill() et end_fill() entourant les tracés « remplissent » le contour en rouge
  • pencolor((1,0,1)) met la couleur du stylo en magenta
  • pencolor((0.1,0,0.1)) met la couleur du stylo en magenta très foncé
  • speed("fastest") accélère le tracé
  • circle(r) trace un cercle de rayon r, où r doit être déclaré avant

Commencer par tester et comprendre les fonctions de ce code :

from turtle import *

def exemple():
    goto(-100,-100)
    clear()
    fillcolor("green")
    begin_fill()
    forward(200)
    left(120)
    pencolor((1,0.5,0))
    forward(400)
    end_fill()

def etoile():
    clear()
    for i in range(8):
        forward(200)
        right(135)

#exemple()
#etoile()

A 11h30, on avait au troisième « rassemblement » ce bilan intermédiaire 😀

from turtle import *
from time import sleep
#speed("slowest")

def carre(x,y,longueur,couleur) :
    up()
    goto(x,y)
    down()
    fillcolor(couleur)
    begin_fill()
    for truc in range(4) :
        forward(longueur)
        right(90)
    end_fill()

def de(chiffre) :
    carre(-150,150,300,"white")
    if chiffre == 1 or chiffre == 3 or chiffre == 5 :
        carre(-30,30,60,"pink")
    if chiffre == 2 or chiffre == 3 :
        carre(-130,-70,60,"green")
        carre(70,130,60,"green")

for chose in range(1,7):
    print(chose)
    de(chose)
    sleep(1)
    clear()

Pour mercredi, finir au moins les six faces !



Proposition de corrigé donnée après le cours :

from turtle import *
from time import sleep
#speed("fastest")

def carre(x,y,longueur,couleur):
    up()
    goto(x,y)
    down()
    fillcolor(couleur)
    begin_fill()
    for i in range(4):
        forward(longueur)
        right(90)
    end_fill()

def trace_de(chiffre):
    carre(-150,150,300,"white")
    if chiffre%2==1 :
        carre(-30,30,60,"black")
    if chiffre==2 or chiffre==3 :
        carre(-130,-70,60,"black")
        carre(70,130,60,"black")
    elif chiffre >=4 :
        carre(-130,130,60,"black")
        carre(-130,-70,60,"black")
        carre(70,130,60,"black")
        carre(70,-70,60,"black")
    if chiffre == 6 :
        carre(-130,30,60,"black")
        carre(70,30,60,"black")

def test_trace_de() :
    for chose in range(1,7):
        clear()
        print(chose)
        trace_de(chose)
        sleep(1)

test_trace_de()


Mais pourquoi j’irais gratter Dédé pourquoi ?

N'hésitez-pas à poser une question, ou faire avancer le schmilblick

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.