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

On continue et termine notre petit jeu… qu’on finira lundi !

Notez bien que sans travail personnel en dehors des séances …

PAS DE SUCCES ENVISAGEABLE EN NSI

comme dans toute autre spécialité !!!

Donc AU BOULOT !!!!


Je vous ai concocté une petite aide :

Le tableau fait au milieu de la séance pour se repérer :
cm 2019-09-18 NSI Une aide pour réaliser le jeu - tableau pour se repérer_1

N.B : quel winner ce Mattéo !!

Le squelette proposé au recto peut être copié/collé ici :

from turtle import *   # pour les dessins
from random import randint   # pour tirer un nombre aleatoire -> de !

def carre(x,y,longueur,couleur):   # quatre arguments 
    up()           # lever le stylo
    goto(x,y)      # aller aux coordonnees du coin en haut a gauche (x,y) en argument
    down()         # stylo en position de dessin
    fillcolor(couleur)  # couleur est une chaine de caracteres comme "pink" en argument
    begin_fill()
    for i in range(4):
        forward(longueur)  # longueur est un nombre entier de pixels en argument
        right(90)
    end_fill()
    
def trace_de_v2(x,y,cote,couleur,chiffre): # c'est la meme fonction que la derniere fois
    carre(x-cote//2,y+cote//2,cote,"white")
    if chiffre%2 == 1 :   # pour les chiffres impairs : le reste en divisant par 2 fait 1
        carre(x-cote//10,y+cote//10,cote//5,couleur)
    if chiffre == 2 or chiffre == 3 :             # la diagonale pour deux et trois
        carre(x-13*cote//30,y-7*cote//30,cote//5,couleur)
        carre(x+7*cote//30,y+13*cote//30,cote//5,couleur)
    elif chiffre >= 4 :                           # les quatre coins
        carre(x-13*cote//30,y+13*cote//30,cote//5,couleur)
        carre(x-13*cote//30,y-7*cote//30,cote//5,couleur)
        carre(x+7*cote//30,y+13*cote//30,cote//5,couleur)
        carre(x+7*cote//30,y-7*cote//30,cote//5,couleur)
    if chiffre == 6 :                             # les deux centraux du six
        carre(x-13*cote//30,y+3*cote//30,cote//5,couleur)
        carre(x+7*cote//30,y+3*cote//30,cote//5,couleur)

def jeu_une_manche(hauteur):  # l'argument hauteur pour l'ordonnee ou tracer cette manche
    de_j_1=randint(1,6)       # tirer un de et stocker le resultat dans une variable
    # ici il nous faut encore trois tirages de_j_2, de_o_1 et de_o_2
    trace_de_v2(...,hauteur,...,"blue",de_j_1) # remplacer les pointilles
    # encore trois traces de des a faire ici
    up()
    goto(-70,hauteur-20) # l'endroit ou ecrire le texte
    down()
    if de_j_1 + de_j_2 > de_o_1 + de_o_2 : # le joueur gagne
        write("Gagne", font=("Arial", 24, "normal"))
        return 1 # valeur de retour si gagne -> 1 point
    elif ... + ... < ... + ... :
        # ici ecrire "Perdu" et renvoyer -1 point
    else :
        # traiter le dernier cas !

def jeu_de() :  
    # demander le prenom comme en seance de tout debut d'annee
    # demander le nombre de manches ... a mettre en nombre entier !
    speed("fastest")   # pour que ca aille plus vite
    # ici : tout effacer et ecrire bonjour avec le prenom du joueur
    hauteur=200    # la premiere hauteur
    score=0        # le premier score 😉
    for truc in range(nb_manches) :
        score += jeu_une_manche(hauteur) # ajoute a la variable score 1 ou -1 ou 0 
                                         # selon le resultat (return) de jeu_une_manche()
        # ici baisser la variable hauteur de 100 pixels dans la boucle
    
    # ici aller "en bas", sous les manches dessinees, pour conclure
    
    if score > 0 :
        write("Gagne " + joueur + " !", font=("Arial", 42, "normal"))
    # Traiter les deux autres cas
        
jeu_de() # on lance le jeu en appelant la fonction jeu_de()

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.