Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Invité de passage
    Homme Profil pro Eric Tatti
    Inscrit en
    octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric Tatti
    Localisation : Suisse

    Informations forums :
    Inscription : octobre 2011
    Messages : 5
    Points : 1
    Points
    1

    Par défaut Projet tetris en python

    Bonsoir,

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 761
    Points : 899
    Points
    899

    Par défaut

    yop,
    avec une fonction qui redessine entièrement le tableau ça serait plus simple ...

  3. #3
    Invité de passage
    Homme Profil pro Eric Tatti
    Inscrit en
    octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric Tatti
    Localisation : Suisse

    Informations forums :
    Inscription : octobre 2011
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Pour ce qui est de dessiner le tableau, mon professeur nous a donné les bases du programme puis notre but est de le compléter en utilisant ce qu'il a marqué.

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 761
    Points : 899
    Points
    899

    Par défaut

    je comprends mieux,
    il faut "scanner" la liste 'occupe' à la recherche d'une ligne ne contenant que des 'True' avec all().
    ensuite supprimes cette ligne et ajoutes une ligne vide avec occupe.append([False]*10)
    effaces entièrement ton canvas et redessines-le suivant la nouvelle liste 'occupe'

  5. #5
    Invité de passage
    Homme Profil pro Eric Tatti
    Inscrit en
    octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric Tatti
    Localisation : Suisse

    Informations forums :
    Inscription : octobre 2011
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Je vais essayer, merci pour la réponse!

  6. #6
    Invité de passage
    Homme Profil pro Eric Tatti
    Inscrit en
    octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric Tatti
    Localisation : Suisse

    Informations forums :
    Inscription : octobre 2011
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    J'ai essayé mais je n'arrives pas à effacer et rajouter une ligne dans le canvas, comment faire? merci

  7. #7
    Membre émérite
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 761
    Points : 899
    Points
    899

    Par défaut

    Code :
    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
    def jouer():
        global c,nb
        nb+=1
        if (len(c)==0) : c.append(Carre())
        if (c[len(c)-1].enPlace):
            for e,ligne in list(enumerate(occupe))[-2::-1]: # on scanne la liste excepté la ligne de fin
                if all(ligne): # si la ligne est pleine
                    del(occupe[e]) # on l'efface
                    occupe.insert(0,[False]*10) # et on ajoute une vide(pas avec append hein ...)
            del(c[:]) # on efface la liste des carrés
            c.append(Carre()) # avant d'en ajouter d'autres
            # ici on devrait redessiner le canvas
            # si les couleurs sont amenées à changer
            # vaut mieux remplir 'occupe' avec des valeurs de couleur plutôt que des True
        for ctemp in c :
            ctemp.descend()
        # test la fin du jeu
        fin=False
        for i in occupe[0]:fin=fin or i
        if not fin:
            # boucle dans le jeu avec un intervale de 800ms
            fen1.after(800,jouer) # permet d'éviter d'utiliser les Threads
        else:
            if messagebox.askokcancel("The end!","C'est fini, t'as perdu hahahaha!! :D:D                          Veux-tu rejouer???? ;)"):
                can1.delete(ALL)
                for i in range(0,15): occupe.append([False]*10)
            else:
                fen1.destroy()
    ensuite je ne connais pas Tkinter, je ne sais donc pas redessiner le canvas ...

  8. #8
    Invité de passage
    Homme Profil pro Eric Tatti
    Inscrit en
    octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric Tatti
    Localisation : Suisse

    Informations forums :
    Inscription : octobre 2011
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Merci pour ton code.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •