Logique
Boucles
Math
Texte
Listes
Données
Variables
Fonctions
Programmation
p5.js
Objets web
Propriétés
Formes
Tortue
Apparence
GeoGebra
var canevas, nbMaxMouvTortue, nbMouvTortue, gliss, para, vitesse, x, d, a, bouton, y, para2, texte, variable, i, bouton2; /** * Décrire cette fonction… */ function init_environnement() { nbMaxMouvTortue = 0; para=createP('Vitesse = '); gliss=createSlider(0,60,1,1); assignerParentPrudent("gliss",gliss,"para",para); stylerObjetPrudent("gliss",gliss,'width','300px'); bouton=createButton('Recommencer'); siClicPrudent("bouton",bouton,"recommencer",recommencer); bouton2=createButton('Une étape'); siClicPrudent("bouton2",bouton2,"une_etape",une_etape); para2=createP(''); frameRate(round(1)); } /** * Fonction exécutée périodiquement, de façon répétée */ function actions_en_boucle() { if (fixer_vitesse()) { return ; } initialisationTortue(leGraphicsActif);nbMouvTortue = 0; figure(); nbMaxMouvTortue = nbMaxMouvTortue + 1; } /** * Décrire cette fonction… */ function recommencer() { nbMaxMouvTortue = 0; fixeValeurPrudent("gliss",gliss,1); } /** * Décrire cette fonction… */ function fixer_vitesse() { vitesse = valeurPrudent("gliss",gliss); if (vitesse > 0) { frameRate(round(vitesse)); } return vitesse == 0; } /** * Décrire cette fonction… */ function limite_nbMouv_atteinte() { nbMouvTortue = nbMouvTortue + 1; return nbMouvTortue >= nbMaxMouvTortue; } /** * Décrire cette fonction… */ function une_etape() { fixeValeurPrudent("gliss",gliss,0); initialisationTortue(leGraphicsActif);if (nbMaxMouvTortue == 0) { nbMaxMouvTortue = 1; } nbMouvTortue = 0; figure(); nbMaxMouvTortue = nbMaxMouvTortue + 1; } /** * Fonction exécutée une fois, au départ */ function actions_initiales() { centrerPageExecution(500); document.body.style.paddingLeft="30px"; createElement("h1",'Tortue pas à pas'); canevas=creerCanvas(500,500); canvas=canevas; montrerTortue(20,(color(255,0,0,200))); couleurFondC('#ffff66'); init_environnement(); } /** * Décrire cette fonction… */ function figure() { couleurFondC('#ffff66'); stroke_('#000000'); for (i = 1; i <= 36; i += abs(1)) { Avis('Boucle externe avec i = ', i); for (var count = 0; count < 4; count++) { Avance(140); Droite(90); } Droite(10); } Avis('Fin de la boucle et du programme', ''); } /** * Décrire cette fonction… */ function Avance(d) { if (limite_nbMouv_atteinte()) { return ; } avance(d); fixeContenuPrudent("para2",para2,(String('Avance ') + String(d))); } /** * Décrire cette fonction… */ function Recule(d) { if (limite_nbMouv_atteinte()) { return ; } recule(d); fixeContenuPrudent("para2",para2,(String('Recule ') + String(d))); } /** * Décrire cette fonction… */ function Droite(a) { if (limite_nbMouv_atteinte()) { return ; } droite(a); fixeContenuPrudent("para2",para2,(String('Droite ') + String(a))); } /** * Décrire cette fonction… */ function Gauche(a) { if (limite_nbMouv_atteinte()) { return ; } gauche(a); fixeContenuPrudent("para2",para2,(String('Gauche ') + String(a))); } /** * Décrire cette fonction… */ function Aller(x, y) { if (limite_nbMouv_atteinte()) { return ; } fixePos(x,y); fixeContenuPrudent("para2",para2,(['Aller (',x,' , ',y,' )'].join(''))); } /** * Décrire cette fonction… */ function Sauter(x, y) { if (limite_nbMouv_atteinte()) { return ; } sautePos(x,y); fixeContenuPrudent("para2",para2,(['Sauter (',x,' , ',y,' )'].join(''))); } /** * Décrire cette fonction… */ function Fixe_cap(a) { if (limite_nbMouv_atteinte()) { return ; } fixeCap(a); fixeContenuPrudent("para2",para2,(String('Fixe cap ') + String(a))); } /** * Décrire cette fonction… */ function Avis(texte, variable) { if (limite_nbMouv_atteinte()) { return ; } fixeContenuPrudent("para2",para2,(String(texte) + String(variable))); }