Nous avons appris à écrire des chaînes de caractères. Mais, pour réaliser un jeu, il va y avoir une notion importante à connaitre : les variables.
Effacez votre code (vous pouvez le sauver dans un autre fichier si souhaitez le réutiliser plus tard), et mettez ce code à la place. Pensez à sauvegarder pour l'executer sur votre Gamebuino.
from gamebuino_meta import begin, waitForUpdate, display, buttons, color
while True:
waitForUpdate()
display.clear()
name = "Bob"
display.print("Je m'appelle ")
display.print(name)
display.print("\n")
display.print("\n")
name = "Jack"
display.print("Je m'appelle ")
display.print(name)
Deux phrases sont affichées à l'écran. En observant le code, vous remarquerez peut-être que les instructions pour afficher le texte sont les mêmes ! La seule différence est que nous utilisons ce qu'on appelle une variable.
Une variable, comme son nom l'indique, est susceptible de changer. Elle a un nom, ici name, ainsi qu'une valeur. Sa valeur est tout d'abord égale à "Bob". display.print(name)
affiche donc "Bob" à l'écran. Ensuite, nous modifions sa valeur pour qu'elle devienne "Jack". display.print(name)
affiche désormais "Jack" à l'écran !
Il y a tout de même une différence : quand on utilise
display.print
pour afficher une variable, on ne met pas de guillemets (sinon, le programme comprendrait qu'il s'agit d'une chaine de caractères et afficherait littéralement name à la place de la valeur de la variable)
Essayer de modifier ce code pour afficher d'autres prénoms à la place de « Bob » et « Jack ». C’est très simple ! Mais allons un peu plus loin. Essayez de créer une deuxième variable que nous appellerons « score ». Enfin, essayer d’afficher le résultat suivant à l’écran, en vous souvenant de tout ce que nous avons appris jusque-là :
Je m’appelle Bob
Mon score est 15
Je m’appelle Jack
Mon score est 8
display.print("\n")
display.setColor(color.BLUE)
from gamebuino_meta import begin, waitForUpdate, display, buttons, color
while True:
waitForUpdate()
display.clear()
name = "Bob"
score = 15
display.print("Je m'appelle ")
display.print(name)
display.print("\n")
display.print("Mon score est ")
display.print(score)
display.print("\n")
display.print("\n")
name = "Jack"
score = 8
display.print("Je m'appelle ")
display.print(name)
display.print("\n")
display.print("Mon score est ")
display.print(score)
Nous avons tout d'abord défini nos deux variables : name et score. Petite différence : quand il s'agit d'un nombre, et non d'une chaîne de caractères, il ne faut pas mettre de guillemets ! Ensuite, nous avons écrit nos deux phrases, en y implémentant nos variables, ainsi qu'un saut de ligne. Puis nous avons modifié les valeurs des deux variables, et à nouveau appelé les instructions pour écrire nos phrases. Les deux phrases s'affichent à nouveau, mais avec des valeurs différentes !
Amusez-vous ! Dans notre exemple, tout est en bleu, mais vous pouvez essayer d'utiliser des couleurs différentes. Nous allons beaucoup utiliser les variables par la suite, donc tentez d'en créer d'autres afin de bien comprendre leur fonctionnement, pour par exemple afficher le nombre de vies de votre joueur (nous souhaitons faire un jeu après tout !), ou d'autres informations...
En manque d'inspiration ? Regardez ce que nous avons fait :
from gamebuino_meta import begin, waitForUpdate, display, buttons, color
while True:
waitForUpdate()
display.clear()
name = "Brian"
score = 15
lives = 3
display.setColor(color.BLUE)
display.print(name)
display.setColor(color.GREEN)
display.print(" (vies : ")
display.setColor(color.RED)
display.print(lives)
display.setColor(color.GREEN)
display.print(")")
display.print("\n")
display.print("\n")
display.setColor(color.WHITE)
display.print("Score : ")
display.print(score)
display.print("\n")
display.print("\n")
lives = 2
display.print("J'ai perdu une vie !")
display.print("\n")
display.print("\n")
display.setColor(color.GREEN)
display.print("Vies restantes : ")
display.setColor(color.RED)
display.print(lives)
Notez qu'une variable, comme son nom l'indique, n'est pas figée ! Ici, nous avions 3 vies au début, puis nous en avons perdu une au cours du programme. Nous affichons à la fin la nouvelle valeur ! Le plus important est de respecter l'ordre des instructions.
C'est bien beau d'écrire du texte, mais si nous programmions un vrai jeu maintenant ?