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. #1
    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 [TOUS GUI] propositions d' exercices
    bonjour à tous,
    en ce moment, je m'ennuie, y a rien à coder. Alors je me suis dis: "pourquoi ne pas s'ennuyer à plusieurs ? "
    Et comme je suis 'pygame addict' et que je sais qu'il y a de plus en plus de forumeurs ici qui s'intéressent à cette lib, mais qui se cachent .. je propose:
    - chaque semaine sera proposé un exercice simple, c'est à dire qu'il ne sagira pas de faire un jeu à 80 niveaux.
    - chaque participant ne postera q'une seule fois pour ne pas encombrer le thread mais pourra modifier son post hein .... de la façon suivante:
    ----- un ou des screenshots de taille raisonnable
    ----- un lien vers son fichier ou dossier compressé
    ----- un mini manuel

    - à la fin de la semaine on votera pour le meilleur, soit le meilleur rendu, la meilleur technique, la meilleur idée ... bref, celui qu'on aura préféré.
    le gagnant devra à son tour proposer un exercice.

    On pourra ainsi partager nos astuces, nos connaissances et nos méthodes.

    Bon je tente, on verra si ça prend
    ----------------------------------------------------------------------------------------------------------
    on commence facile:
    Faire une horloge, digitale ou analogique, avec des chiffres, des aiguilles, des pinguins qui pondent des oeufs ou ce que vous voulez en fait, mais faut que ça donne l'heure.
    Elle devra être à l'heure du systeme, c-à-d à la seconde près (mais pas au millième près hein ...)
    Possibilé de lancer le programme en ligne de commande avec des arguments, genre modifier la taille de la police, le background, etc ... d'où le mini manuel.

    Voilà, à vos claviers.
    En attendant vos réponses, je m'y mets dès demain.

  2. #2
    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
    Salut !

    En voila une bonne idée ! J'adore ce genre d'exercice/challenge, ça me rappelle lorsque je faisais de l'actionscript. Sur le forum mediabox il y avait une section "Battle" un peu dans le même goût, à l'exception près que l'on reprenait souvent le code du dernier concurrent pour apporter notre pierre à l'édifice. En somme, c'était un peu comme le jeu du cadavre exquis, mais en programmation. ^^

    Toujours est-il que je suis aussi un aficionados de pygame et que je dispose d'un tas de temps libre (ehehe). Je planche sur un truc dès lundi, j'ai déjà une chtite idée... ou plutôt une vieille idée abandonnée (eeh oui, j'adore recycler les idées ).

    Encore bravo pour cette initiative josmiley ! Il manque justement des espaces francophones traitant de pygame, c'est l'occasion de changer ça.

  3. #3
    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
    flip_ticks:



    //http://joel-murielle.perso.sfr.fr/flip_ticks/flip_ticks.zip

    options ...
    SIZE : taille de la fonte
    BGCOLOR : couleur du fond en hex
    FGCOLOR : couleur des chiffres en hex
    les args sont exec()utés, donc passés ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python flip_ticks.py SIZE=120 BGCOLOR=0x300000 FGCOLOR=0x000000

  4. #4
    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
    Pour cet exercice, je me suis fais plaisir en récupérant dans mes archives les formules pour faire de la vraie fausse 3D ! L'horloge est composée de deux cercles représentés par des "sphères", un pour les heures et un autre pour les minutes et les secondes.

    Par défaut, les deux cadrans sont orientés à 90 degrés l'un de l'autre. Vous pouvez néanmoins librement choisir les angles des deux cadrans à l'aide de commandes lors de l'initialisation du programme. Vous pouvez aussi modifier la vitesse et l'axe de rotation de l'horloge avec les touches x, y ou z et les flèches gauches et droites (x + flèches droites, etc.). Pour plus d'informations sur l'utilisation de ce script, regardez le fichier lisez_moi.rtf


    Horloge 3D


    Fichiers attachés Fichiers attachés

  5. #5
    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
    excellent !!! clic4,
    ok, l'heure est difficile à lire mais ce n'était pas une contrainte.

    vraiment excellent tu devrais le poster sur www.pygame.org

  6. #6
    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
    Merci !

    Clair, l'heure n'est pas toujours très lisible. Je pourrais sans doute modifier un peu le design pour améliorer cela, mais je dois avouer que c'est surtout le principe qui m'intéresse (y'a qu'a voir le fond, je ne me suis pas pris la tête longtemps, ehehe). Et puis, j'aime bien le concept d'instrument de mesure du temps approximative. ^^

    Perso, j'ai apprécié le code concis de ton horloge. Je suis pas certain d'arriver au même résultat en 100 lignes. Ca me fait penser au code du snake que tu as justement proposé sur pygame.org. Vraiment, du grand art ! Pour les curieux : http://www.pygame.org/project-snake-1482-2696.html
    Qui dit mieux ?

    Je posterais peut-être sur pygame.org, mais je dois avouer que la barrière de la langue m'ennuie un peu. Si je lis aisément l'anglais simple ou technique, je ne me sens pas à l'aise à l'écrit. A voir donc, sans doute le projet de jeu que je termine finira, lui, sur pygame... ça me donnera surement la motivation de placer ce code

  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
    Citation Envoyé par clic4 Voir le message
    Je posterais peut-être sur pygame.org, mais je dois avouer que la barrière de la langue m'ennuie un peu. Si je lis aisément l'anglais simple ou technique, je ne me sens pas à l'aise à l'écrit. A voir donc, sans doute le projet de jeu que je termine finira, lui, sur pygame... ça me donnera surement la motivation de placer ce code
    héhé, j'me sers de ça: http://translate.google.fr/#en|fr|

    j'hallucine en voyant la fluidité de ton horloge ...

  8. #8
    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
    Yep, mais je me méfie un peu des traducteurs en ligne... après, c'est sans doute moi qui ai trop de scrupules. Quand je vois des gars poster en espagnol, je me dis que mon mauvais anglais est pas si mal que ça

    Au sujet de la fluidité de l'horloge, c'est sûr que cela tourne mieux qu'à l'époque où j'ai découvert ces formules (notamment j'ai commencé ce projet sur flash, sans jamais vraiment l'aboutir). ^^
    Entre la puissance des machines actuelles, le passage à python/pygame (qui est franchement bien assez rapide pour une large palette de jeux) et la technique appropriée on peut créer des choses relativement puissantes.

    Je pense aussi que l'utilisation de la classe Moteur2D y est pour beaucoup. Avec cette méthode, la partie logique du programme, les calculs, etc. sont effectués moins souvent que l'affichage. De plus, à la différence de la méthode consistant à mettre en pause le programme avec un pygame.time.wait(50), le script tourne à une vitesse régulière quelque soit le temps d'execution de la logique. Personnellement, je suis fan de cette classe Moteur2D, elle constitue la base de tous mes jeux/applications créés avec pygame.

    On pourrait optimiser encore, par exemple en ne rafraichissant que les portions d'écran dont l'affichage est modifié ou en améliorant les calculs (réécriture des formules, remplacement des boucle for par des générateurs, etc.) mais comme le résultat était déjà satisfaisant, je suis resté sur un truc simple.

    Bon, je m'arrête là, je me rends compte que j'écris un pavé ^^ J'espère qu'on ennuie personne avec notre discussion.

  9. #9
    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
    Vu la performance, je pense que tout le monde est d'accord pour dire que tu as remporté ce premier défi.
    Tu peux donc proposer un nouveau challenge.
    Encore bravo

  10. #10
    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
    Alors, je vais rester volontairement simple hein ^^ Cela vaut mieux puisque l'objectif est de pouvoir écrire le code en l'espace d'une semaine.

    Je propose de nous atteler au classique casse-brique. Les graphismes sont simples, la logique du jeu bien connu et facile à implémenter... de quoi laisser libre cours à notre imagination pour ajouter une touche personnelle et/ou originale. Personnellement, je remarque avec étonnement que je n'ai jamais écris un tel jeu alors que le principe est simplissime !

    Objectif : Casse-brique.
    Elements minimums : un palet, une bille, briques destructibles et indestructibles.

    Le reste est laissé à votre appréciation : bonus, malus, timing de jeu, nombre de niveaux, etc.

  11. #11
    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
    hummm ...
    je m'y suis déjà essayé mais jamais abouti. Je bute à chaque fois sur la physique de la balle, notement le 'lift' sur le palet.

    Mais allons-y

  12. #12
    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
    pas beaucoup de participant,
    je me demande s'il ne faudrait pas ouvrir le sujet à toutes les lib ...
    Hey !! Postez vos codes même si vous n'utilisez pas Pygame.
    si un gentil modo pouvait retitrer le thread genre : [TOUS GUI] minis exercices, j'ai pas trouvé si c'était possible ... merci.

  13. #13
    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
    Prem's



    ARNAKOID

    use SPACE and ARROW KEYS

    ok, le code est vraiment trèèèèèèès sale, mon anglais est moisi; mais ça fonctionne.
    restent quelques bugs à corriger et des niveaux faire ...

  14. #14
    Membre habitué
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 142
    Points
    142
    Par défaut
    Super! J'adore joesmiley, j'aimerais bien participer mais j'ai pas encore assez d'expérience! Ca viendra

  15. #15
    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
    y a plus personne ?

  16. #16
    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
    Si, si !

    Mais cet exercice est franchement plus dur que je ne l'imaginais ^^ Mauvais choix de ma part... Simplissime, mon oeil ouaip, pour la gestion des collisions j'ai du ressortir des algorithmes bien plus compliqués que je ne pensais !

    J'ai plus ou moins terminé mon casse-brique mais force est de constater qu'il est encore plein de bugs... notamment y'a des balles qui entrent encore dans les briques et les rebonds sur celle-ci sont parfois.. ahem, enfin, voila quoi !

    Je poste ça ce soir ou cette aprèm, une fois que j'aurais nettoyé un peu le code parce que là c'est le mega bronx :p

    Vivement le challenge suivant que j'oublie cette horreur !

  17. #17
    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 je me lance
    D'accord Josmiley mais je ne m'en sort pas encore avec Pygame alors je le fait juste avec Tkinter!
    A plus
    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

  18. #18
    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
    Ben voilà...

    A franchement parler, je ne suis pas vraiment fier du résultat. Trop de bugs, manque de finitions, etc. J'ai l'impression de m'être lancé dans un énorme truc alors qu'il ne s'agit que d'un bête casse-brique.
    Et puis, en une semaine, faut gérer son temps et ce n'est pas toujours facile... mais trêve d'excuses, voilà le code ! :p

    Et bienvenue à toi afranck64 !
    Fichiers attachés Fichiers attachés

  19. #19
    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
    le class sprite contient tout ce qu'il faut pour ce genre de jeu mais j'ai trop la flemme de l'apprendre.

    je vote pour moi ^^

    @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 ...

  20. #20
    Membre habitué
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 142
    Points
    142
    Par défaut
    moi j'attend un prochain défis :p

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