Alors là j'en ai mis des jours à améliorer ce petit programme Python graphique et animé. Et encore, j'y reviendrai, il n'est pas "parfait" au sens où il n'est en aucun cas Orienté Objet, même si «tout est objet ou peut être objet». J'ai surtout cherché la facilité et la lisibilité par un maximum de personnes.
Bref, on en retire un programme amusant bien que frustre et dans son graphisme et dans son code. Voir après.
Pour le faire fonctionner, on peut cliquer à tout moment sur "Changer de pays", et pour faire avancer les avions il suffit de maintenir la touche de flèche à droite appuyée.
programme Python 3
Il est en Python 3, ce qui signifie que sous Visual Studio Code ou toute autre version précédente il faudra remplacer tkinter par Tkinter.
Pour revenir sur les améliorations: on aurait pu considérer chaque avion (ici des triangles) comme un objet listé de avion[0] à avion[2] et définir chaque trait de couleur comme objet listé dans fumee[0] à fumee[5] (deux traits par avions) et directement composés de rectangles complets ne se créant pas à chaque fois que les avions avancent.
Ce qui aurait permis d'utiliser la méthode move(dx) car alors il aurait suffit de programmer à avancer() ceci:
for n in range(0,3):
avion[n].move(5)
fumee[n*2].move(5)
fumee[n*2+1].move(5)
Ç'aurait été une solution jugée, et vraiment d'ailleurs, plus correcte mais qui aurait rendu mon code moins lisible donc moins adaptable aux nécessités rencontrées par chacun...