Bonjour à toutes et à tous,
J'ai 17 ans et j'ai commencé Python il y a 2-3 mois, donc un peu d'indulgence
merci :)
Je tiens à préciser que ceci est mon premier post sur ce site, et également mon
premier jeu créé entièrement par mes soins.
C'est une première version et je continuerai à l'améliorer, donc n'hésitez pas à
me dire ce qu'il y a à corriger, à ajouter ou à supprimer.
PS: Vous remarquerez certainement qu'à la fin d'une partie,
la fenêtre demandant si vous voulez rejouer ou non afficher 2 boutons qui
quitteront l'application dans les 2 cas. La raison est que je n'arrive pas à
réinitialiser complètement la fenêtre 'Interface', et également avoir un nouvel
adversaire.
Le tout à été codé en python à l'aide de Tkinter.
Pour toute question, remarque ou aide par rapport à ce code, n'hésitez pas à
à commenter ci-dessous !
Merci.
9 avril 2014 à 23:08
Sinon, comme autre interface graphique, tu trouveras tout ce que tu veux ici :
https://wiki.python.org/moin/GuiProgramming
Mais je conseille vivement de commencer en utilisant tkinter (qui a deux gros avantages : built-in et multiplateforme), c'est super pour apprendre à programmer avec interface graphique.
9 avril 2014 à 23:01
Depuis le début je pensais que j'étais en python 3 (ce serait logique qu'il soit nativement installé), honte sur moi !
JSON est vraiment intéressant, je te l'accorde :)
J'aurais une dernière question au niveau des interfaces graphiques.
Me conseillerait-tu de continuer avec tkinter, ou de me pencher vers d'autres bibliothèques plus élaborées? (Si compatibles avec python 3 qui est à présent installé bien évidemment !)
Encore un grand merci !
9 avril 2014 à 22:49
Ton jeu est très facile à retranscrire en Python 3 (seulement 3 ou 4 lignes à changer)
Voici les changements à effectuer :
Et voilà, très simple comme j'avais dit :)
9 avril 2014 à 22:39
Pour ce qui est de Python 2 vs. Python 3 :
[ Source : https://wiki.python.org/moin/Python2orPython3 ]
(Il faut déjà dire que python.org conseille aux pythonneurs débutants d'apprendre Python 3 si possible.)
Python résume de cette manière ci :
"Short version: Python 2.x is legacy, Python 3.x is the present and future of the language"
Dans l'article cité, ils expliquent que le désavantage de Python 3 par rapport à Python 2 est que certains modules ne sont pas disponible et qu'il y a moins de tutos/docs en Python 3. Cependant, ce n'est plus tout à fait exact, surtout depuis les "Unofficial Packages" (http://www.lfd.uci.edu/~gohlke/pythonlibs/), des modules retranscris en Python 3 par de bons samaritains !
Lorsque j'ai appris Python 3, il y a maintenant un peu plus d'un an, il y avait très peu de tutos/docs et souvent j'étais bloqué car un module existait en Python 2 mais pas en Python 3. Aujourd'hui (avril 2014), tout cela a bien changé et Python 3 est bien plus populaire, il est rare de ne plus trouver le module que l'on cherche.
De plus, Python 3 a maintenant des modules par défaut (built-in) superbes que Python 2 n'a pas !
Python 3 continuera d'évoluer tandis que l'évolution de Python 2 s'arretera un de ces quatre.
Bref, je te recommande de passer à Python 3, tant que tu es au début (un peu s'adapter aux petites différences de syntaxes et la pilule est passée :)).
9 avril 2014 à 22:24
JSON (JavaScript Object Notation) est une manière d'encoder les données "style javascript", TRES à la manière dont on les encode en Python (c'est pourquoi je te conseille JSON).
Pour faire clair :
Plutôt que d'écrire dans un script .py
Crée un fichier "fichier.json" dans lequelle tu colle ceci:
Puis charge la variable dans ton script Python comme ceci :
Tu pourras donc en une seule ligne de code Python charger une base de donnée aussi grande que tu veux (stockée dans ton fichier JSON). Le plus gros avantage de la méthode est que si tu désire modifier ta variable (rajouter une arme par exemple), il te suffit d'ouvrir ton .json et d'y rajouter l'arme !
Note : les accolades - "{" et "}" - désigne un dictionnaire. Un dictionnaire est comme une liste mais plutôt que de faire correspondre une variable à un indice, il fait correspondre une variable à une variable de valeur (généralement une chaine de caractère).
Un exemple :
Dans ton code, tu as ceci :
Une manières plus facile et beaucoup plus lisible serait d'utiliser un dictionnaire :
Vu que mon post est assez long et que codes-sources me limite en longueur, je vais créer un deuxième post pour expliquer les principales différences entre Python 2.x et Python 3.x
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.