Afficher du texte (le score)

Afficher du texte

Comme à chaque fois, on reprend le programme précédent (pour ne pas dévoiler les solutions de l'exercice précédent, les trous dans le programme n'ont pas été complétés. Il faut le refaire).

On crée une variable globale qu'on appellera score et on l'initialise à 0

Dans la fonction draw, on affiche le score avec pyxel.text()

En lisant la documentation, on voir que cela s'utilise de la façon suivante :

pyxel.text(x, y, s, col) : Dessine une chaîne de caractères s de couleur col à la position (x, y).

Vous allez être confronté à une erreur. Pour Python, comme on donné la valeur 0 à score, c'est un nombre. Et pyxel.text affiche une chaîne de caractères. Il faut donc convertir la variable score en texte. Cela est possible avec str(score)

import pyxel

# constantes (des variables dont la valeur ne change jamais)
LARGEUR = ...   # largeur de notre fenêtre
HAUTEUR = ...   # hauteur de notre fenêtre
FPS = ...   # nombre d'images par seconde dans notre jeu
NOIR = ...  # voir la documentation pour connaître le nombre correspondant à la couleur noire
BLANC = ... # faire pareil avec les autres couleurs
VERT = ...
ORANGE = ...
ROUGE = ...
TITRE = ... # titre de la fenêtre (à mettre entre guillemets)
CASE = ...
VITESSE_SPRITE = ...

# variables globales (des variables dont la valeur change et qui seront utilisées partout)
sprite_x = ...      # définir la position horizontale du sprite au début (moins de la valeur de LARGEUR !)
sprite_y = ...      # définir la position verticale du sprite au début (moins de la valeur de HAUTEUR !)
... = ...       # on crée la variable score et on l'initialise à 0

# taille de la fenetre 128x128 pixels
# penser à utiliser les constantes définies juste au-dessus
pyxel.init(..., ..., title = ... , fps = ..., quit_key=...)

def update():
    # on doit mettre ce qui suit pour que les variables globales puissent être utilisées dans la fonction update()
    global sprite_x, sprite_y  

    # si la touche flèche droite du clavier est enfoncée
    if ...:
        # mise à jour de la position du sprite en ajoutant la vitesse à la position
        # si la position du vaisseau ne dépasse pas [largeur de la fenêtre - largeur du sprite], on déplace le vaisseau
    if sprite_x < ...
        sprite_x += ... 

    if sprite_x < ...
        sprite_x += ...   

def draw():

    # effacer la fenêtre et la remplir de couleur noire (voir la documentation pour savoir comment faire)
    # utiliser la constante NOIR définie plus haut
    ...
    # dessiner une forme carrée de couleur ORANGE (notre sprite) (voir la documentation ou ci-dessous pour savoir comment faire)
    # le carré est positionné aux coordonnées sprite_x, sprite_y et il est de taille CASE
    ...

    # afficher le score (en suivant BIEN les instructions données dans l'atelier python) en haut à gauche
    ...

pyxel.run(update, draw)