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.init pour 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.run qui lance la boucle principale de Pyxel en appelant les fonctions update et draw de 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
  1. 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.
  2. Affichez ces deux variables grâce à l'instruction print et vérifiez que vous obtenez bien 32 et 60
# Code à modifier largeur = 10 longueur = 6 # Ajouter ici votre code Pour mettre une quantité dans une variable, on utilise le signe =. Le fait de stocker une information dans une variable s'appelle une affectation Essayez le code ci dessous. # Essayez ce code a = 10 a + 3 = variable

Vous avez une erreur, c'est normal. Ce qui est à gauche n'est pas une variable !

Une affection n'est pas une égalité au sens mathématique du terme. Ce qui est à gauche du signe égal est une variable, ce qui est à droite est une valeur. Aussi, on peut avoir 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)
Modifiez le programme que vous avez écrit dans votre éditeur Python pour qu'il ressemble à celui ci:
Si dans un programme des quantités interviennent à plusieurs endroits, où si elles peuvent évoluer, on les stockera dans des variables. (optionnel) Amusez vous un peu en essayant de changer le contenu de ces variables et voyez ce qui se passe.

Dans notre prochaine étape, nous allons animer notre agoblob !