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 :

Projet tetris en python


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Projet tetris en python
    Bonsoir,

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 046
    Points : 1 376
    Points
    1 376
    Par défaut
    yop,
    avec une fonction qui redessine entièrement le tableau ça serait plus simple ...

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Points : 3
    Points
    3
    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 expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 046
    Points : 1 376
    Points
    1 376
    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
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Je vais essayer, merci pour la réponse!

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Points : 3
    Points
    3
    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 expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 046
    Points : 1 376
    Points
    1 376
    Par défaut
    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
    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
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour ton code.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/07/2010, 16h09
  2. appel projet C# depuis Python
    Par GlamIS dans le forum Interfaçage autre langage
    Réponses: 0
    Dernier message: 13/10/2009, 11h00
  3. Configuration Projet Visual C++/Python
    Par juli3nh dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 06/08/2007, 15h41
  4. [Jeux] Projet tetris dessiner la grille
    Par tortuegeniale65 dans le forum Graphisme
    Réponses: 4
    Dernier message: 01/05/2006, 23h55

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