- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte personlive_helpToutes les questions
Issiaka
28 août 2023 - 28 août 2023 à 18:49
checkConversation résolue
1 réponse
bonjour. je voulais vous exposer ma version pour voir si elle est optimiser et ce que vous en pensee
``` import random import os rules = """\t📜RULES📜 1) Le jeu comporte deux joueurs, donc vous et un ennemi 2) Vous, comme le joueur, vous commencez avec le même nombre …
00:00:00 :Pour la structure du jeu, vous voyez que c'est assez logique, si vous avez écrit toutes lesétapes avant de les faire en code, normalement vous devriez arriver à quelque chose d'assezsimilaire. Tout ce qu'on a fait ici en Python, c'est juste l'expression de la logique de jeu
00:00:15 :qui était décrite dans l'énoncé. Après il faut savoir bien entendu traduire toutes ces étapes,donc par exemple soustraire des points de vie qu'on va faire avec "-=", faire des vérificationsqu'on va faire avec des structures conditionnelles, donc des if, des else, faire une boucle avec lewhile, donc toute cette logique que l'on va faire dans notre jeu et qui peuvent être traduites à
00:00:34 :partir d'un énoncé en français. Donc avant de vous laisser, on va quand même tester que toutfonctionne, donc je vais lancer le script et on va voir si mon projet fonctionne, c'est le casnormalement puisque je l'ai testé avant d'enregistrer cette vidéo. Donc on me demande déjà si je
00:00:47 :souhaite attaquer ou utiliser une potion, on va tester donc déjà autre chose que ces deux optionspour voir si ça fonctionne. Donc là ça fonctionne dans le sens où ça ne fonctionne pas, si vous me
00:00:56 :comprenez, c'est à dire que ça ne fait pas planter le script, ça me raffiche le choix puisque j'ai faitun choix qui n'était pas valide. Donc là tant que je mets quelque chose qui n'est pas valide, on me
00:01:04 :repose la question. Si j'ai quelque chose de valide, donc par exemple avec le 1, qui va me permettred'attaquer, on va calculer les points de dégâts que j'inflige, donc dans ce cas-ci 8 points de dégâtsà l'ennemi. On va vérifier ensuite si l'ennemi est toujours vivant ou non, là comme on a des points
00:01:19 :qui sont compris entre 5 et 10 et que l'ennemi a 50 points de vie, et bien c'est impossible de letuer dès le premier tour, donc forcément on ne peut pas passer dans cette structure ici, donc lastructure qui indique que j'ai gagné, voilà celle-ci ici, puisque les points de vie sont encore
00:01:31 :supérieurs à 0. Donc dans ce cas-ci l'ennemi attaque, lui il m'a infligé 7 points de dégâts, donc ilm'en reste 43, l'ennemi 42. On a bien cette ligne qui s'affiche entre les différents tours qui me
00:01:41 :permet de séparer les choses et d'y voir un peu plus clair, et je vais pouvoir continuer donc lesboucles comme ceci. Donc je vais attaquer de nouveau, 9 points pour les deux, donc j'ai encore un peu
00:01:50 :plus de points de vie que lui, je continue d'attaquer, je continue encore d'attaquer, alors il m'enreste encore pas mal, je vais continuer d'attaquer, et là vous voyez qu'il m'a infligé pas mal plusde points de dégâts que moi, donc là je suis en mauvaise posture, j'ai 7 points de vie, lui il en a
00:02:03 :10, donc on va utiliser une potion et on va par la même occasion vérifier que je passe bien montour. Donc j'utilise l'option numéro 2, j'ai utilisé l'option numéro 2 ici, ça a fait en sorte qu'on
00:02:14 :a récupéré des points de vie, donc j'ai récupéré 34 points de vie, il me reste 2 potions, donc c'estlogique, on commence avec 3, j'en ai utilisé une donc il ne m'en reste plus que deux, l'ennemiensuite m'affiche des points de dégâts, donc on affiche ensuite les points qu'il me reste, donc il
00:02:28 :m'en reste 35 et 10 pour lui, on a bien le tour qui est passé, donc vous passez votre tour, donc çac'est normal, l'ennemi qui attaque, lui il ne passe pas son tour, il attaque à tous les tours, donc ilattaque, on est à 24-10, donc là je vais continuer d'attaquer et j'ai gagné puisque j'ai infligé
00:02:42 :précisément 10 points de dégâts et il ne restait plus que 10 points de vie à l'ennemi, donc là onest rentré dans cette condition, puisque ennemi health était dans ce cas-ci égal à 0 et là lacondition c'est inférieur ou égal à 0, donc on est passé dans cette condition, on a affiché tu as
00:02:56 :gagné, on a fait un break qui nous permet de sortir de la boucle et on affiche fin du jeu et voilàj'ai gagné la partie. Donc voilà pour ma solution à ce projet, ce projet de jeu de rôle, vous voyez
00:03:06 :qu'avec la façon dont on a créé nos variables ici, c'est assez facile de tester différentesconfigurations, avec par exemple un ennemi qui aurait moins de points de vie ou plus de points devie ou avec un nombre de différentes potions, on pourrait même penser récupérer ces valeurs ici,donc le 5 et le 15 qui est l'étendue en fait de l'attaque que peut infliger l'ennemi et pareil
00:03:25 :avec mon tour ici, donc si je vais dans l'attaque avec le user choice qui est égal à 1, voilà 5 et10, on pourrait penser à mettre ces valeurs, donc le 5 et le 10 et le 5 et le 15 ici, dans desvariables globales qu'on mettrait au début de notre script, comme ça ce serait encore plus facile de
00:03:38 :tester avec différentes étendues pour mon attaque et pour l'attaque de l'ennemi, donc ça c'estquelque chose qu'on fait assez régulièrement, de mettre toutes les valeurs qui peuvent êtremodifiées tout au début de notre script pour ne pas avoir à aller fouiller à l'intérieur duscript pour modifier ces valeurs qui peuvent nous faire tester différentes configurations
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.