Résolue

Utilisation de variables globales

# Exercices # Variables

Bonjour,
je ne comprends pas bien l'utilisation de variables globales ici. En effet pacdev expliquait lors d'un des exercices précédents que si la variable était amené à ne PAS être modifiée alors on utilisait une variable globale.
Or sur cet exercices que ce soit les pv ou le stock de potion ou même le skip_turn ces variables vont être modifiées. Donc pourquoi quand même les qualifier de globales et les mettre en majuscule ?

Kévin Silliau

Mentor

Hello Alexis !

En fait dans l'exemple de ce projet, tout est fait dans le fichier principal sans utiliser de fonctions ou de classes (ce qui n'est, en général, pas une bonne pratique je te le conçois).
Les variables locales sont celles utilisées à l'intérieur de fonctions ou de classes justement, et comme ici dans notre cas il n'y en a pas, il ne peut pas avoir de variables locales, c'est donc des variables globales par défaut.

Mais comme l'a dis Pierre-André, en règle générale si tu utilises des fonctions & des classes pour structurer ton code, il vaux mieux privilégier des variables locales si tu compte les modifier ! Et encore mieux pour un jeu de ce type, grâce aux classes et à leurs propriétés ;)

Idem pour les majuscules, ici ce n'est pas vraiment une bonne pratique, généralement on utilise les majuscules pour les constantes (donc des variables qui ne sont pas censées changer.)

En espérant avoir répondu à ta question!

Thibault houdon

Mentor

Salut Alexis, pour compléter la réponse de Kévin qui a bien tout expliqué, en général on décompose les programmes différemment, on a une base de données, et plein d'autres choses qu'à ce point dans la formation on n'a pas encore vu.

Du coup j'utilise des variables globales qui n'en sont pas vraiment car comme tu l'indiques ces variables sont amenées à être modifiées. Ici c'est juste pour pouvoir permettre un accès facilement identifiable à ces variables pour que quelqu'un qui prenne ton script puisse modifier le jeu sans avoir besoin d'aller fouiller dans des variables définies à l'intérieur de ton script. Les majuscules sont donc là juste pour les distinguer des autres.

D'accord merci à vous deux pour le complément d'info !

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.