1. Quelques lignes de code
  2. Tirs paraboliques
  3. Comment atteindre le bord du disque
  4. Pseudo-code
  5. Remerciements

Quelques lignes de code

Ci-dessous, la fonction "draw" est la plus importante : c'est elle qui dessine les éléments du jeu.

La fonction "init" est indispensable : c'est elle qui permet de créer la zone graphique où il y aura le jeu. Cette zone a pour dimensions : 300x300

Fonctions utilisables :
- init()
- repeatdraw(n,t) //répéter draw n fois avec une attente de t ms à chaque fois
- loopdraw() // exécuter la fonction "draw" toutes les 10 millisecondes !
- circle(x,y,r,'color') //cette fonction permet de tracer un disque (cercle plein), de centre (x,y) et de rayon r
//pour mettre la couleur, utiliser le mot anglais entre guillemets simples,
//par exemple 'red' pour la couleur rouge
- clear() //cette fonction permet de tout effacer
- alea(a,b) //cette fonction renvoie un nombre entier au hasard compris entre a et b (inclus)
- axes() //permet d'afficher les axes du repère utilisé

suiv.

Utilisation avec vidéo-projecteur. Le but est de faire un peu d'algo mais surtout de motiver le calcul des intersections entre droite et cercle.

Il faut expliquer :

"var"
"function... {...}"
lignes de commentaires : "//..."
"(x,y)" : origine et axes du repère (REMARQUE : l'axe des ordonnées est ici dans le sens habituel des mathématiciens, ET PAS dans le sens habituel des informaticiens...) (afficher les axes grâce à "axes()")
l'illusion du mouvement est créée par une succession très rapide d'images (changer la vitesse grâce à "repeatdraw(50,600);"

Expliquer le "if" et faire en sorte que le carré vert explose quand x dépasse 300
-->explode(x,y,'yellow');

Question : comment faire en sorte que le carré vert se déplace en direction du disque rouge
--> à chaque itération, déplacement de "h" vers la droite ET déplacement de "h2" vers le haut : on peut dessiner l'escalier montrant le coefficient directeur de la droite...