aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 2010
-
8 mai 2007 à 12:00
Shakan972
Messages postés43Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention17 avril 2015
-
22 mai 2007 à 03:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Shakan972
Messages postés43Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention17 avril 2015 22 mai 2007 à 03:49
Je te remerçie de tes encouragements et je tacherai dans tirer un certain enseignement pour avancer dans ce domaine que j'aime et je veux bien sûr parler de la programmation.
Sinon sache que si j'ai dit ne pas t'avoir trop dégouté c'est justement parce que je sais que je n'avais respecté aucune règle préalable dans la réalisation de ce projet mais je suis content que tu me l'ai rappelé car il n'y a rien de plus utile qu'une bonne méthode pour réussir quelque chose en l'occurence un bon projet en programmation.
Sinon je te souhaites bonne chance à toi aussi et au plaisir de lire tes messages sur cette partie du site ;)
TMONOD
Messages postés256Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 6 novembre 20091 21 mai 2007 à 21:58
En fait pour tout te dire, c'est mon métier et j'en vis plutôt bien. Même s'il est vrai que je ne suis pas du tout dans la branche "jeux" et interfaces graphiques mais dans des trucs moins drôles comme la compta et le contrôle de gestion.
Je connais bien au moins 10 langages de prog et j'ai un "vernis" de connaissance sur au moins une dizaine d'autres...
Même s'il n'est pas du tout (du tout) académique, ton style de programmation démontre une certaine capacité à trouver des solutions à des problèmes abstraits, une opiniatreté à aller jusqu'au bout de ce que tu commences.
...reste plus qu'à prendre quelques cours et à prendre un peu de bouteille et tu ira loin !!!
Bonne chance.
Shakan972
Messages postés43Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention17 avril 2015 17 mai 2007 à 04:38
J'en suis vraiment navré à l'avenir je ferais en sorte de coder de manière plus claire et plus explicite sur ce j'espère ne pas t'avoir trop dégouté de la programmation ;)
TMONOD
Messages postés256Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 6 novembre 20091 16 mai 2007 à 21:33
Bonsoir,
Bon, je jette l'éponge le code de Shakan972 est vraiment trop penible à analyser :
variables globales re-déclarées 4 fois, mélange entre les fonctions de Tk et la logique du jeu etc...
En fait, pour refaire tout ca dans les règles de l'art, il faut TOUT refaire, donc, pas drôle, donc je jette l'éponge (bis).
Tchuss
TMONOD
Messages postés256Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 6 novembre 20091 13 mai 2007 à 16:40
Hello tout le monde,
En fait, j'ai laissé de côté Python depuis quelques temps pour revenir à ruby et samlltalk et la lecture de ce prog m'a fait byzare.
Même si je suis d'accord qu'on n'est pas obligé d'utiliser du c4 pour tuer une mouche, je pense malgré tout que s'avoir décomposer un problème et l'organiser permet de le resoudre à 80%.
Je viens de passer 3 heures sur le code de Shakan972 à essayer de mettre à plat une approche différente, en expliquant chaque étape, et j'ai pris beaucoup de plaisir à découvrir les "astuces" qu'il a choisis pour faire tourner son appli. L'informatique est aussi riche que la philosophie pour découvrir l'âme humaine et on ne dit jamais assez que c'est un art.
Trève de bavardages, je termine le "reingeneering" de ce trés noble Space Invaders et j'espère que d'autres prendront le temps de plancher dessus, la page python de ce site a besoin d'un peu de "sang neuf" !!
A bientôt donc...
Shakan972
Messages postés43Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention17 avril 2015 12 mai 2007 à 16:47
Merçi de tes félicitations ça fait toujours plaisir ;)
Faut dire que j'ai la sale habitude de ne pas finir un chapitre sans avoir fini tous les exercices qui vont avec d'où le fait que je n'ai pas terminé le livre et puis si en plus je me rajoute des épreuves comme ce jeu ben je suis pas prêt de voir le bout :D
Bref merçi !!
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 12 mai 2007 à 16:37
Au faite, Shakan972 je voullais te felliciter pour ce travail : en être arrivé à faire ce jeu en étant au chapitre 9 du cour de Gérard Swinnen, c'est remarcable. J'ai fini le livre et je suis long de savoir faire un tel jeu aussi bien.
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 12 mai 2007 à 16:35
Tu peut être un peut brutale TMONOD quand tu parles des "mauvaises habitude de programmation" : ici, l'utilisation de classes n'est pas indispensable, bien qu'elle accéléreraient le jeu. On peut discuter longtemps sur le fait d'utiliser des classes ou plutôt les fonctions, mais sache que pour ce genre de jeu, je n'utiliserais pas non plus de classes (trop de travail :) il faut savoir rester simple parfois !). Pareil, je pense qu'il ne faut pas séparer la logique du jeu et l'interface, ça n'a aucun sens, même pour le passage sous WxPython ou autre : c'est complettement différent de Tkinter (au passage, si tu pouvez nous expliquer comment tu fais parce que la je vois pas comment on peut le faire). Par contre tu a raison quand tu parles des fonctions que l'on pourrait répété, l'a, je doit dire que c'est tout de même dommage, on pouvait faire quelque chose de bien. Très bonne idée que celle du "mini concours d'optimisation du code". Bon courrage à tous et j'espère que certaine personne présenterons des programmes interressants !
_____
Aéra
Shakan972
Messages postés43Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention17 avril 2015 12 mai 2007 à 15:54
La vérité c'est que je savais très bien que ce programme méritait une optimisation poussée d'où le fait de l'avoir commenté au maximum déjà j'avais pensé qu'il aurait fallut utiliser les classes car ce genre de procédé que sont les classes semble ma foi bien plus adapté et plus correcte d'utilisation dans ce genre de projet.
Le problème étant que je n'ai pas encore abordé les classes qui plus est je ne connais aucune bibliothèques graphiques pour python omis Tkinter, c'est un fait donc je sais très bien que mon code est un foutoir notable j'en suis conscient à 100% mais j'ai tout de même limité la casse en commentant au maximum et cela il faut bien l'admettre.
La notion de fonction est donc la notion qui m'a le plus aidé dans ce projet bien entendu le code mérite d'être raccourci mais n'ayant pas encore une fois les notions suffisantes pour répondre à ce problème j'ai donc présenté le programme tel quel.
Certes il est long mais comme tu dis il fonctionnes mais comme tu dis il y a des défauts apparents j'en prends note et j'y réfléchirai.
Mais saches que j'ai réalisé ce programme avec les notions acquises au cours des 9 premiers chapitres du livre de Gérard Swinnen donc voilà.
Ce n'est pas une excuse valable pour expliquer mes erreurs mais il y a une part de la raison qui fait que le code soit présenté comme il t'est présenté actuellement donc en espérant qu'il puisse néanmmoins servir de source d'inspiration je suis tout de même content d'avoir posté cette source ici.
@+ et bon coding !! :)
TMONOD
Messages postés256Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 6 novembre 20091 12 mai 2007 à 12:22
Bonjour,
Même si le résultat fonctionne bien, (même si c'est un peu lent ;)) il y a beaucoup à dire sur l'optimisation du code et les mauvaises habitudes de programmation :
- Pas de programmation objet, rien que des methodes
- pas de séparation de la logique du jeu et de l'interface (comment faire si on veux adapter le jeu en wx, qt ou gtk ?)
- des instructions comme celle ci :
can.delete(EnnemiBonus[0])
can.delete(EnnemiBonus[1])
can.delete(EnnemiBonus[2])
can.delete(EnnemiBonus[3])
ne peuvent-elles pas être mises dans une boucle ?
- même genre de remarque pour :
Ennemi_Categorie1()
Ennemi_Categorie2()
Ennemi_Categorie3()
imagine le boulot quand on voudra ajouter un Ennemi_categorie4...;
Les points positifs :
- Source trés bien commentée
- noms des variables explicites
- Design tout à fait correct
Si ca amuses quelqu'un je propose un mini concours d'optimisation du code de ce jeu sans qu'il n'y ait aucune modification de l'aspect visuel et de la logique du jeu !!
...allez ! je me lance de mon côté ! à bientôt
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 8 mai 2007 à 12:00
Très bonne source bravo, il n'y a rien à dire je met 10 sans aucune ésitation !!!
Bonne continuation et encore bravo
______
Aéra
22 mai 2007 à 03:49
Sinon sache que si j'ai dit ne pas t'avoir trop dégouté c'est justement parce que je sais que je n'avais respecté aucune règle préalable dans la réalisation de ce projet mais je suis content que tu me l'ai rappelé car il n'y a rien de plus utile qu'une bonne méthode pour réussir quelque chose en l'occurence un bon projet en programmation.
Sinon je te souhaites bonne chance à toi aussi et au plaisir de lire tes messages sur cette partie du site ;)
21 mai 2007 à 21:58
Je connais bien au moins 10 langages de prog et j'ai un "vernis" de connaissance sur au moins une dizaine d'autres...
Même s'il n'est pas du tout (du tout) académique, ton style de programmation démontre une certaine capacité à trouver des solutions à des problèmes abstraits, une opiniatreté à aller jusqu'au bout de ce que tu commences.
...reste plus qu'à prendre quelques cours et à prendre un peu de bouteille et tu ira loin !!!
Bonne chance.
17 mai 2007 à 04:38
16 mai 2007 à 21:33
Bon, je jette l'éponge le code de Shakan972 est vraiment trop penible à analyser :
variables globales re-déclarées 4 fois, mélange entre les fonctions de Tk et la logique du jeu etc...
En fait, pour refaire tout ca dans les règles de l'art, il faut TOUT refaire, donc, pas drôle, donc je jette l'éponge (bis).
Tchuss
13 mai 2007 à 16:40
En fait, j'ai laissé de côté Python depuis quelques temps pour revenir à ruby et samlltalk et la lecture de ce prog m'a fait byzare.
Même si je suis d'accord qu'on n'est pas obligé d'utiliser du c4 pour tuer une mouche, je pense malgré tout que s'avoir décomposer un problème et l'organiser permet de le resoudre à 80%.
Je viens de passer 3 heures sur le code de Shakan972 à essayer de mettre à plat une approche différente, en expliquant chaque étape, et j'ai pris beaucoup de plaisir à découvrir les "astuces" qu'il a choisis pour faire tourner son appli. L'informatique est aussi riche que la philosophie pour découvrir l'âme humaine et on ne dit jamais assez que c'est un art.
Trève de bavardages, je termine le "reingeneering" de ce trés noble Space Invaders et j'espère que d'autres prendront le temps de plancher dessus, la page python de ce site a besoin d'un peu de "sang neuf" !!
A bientôt donc...
12 mai 2007 à 16:47
Faut dire que j'ai la sale habitude de ne pas finir un chapitre sans avoir fini tous les exercices qui vont avec d'où le fait que je n'ai pas terminé le livre et puis si en plus je me rajoute des épreuves comme ce jeu ben je suis pas prêt de voir le bout :D
Bref merçi !!
12 mai 2007 à 16:37
12 mai 2007 à 16:35
_____
Aéra
12 mai 2007 à 15:54
Le problème étant que je n'ai pas encore abordé les classes qui plus est je ne connais aucune bibliothèques graphiques pour python omis Tkinter, c'est un fait donc je sais très bien que mon code est un foutoir notable j'en suis conscient à 100% mais j'ai tout de même limité la casse en commentant au maximum et cela il faut bien l'admettre.
La notion de fonction est donc la notion qui m'a le plus aidé dans ce projet bien entendu le code mérite d'être raccourci mais n'ayant pas encore une fois les notions suffisantes pour répondre à ce problème j'ai donc présenté le programme tel quel.
Certes il est long mais comme tu dis il fonctionnes mais comme tu dis il y a des défauts apparents j'en prends note et j'y réfléchirai.
Mais saches que j'ai réalisé ce programme avec les notions acquises au cours des 9 premiers chapitres du livre de Gérard Swinnen donc voilà.
Ce n'est pas une excuse valable pour expliquer mes erreurs mais il y a une part de la raison qui fait que le code soit présenté comme il t'est présenté actuellement donc en espérant qu'il puisse néanmmoins servir de source d'inspiration je suis tout de même content d'avoir posté cette source ici.
@+ et bon coding !! :)
12 mai 2007 à 12:22
Même si le résultat fonctionne bien, (même si c'est un peu lent ;)) il y a beaucoup à dire sur l'optimisation du code et les mauvaises habitudes de programmation :
- Pas de programmation objet, rien que des methodes
- pas de séparation de la logique du jeu et de l'interface (comment faire si on veux adapter le jeu en wx, qt ou gtk ?)
- des instructions comme celle ci :
can.delete(EnnemiBonus[0])
can.delete(EnnemiBonus[1])
can.delete(EnnemiBonus[2])
can.delete(EnnemiBonus[3])
ne peuvent-elles pas être mises dans une boucle ?
- même genre de remarque pour :
Ennemi_Categorie1()
Ennemi_Categorie2()
Ennemi_Categorie3()
imagine le boulot quand on voudra ajouter un Ennemi_categorie4...;
Les points positifs :
- Source trés bien commentée
- noms des variables explicites
- Design tout à fait correct
Si ca amuses quelqu'un je propose un mini concours d'optimisation du code de ce jeu sans qu'il n'y ait aucune modification de l'aspect visuel et de la logique du jeu !!
...allez ! je me lance de mon côté ! à bientôt
8 mai 2007 à 12:00
Bonne continuation et encore bravo
______
Aéra