Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#201 Le 26/02/2012, à 21:10

tshirtman

Re : /* Topic des codeurs [7] */

Dès que c'est un peu complexe en général on utilise du glade pour construire l'UI.

Dernière modification par tshirtman (Le 26/02/2012, à 21:10)

Hors ligne

#202 Le 26/02/2012, à 21:15

The Uploader

Re : /* Topic des codeurs [7] */

Ouais mais là c'est pas trop complexe encore. Puis bon c'est terminé, et je compte pas l'utiliser, donc ça risque pas d'évoluer.

C'est juste qu'en GTK c'est plus joli que tkinter... ça fait beaucoup moins "Windows 3.11 in da house! *yeux qui saignent* Endure it !" <_<

Dernière modification par The Uploader (Le 26/02/2012, à 21:17)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#203 Le 27/02/2012, à 00:15

Pylades

Re : /* Topic des codeurs [7] */

Hey, savez pourquoi mon sprite ne semble pas subir la rotation demandée ?

#!/usr/bin/python
#coding=utf-8

import sys
import pygame

def main():
    pygame.init()
    pygame.display.set_caption('Dejarik')
    screen = pygame.display.set_mode((480, 480))
    back = pygame.Surface(screen.get_size()).convert()
    back.fill((0, 255, 0))
    screen.blit(back, (0, 0))
    sprite = pygame.image.load('extern.png').convert_alpha()
    #screen.blit(sprite, (0, 0))
    pygame.transform.rotate(sprite, -30.0)
    screen.blit(sprite, (0, 0))
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                 pygame.quit()
                 sys.exit()
        pygame.display.flip()

if __name__ == '__main__':
    main()

Et si au passage, vous saviez comment colorer un sprite (genre j’ai une image avec du blanc et de l’alpha, je veux obtenir du rouge et de l’alpha), je vous serais reconnaissant de m’expliquer comment faire. big_smile


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#204 Le 27/02/2012, à 09:54

tshirtman

Re : /* Topic des codeurs [7] */

    pygame.transform.rotate(sprite, -30.0)

Il t'es venu à l'idée que ça pouvait renvoyer une nouvelle surface plutôt que faire le changement "en place"? (ou de lire la doc http://www.pygame.org/docs/ref/transfor … rm.rotate)

Pour la coloration, je crois qu'il n'y a rien de très simple, j'avais fais des manips avec les modes de blending pour jouer sur l'alpha de mes pngs, peut être que ça marcherais aussi pour ton cas.

Dernière modification par tshirtman (Le 27/02/2012, à 10:01)

Hors ligne

#205 Le 27/02/2012, à 14:34

Pylades

Re : /* Topic des codeurs [7] */

tshirtman a écrit :
    pygame.transform.rotate(sprite, -30.0)

Il t'es venu à l'idée que ça pouvait renvoyer une nouvelle surface plutôt que faire le changement "en place"? (ou de lire la doc http://www.pygame.org/docs/ref/transfor … rm.rotate)

Ouais, ça m’est venu à l’idée… ce matin. Mon cerveau doit toujours faire tourner des tâches de fond, parce que ça m’a soudainement traversé l’esprit, comme ça…

(Et oui, j’ai lu la doc avant… mais encore une fois, trop vite.)

Dernière modification par Πυλάδης (Le 27/02/2012, à 14:35)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#206 Le 27/02/2012, à 15:09

grim7reaper

Re : /* Topic des codeurs [7] */

ArkSeth a écrit :

Les gens d'Arpège, si vous êtes toujours partants, j'viens de poster deux (gros) posts sur le possible fonctionnement du truc. J'suis pas sûr d'avoir été très compréhensible, mais si vous y pigez quelque chose, j'veux bien vos avis sur la jouabilité et la programmabilité du truc.

Je suis toujours partant.
Je regarde ça et je commente sur le site dès que j’ai un moment, mais de toutes façons je ne serais sûrement pas dispo pour faire quoique ce soit avant 5 ou 6 semaines.

Hors ligne

#207 Le 27/02/2012, à 21:06

Elzen

Re : /* Topic des codeurs [7] */

Ah, moi justement y a le projet qui se termine, j'vais pouvoir souffler un peu (prochaine étape, le stage… on verra). J'vais au moins essayer de voir si je peux avancer dans la préconception dans l'intervalle, si t'as le temps de donner quelques réponses ^^ Je posterai quand je pourrai.

(Y a peut-être aussi Link Mauve qui serait intéressé à contribuer. Si kamui57 est toujours avec nous, ça veut dire qu'on est peut-être à peu près 4 big_smile)

(Bon, j'vais aussi pouvoir avancer un peu Touhy, dont la nouvelle révision sera publiée j'espère très prochainement. Et il faut que j'me remette à Gandhala avec Πυλάδης ^^)

Hors ligne

#208 Le 27/02/2012, à 21:48

Rolinh

Re : /* Topic des codeurs [7] */

Vous avez déjà une plateforme pour le développement? Je n'aurais pas le temps de contribuer en tant que codeur mais si mon colocataire de serveur est d'accord, je peux contribuer en proposant un chiliproject pour vous (cf: http://projects.gw-computing.net/.

Hors ligne

#209 Le 27/02/2012, à 22:21

Elzen

Re : /* Topic des codeurs [7] */

Je pensais juste ouvrir un dépôt git sur mon serveur perso… y a besoin d'autres trucs autour ? (/me débute en développement à plusieurs dans les règles de l'art)

Hors ligne

#210 Le 27/02/2012, à 22:26

Rolinh

Re : /* Topic des codeurs [7] */

Bah un dépôt est le minimum mais c'est toujours agréable d'avoir un bug tracker et un wiki + quelques autres outils sympas non? Après à vous savoir ce dont vous avez besoin, moi je vous propose juste une aide sous cette forme.

Hors ligne

#211 Le 27/02/2012, à 22:47

Elzen

Re : /* Topic des codeurs [7] */

Merci à toi ^^

Faut voir selon ce dont mes co-travailleurs estiment qu'ils vont avoir besoin et selon ce que je peux déployer rapidement chez moi, je n'exclue pas ta proposition, en tout cas wink

Hors ligne

#212 Le 28/02/2012, à 22:46

Etoma

Re : /* Topic des codeurs [7] */

Salut!
J'ai un petit problème de compréhension des boucles.
Voici le bout de code en question :

[print ("Willkomen")
tipp = 6
while tipp != 5 :
    t = input ("Erraten Sie der Zahl : ")
    tipp = int(t)
    if tipp < 5 :
        print ("Zu klein!")
    else :
        print ("Zu Groß!")
print ("Sie haben gewonnen")
print ("Auf wiedersehen")

Et voici ce que je ne comprends pas :
Lorsque la condition n'est plus vraie,  soit tipp == 5, ben ça imprime quand même "Zu Groß" alors que je devrai sortir directement d ela boucle et obtenir "Sie haben gewonnen".
sad


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#213 Le 28/02/2012, à 22:54

Pylades

Re : /* Topic des codeurs [7] */

Et bien non. C’est uniquement lorsque tu arrive à la fin de la boucle que la condition est testée. Donc tu termines le bloc et ça affiche « Zu Groß! », normal.

Tu devrais mettre le « Sie haben gewonnen » au sein de ta boucle et séparer les trois cas par une construction if/elif/else.

Dernière modification par Πυλάδης (Le 28/02/2012, à 22:54)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#214 Le 28/02/2012, à 22:57

Elzen

Re : /* Topic des codeurs [7] */

En fait, le code de la boucle est exécuté en entier avant de revenir au test de la condition.

Le truc n'est pas « omniscient », et ne va pas réévaluer ta variable à chaque fois qu'elle modifiée, sauf si tu lui demandes explicitement en mettant un test juste en dessous de l'affectation.

Ici, ton programme va commencer par évaluer la condition, entrer dans la boucle puisque celle-ci est vraie (tipp vaut six au départ, ce qui est différent de 5), puis lire l'entrée et convertir en entier, puis faire le test if/else, et ne revérifiera la condition qu'après la fin de ce test, quand il n'aura plus d'instructions pour la suite.

Edit : complément à la réponse de Πυλάδης : tu n'es en fait pas obligé de mettre le dernier « else », puisque tu sors de toute façon de la boucle lorsque la condition est évaluée et que tipp vaut 5. En revanche, il est bien nécessaire, pour conserver ce mode de fonctionnement, de mettre un « elif tipp > 5 » au lieu du « else » pour l'affichage de « zu groß », puisqu'au moment de ce test, tipp peut techniquement valoir 5, comme c'est le cas en pratique.

Sinon, je ne crois pas que groß prenne de majuscule ici wink

Dernière modification par ArkSeth (Le 28/02/2012, à 23:00)

Hors ligne

#215 Le 28/02/2012, à 22:58

The Uploader

Re : /* Topic des codeurs [7] */

Ben non c'est logique au début tipp vaut 6, il rentre dans la boucle. C'est après la fin du code de la boucle que la condition est évaluée à nouveau.

J'ai fait exactement le même type d'erreurs d'interprétation à mes débuts sur Amiga/Atari. Tu me rappelle des souvenirs. :')

Et sinon modifier la variable utilisée par ta boucle dans cette même boucle, perso je préfère éviter si c'est possible. Habituellement, c'est un nid à bugs.

Dernière modification par The Uploader (Le 28/02/2012, à 23:19)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#216 Le 28/02/2012, à 23:21

Etoma

Re : /* Topic des codeurs [7] */

Ok je lirai ca demain à tête reposé mais je crois avoir compris.
En fait, même si je pose la bonne question, je suis déjà dans la boucle, donc il est normal que je prenne le "Zu groß" .
Je pourrais faire un double if /else : genre ca :

[print ("Willkomen")
tipp = 6
while tipp != 5 :
    t = input ("Erraten Sie der Zahl : ")
    tipp = int(t)
    if tipp == 5 :
        print ("Sie haben gewonnen!")
    else :
        if tipp < 5 :
            print ("Zu klein!")
        else :
            print ("Zu groß!")
print ("Auf wiedersehen")

"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#217 Le 28/02/2012, à 23:27

Pylades

Re : /* Topic des codeurs [7] */

Exactement. Sauf que l’on préfère regrouper le else: if en un elif.


The Uploader a écrit :

Et sinon modifier la variable utilisée par ta boucle dans cette même boucle, perso je préfère éviter si c'est possible. Habituellement, c'est un nid à bugs.

Du calme, il utilise une boucle while, là, pas un for


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#218 Le 28/02/2012, à 23:29

Etoma

Re : /* Topic des codeurs [7] */

Elif, je connaissais pas.
Bon, par contre je comprends pas comment peut marcher une boucle si je change pas la variable dedans...  hmm


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#219 Le 28/02/2012, à 23:37

The Uploader

Re : /* Topic des codeurs [7] */

Pylade a écrit :

Du calme, il utilise une boucle while, là, pas un for…

C'est vrai. Mais même dans ce cas j'ai tendance à réduire les conditions/tests qui modifient cette variable au minimum et à les mettre toutes au même endroit. Voire à tenter d'éviter de faire un while et de résoudre mon problème de conception d'une autre manière.

Dernière modification par The Uploader (Le 28/02/2012, à 23:41)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#220 Le 28/02/2012, à 23:40

Etoma

Re : /* Topic des codeurs [7] */

Je commence juste à apprendre à programmer... Je connais pas d'autres solutions à while ...
smile

En tout cas, merci beaucoup pour l'aide rapide et complète!

Dernière modification par Etoma (Le 28/02/2012, à 23:41)


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#221 Le 28/02/2012, à 23:45

Rolinh

Re : /* Topic des codeurs [7] */

Typiquement comme dans un cas classique de boucle for auquel Pylade fait référence.
Exemple:

list = ["pomme", "banane", "poire"]
for fruit in list:
    print("Fruit courant " + fruit)

ou, plutôt que sur une liste, en C par exemple:

int i;
for (i = 0; i < 3; i++) {
    printf("valeur de i: %d", i);
}

Plus clair?

EDIT: essaie le bout de code de python dans l'interpréteur wink

Dernière modification par Rolinh (Le 28/02/2012, à 23:47)

Hors ligne

#222 Le 28/02/2012, à 23:45

The Uploader

Re : /* Topic des codeurs [7] */

Etoma a écrit :

Je commence juste à apprendre à programmer... Je connais pas d'autres solutions à while ...

Oui rien de plus normal de faire ce genre de code à ses débuts. J'en ai fait plein. wink

Quand je parle de "conception" j'parle de programmation objet (même si on peut faire du pseudo - objet avec un langage procédural comme le C). Python est un langage objet, mais il peut très bien servir à faire de la programmation procédurale (: ce que tu semble faire).

Dernière modification par The Uploader (Le 28/02/2012, à 23:46)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#223 Le 28/02/2012, à 23:51

Etoma

Re : /* Topic des codeurs [7] */

mmmh ok, je crois qu'il est temps de dormir là dessus! smile
Encore merci!


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#225 Le 29/02/2012, à 08:48

The Uploader

Re : /* Topic des codeurs [7] */

1330501711.png


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne