Le premier algoblob
Il m'est difficile de relater l'émotion que j'ai ressenti lorsque le premier algoblob est apparu sur mon écran. Je ne pensais pas que mes recherches aboutiraient. Il était là, petit, fragile.
Nous allons définir notre premier algoblob. Vu de dessus, dans un environnement informatique, un algoblob simple est juste un cercle. Regardez le code ci dessous.
import pyxel
pyxel.init(640, 640, title="Premier algoblob")
def update():
pass
def draw():
pyxel.cls(0)
pyxel.circ(320, 320, 5, 7)
pyxel.run(update, draw)
Explications
La première ligne permet d'importer la bibliothèque Pyxel qui gérera les graphismes. Pour pouvoir fonctionner, Pyxel aura besoin des éléments suivants :
- La fonction
pyxel.initpour initialiser la fenêtre graphique - Une fonction sera appelée par Pyxel pour mettre à jour l'état des variables à chaque étape. Ici, c'est la fonction
update - Une fonction sera appelée par Pyxel pour gérer le rendu graphique. Ici, c'est la fonction
draw - Enfin, la fonction
pyxel.runqui lance la boucle principale de Pyxel en appelant les fonctionsupdateetdrawde manière répétée dans une boucle infinie
Le changement
L'informatique est la science du traitement des données. En informatique, les données utilisées par un programme peuvent évoluer au cours de ce programme. Pour garder une trace de l'évolution de ces données, nous allons les stocker dans des variables. Une variable peut être vue comme une boîte dans laquelle on range une information. De temps à autre, on ouvre le contenu de cette boite pour regarder ce qu'il y a dedans. Et parfois, on remplace aussi le contenu de la boite. Comme dans l'exemple ci dessous
# Ici, on met la valeur 3 dans la variable dénommée nombre
nombre = 3
# Là, on va sortir le contenu de la boite nombre, lui ajouter 4.
# Le résultat sera stocké dans la variable R
R = nombre + 4
# Enfin, dans cet exemple, on va lire le contenu de nombre, lui ajouter 1
# et stocker le résultat dans nombre
nombre = nombre + 1 # nombre contient 4 maintenant
- Dans l'environnement python ci dessous, deux variables sont définies : longueur et largeur. À partir de ces deux variables, vous allez définir deux autres variables, perimetre et surface, qui représentent respectivement le périmètre et la surface du rectangle avec cette longueur et cette largeur.
- Affichez ces deux variables grâce à l'instruction print et vérifiez que vous obtenez bien 32 et 60
=. Le fait de stocker une information dans une variable s'appelle une
affectation
Vous avez une erreur, c'est normal. Ce qui est à gauche n'est pas une variable !
variable = a + 3
mais on ne pourra jamais avoir
a + 3 = variable
Soyons prévoyants
Un certain nombre d'éléments peuvent être amenés à changer dans notre programme. Aussi, nous allons modifier ce programme pour remplacer les nombres que nous avons écrit par des variables
import pyxel
largeur = 640
hauteur = 640
abscisse = 320
ordonnee = 320
rayon = 5
couleur = 7
pyxel.init(largeur, hauteur, title="Premier algoblob")
def update():
# Ici, rien ne change pour l'instant (scène fixe).
pass
def draw():
pyxel.cls(0)
pyxel.circ(abscisse,ordonnee,rayon,couleur)
pyxel.run(update, draw)
Dans notre prochaine étape, nous allons animer notre agoblob !
Éditeur Python