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

GUI Python Discussion :

[TOUS GUI] propositions d' exercices


Sujet :

GUI Python

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    hum....
    j'ai pas trop d'idée...
    tetris et demineur c'est déjà fait ...
    je suis allé voir du côté des jeux en flash, y a un truc sympa; si ça vous tente on essaye de faire un truc du même genre ?
    c'est ici : http://www.jeuxvideo-flash.com/jeu-9480-flashpiper.php

  2. #22
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 76
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par josmiley Voir le message
    @clic4:
    pourquoi utiliser des 'segments' plutôt que des Rects ? Ca complique un peu non ?
    des fois la balle traverse plusieurs briques, des fois elle reste bloquée contre une brique incassable ...
    Aaah mais clairement ! Quand je disais m'être lancé dans un énorme truc ce n'était pas des paroles en l'air. ^^ C'est la masse pour enfoncer la punaise
    En fait, j'ai commencé avec la méthode des rectangles mais je me suis rendu compte (ou alors j'ai mal réalisé la chose) que cela provoquait un décalage de la balle lors du rebond. Mon objectif était de replacer correctement la balle contre la brique après une collision afin d'éviter un maximum des effets visuels étranges comme des décalages ou des accélérations/ralentissements. D'où l'utilisation de segments et cercle pour trouver le/les points d'impacts précis...

    La où j'ai mal géré l'histoire c'est que ce système ne voit pas les collisions lorsque la balle se déplace trop vite, c'est-à-dire quand elle est inscrite dans une brique.
    Un autre bug est lié à mon système de rebond je pense. Habituellement j'utilise un autre algorithme plus "correct", particulièrement sur les coins des briques... enfin... tout ça pour dire une fois encore que je me suis perdu dans le code et qu'au final... voila, voila

    Je vote aussi pour toi, mais sous réserve de voir la proposition de afranck64, ehehe
    J'ai bien aimé le nom que tu as employé pour le casse-brique. Arnakoïd c'est le mélange entre arkanoïd et arnaque

    Edit: Pas vu le dernier message, zut ^^
    Moi ça me va bien oui, faudrait juste spécifier un peu les "règles" du jeu par écrit comme référence.

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    oké, attendons afranck64 ... ça nous fera une petite pause-méninge ^^

    Donc, comme le but est d'apprendre voilà un bref topo sur mon code:

    de façon à mieux gérer les collisions de la balle, par exemple avec une brique, il faut qu'elle avance très lentement, c'est à dire qu'elle ne se déplace que de 1 pixel maximum à chaque cycle, et la détection de la collision se fait avant le déplacement.
    Si la balle se déplaçait de 10 pixels à la fois (j'exagère exprès), soit celle-ci risque de se retrouver complètement imbriquée dans l'obstacle, soit la collision est détectée avant même que l'obstacle ne soit touché. Pas génant pour des jeux rapides, le cerveau s'arrange, mais bon ...

    Pour éviter trop de ralentis, la zone vide comprise entre, le palet, les murs, et la 1ere rangée de briques est ignorée de la détection de collision, vu qu'il n'y a rien à 'collisionner'.

    Si vous avez des questions, n'hésitez pas.

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    bon, en attendant j'ai fait ça:
    le but est de créer le 'pipe' entre le point rouge et le point bleu en pivotant les jonctions, le plus vite possible (vous avez 5 minutes) en moins de coup possible mais en créant un max de connections.

    nécessite pygame 1.9.1



    http://joel-murielle.perso.sfr.fr/pipe/circuit.py

  5. #25
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut Le voici enfin!
    Bonjour,

    Désolé de vous avoir autant fait attendre pour si peu! le résultat est plutôt minable mais bon...
    Voilà
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    arf, dommage que ça ne fonctionne que sous windows ...
    j'aurai aimé voir ça que ça peut donner avec Tkinter.

  7. #27
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut C'est dommage
    Bonsoir,

    josmiley, le problème c'est avec le winsound?
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    Citation Envoyé par afranck64 Voir le message
    Bonsoir,

    josmiley, le problème c'est avec le winsound?
    j'ai isolé la partie winsound, j'obtiens une tite fenêtre bleue claire après avoir choisit 'Demarrer Aventre' et ça s'arrête là
    bon, j'essaie de débugguer le truc...

    comment accélérer le mouvement du palet ?

  9. #29
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut Salut
    Bonsoir,

    Citation Envoyé par josmiley Voir le message
    comment accélérer le mouvement du palet ?
    Il te faut modifier les valeur de: "self.canev.move(self.me,nvlle_valeur,0)" dans les méthodes "left" et "right" de la classe "player"
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    Citation Envoyé par afranck64 Voir le message
    Bonsoir,
    Il te faut modifier les valeur de: "self.canev.move(self.me,nvlle_valeur,0)" dans les méthodes "left" et "right" de la classe "player"
    oui, mais non, faudrait modifier la vitesse de réaction et de répétition des touches en fait.

  11. #31
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut Salut
    Bonsoir,

    Citation Envoyé par josmiley Voir le message
    oui, mais non, faudrait modifier la vitesse de réaction et de répétition des touches en fait.
    J'aurais bien voulu mais le "repeatdelay" en Tkinter c'est uniquement pour Button,Scale,Spinbox et Scrollbar
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    Citation Envoyé par afranck64 Voir le message
    Bonsoir,
    J'aurais bien voulu mais le "repeatdelay" en Tkinter c'est uniquement pour Button,Scale,Spinbox et Scrollbar
    Alors on te laisse choisir le prochain exercice, comme ça se sera un truc faisable avec Tkinter
    à toi de jouer ! fais-nous cogiter !

  13. #33
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 76
    Points : 94
    Points
    94
    Par défaut
    Bien qu'un peu silencieux, je ne suis pas loin (le retour des beaux jours n'y est pas tout à fait étranger)

    J'ai tout de même trouvé un peu de temps hier après-midi pour réaliser ma version du jeu flash... qui mériterait évidemment quelques heures de boulot supplémentaires. ^^ Mais la base est posée et l'exercice toujours aussi formateur !
    Le terrain est généré aléatoirement ce qui n'est pas idéal pour régler la difficulté, mais ça reste plus rapide à mettre en place que de concevoir des niveaux sur mesure.

    Sinon, j'adore voir les différences de codages et d'approches, eheh. Par exemple, le style de joesmiley est vraiment concis. Ce n'est pas franchement lisible d'un premier regard mais il y a une certaine beauté dans l'optimisation (de mon point de vue).

    Je serais de retour lundi pour le prochain challenge !
    Fichiers attachés Fichiers attachés

  14. #34
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Bonjour,
    Salut à tous on pourrait pour cette fois faire un petit jeu de tir à l'arc: d'un côté on a un archer/arbalète/lance flèche et de l'autre on a des objets qui montent et descendent que l'on doit abattre. on pourrait également y ajouter un chrono décroissant et quelque objets qui oscillerait de gauche à droite sans trop se rapprocher du tireur...
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    @clic4:
    Enfin qq1 qui apprecie mon talent
    j'ai lancer ton code, quand on atteind la case verte, il ne se passe rien, le jeu continu comme si c'était une case normale.

    @afranck64:
    heu ... genre WII Sport ? ça me parait un peu pharaonique, non ?
    tu pourrais faire un dessin ?

  16. #36
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut Pour un peu +
    Bonjour,
    Excusez moi de ne vous avoir pas donné plus de détails la fois dernière.
    En fait le but c'est de monter une copie du jeu Archer:
    on a à gauche de l'écran un petit archer(muni de flèches bien entendu!) qui peut monter et descendre, et à droite des objets qui montent et descendent également, sauf que ceux ci peuvent(si on le veut bien pour corser le boulot de l'archer) faire de léger décalage horizontaux dans une zone restreinte à droite de l'écran. L'archer se doit alors de décocher des flèches pour détruire tous les objets situés à droite de l'écran

    J'ai pas d'affiche pour le moment, vous vous contenterez de ceci:

    #########################

    a----------------------- @------@ |
    aa==>-----------------------@----|
    a -----------------------@------@ |

    #########################

    @josmiley:
    Je cherche mais je ne trouve toujours pas de moyen pour coder le jeu "PIPE" faudrait que tu m'aides un peu.
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    Citation Envoyé par afranck64 Voir le message
    @josmiley:
    Je cherche mais je ne trouve toujours pas de moyen pour coder le jeu "PIPE" faudrait que tu m'aides un peu.
    bien sûr, tu veux savoir quoi ?

  18. #38
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Bonjour,
    J'espère que vous ne vous êtes pas un peu coincés comme moi!

    @Josmiley:
    Salut pour "PIPE": je pense faire des chemins pour conserver les ensembles allumés(listes de position/points... bon je réfléchi encore) mais je ne sais pas comment faire pour remettre au noir les blocs qui auront été désactivés après clic du joueur?
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    Citation Envoyé par afranck64 Voir le message
    Bonjour,
    J'espère que vous ne vous êtes pas un peu coincés comme moi!

    @Josmiley:
    Salut pour "PIPE": je pense faire des chemins pour conserver les ensembles allumés(listes de position/points... bon je réfléchi encore) mais je ne sais pas comment faire pour remettre au noir les blocs qui auront été désactivés après clic du joueur?
    en fait mon algo est assez naïf ...
    à chaque clic j'éteinds tout, je retrace le chemin depuis le point de départ et je test si le point d'arrivé est inclus dans le chemin.

  20. #40
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Bonsoir à tous
    en ce qui concerne le jeu Archer bon mon travail est plutôt minable. J'ai utilisé les WorkerQueue de pygame.threads et ça plante à tout bout de champ.

    bref voici le truc
    Pièce jointe 65507


    Par contre en ce qui concerne le jeu Pipes: c'est quelque chose de digeste et il y'a une surprise(cadeau) pour tous ceux qui traverserons le niveau 10 (bien entendu modifier le code pour gagner ça ne compte pas!). J'aimerais avoir votre avis sur la "surprise" du niveau 10+

    bon voici le lien
    Pièce jointe 65508

    Salut et @+
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

Discussions similaires

  1. Obtenir de l'aide pour tous les composants GUI
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 17/03/2009, 10h29
  2. [Exercice] Afficher tous les nombres
    Par zlatino dans le forum Pascal
    Réponses: 7
    Dernier message: 05/03/2009, 19h42

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