CoddyBlock
L’aide de l’éditeur de blocs de CoddyRun : assembler un programme comme un puzzle, et retrouver le vrai code CoddyRun qu’il produit.
1. OuvrirLe code de l’éditeur est converti en blocs (page vide si l’éditeur est vide)2. AssemblerGlisser, remplir les cases, emboîter ; l’aperçu montre le code en direct3. AppliquerLe code de l’éditeur est remplacé par la traduction des blocsPaletteÀ gauche : les blocs rangés par famille, avec une rechercheEspace de travailAu centre : le programme, qui se lit de haut en basAperçu du codeÀ droite : le code CoddyRun produit par les blocs, mis à jour en directAnnuler / RétablirRevenir sur un changement, ou le refaireExporter en imageEnregistrer les blocs dans une image SVG qui contient le programmeImporterRetrouver les blocs d’une image exportée par CoddyBlockForme ▾Choisir l’allure des blocs : Puzzle ou BriquesAppliquer au codeConvertir les blocs en code dans l’éditeurAppliquer et exécuterConvertir, puis lancer le programmeAideRappel des gestes et des raccourcis (F1)FermerQuitter CoddyBlock (Échap)| Famille | À quoi elle sert | Blocs |
|---|---|---|
| Afficher et demander | Écrire, poser une question, proposer un choix, attendre une touche | affiche, demande … dans, choisir … dans, appuyer … dans, couleur, html, pause |
| Variables | Créer une variable, lui donner une valeur, la modifier | est un / est une, vaut, ajoute, soustrait, constante, vide, supprime, classe |
| Conditions | Choisir un chemin selon une condition | si … alors, sinon si, sinon, selon, cas, sinon selon |
| Boucles | Répéter des instructions | répète … fois, pour … de … à, tant que, arrête, continue |
| Calculs & comparaisons | Les blocs arrondis qui se glissent dans une case | + − * / mod ^, = <> < > <= >=, et, ou, non |
| Fonctions & Procédures | Nommer un morceau de programme pour le réutiliser | fonction, procédure, retourne, appel |
| Processus | Faire tourner plusieurs tâches en même temps | processus, suspendre, reprendre |
| Dessin | Dessiner sur une toile et réagir à la souris | dimension, rectangle, cercle, label…, cliquer, interagir |
| Déboguer | Suivre l’exécution et rattraper les erreurs | déboguer, essayer, attraper |
| Commentaires & sections | Expliquer et découper son programme | // commentaire, @ section |
| Programme | Ligne gardée telle quelle, arrêt du programme | code libre, terminer |
InstructionBloc rectangulaire qui s’empile sous le précédent (affiche, vaut…)StructureBloc avec un « bras » qui contient d’autres blocs (si, répète, pour, tant que…) ; le « fin » est ajouté tout seulChapeauDessus arrondi : fonction, procédure, processus et classe, posés au premier niveauBloc de finSans encoche dessous : retourne, arrête, continue, terminerValeurPetit bloc arrondi (calcul, texte, tableau, appel de fonction) qui se glisse dans une caseLe bloc si contient ses instructions dans son bras ; le sinon est une partie ajoutée au même bloc.
Le commentaire de fin de ligne reste attaché à son bloc.
La fonction est un chapeau ; retourne est un bloc de fin. L’appel maximum(8, 13) est une valeur glissée dans la case de affiche.
Glisse un bloc depuis la palette et dépose-le dans l’espace de travail. Clique sur un bloc pour le sélectionner, puis tape directement dans ses cases.
Les petits blocs arrondis (calculs, fonctions…) se déposent dans une case d’un autre bloc. Si la case contient déjà une valeur, le nouveau bloc l’englobe quand il a une case libre.
Les boutons + et − ajoutent ou retirent des arguments et des parties : sinon si, sinon, cas, attraper…
Mes fonctions et variablesTes fonctions, procédures et variables apparaissent en haut de la paletteCases nomméesEn appelant une de tes fonctions, chaque case porte le nom du paramètre attenduSuggestionsLes champs de nom proposent les noms déjà utilisés dans le programmeCouleursUne case de couleur ouvre un sélecteur de couleurUn blocLe glisser vers la palette, ou le sélectionner et appuyer sur SupprUn champLe vider puis Suppr, ou directement Maj + SupprUn côté d’un calculRetirer un côté garde l’autreRevenir en arrièreCtrl + Z annule la suppressionMaj + glisserEmporte le bloc et tous ceux qui sont en dessousAlt + ↑ / ↓Monte ou descend le bloc sélectionné d’un cranAlt + →Rentre le bloc dans le si / la boucle juste au-dessusAlt + ←Sort le bloc du si / de la boucle qui le contient| Bloc | Où le placer | Pourquoi |
|---|---|---|
retourne | Dans une fonction | C’est lui qui renvoie le résultat de la fonction |
arrête, continue | Dans une boucle (répète, pour, tant que) | Ils sortent de la boucle ou passent au tour suivant |
fonction, procédure, processus, classe | Au premier niveau | Ils ne se rangent pas dans un si, une boucle ou une autre fonction |
Contenu d’une classe | Variables, constantes et commentaires | Une classe décrit ce que chaque objet contient |
Loupe (Ctrl + F)Surligne tous les blocs qui contiennent le texte cherchéAperçu du codeUn clic sur une ligne retrouve le bloc correspondantFlèche ▾Replie un si, une boucle ou une fonction ; « … blocs masqués » le dépliePetites flèchesEn haut à gauche et à droite : masquent ou affichent la palette et l’aperçuBord de la paletteTirer pour changer sa largeur ; double-clic pour la remettre à sa tailleZoomEn bas à droite, ou Maj + molette ; clic sur le pourcentage pour revenir à 100 %ParenthèsesAjoutées seulement quand les priorités l’exigent (* avant +, et avant ou…)et / ou mélangésParenthèses gardées pour la lisibilité : a ou (b et c)FormulationUne comparaison en toutes lettres (est égal à, différent de) est réécrite telle quelleCommentairesGardés ; un commentaire { … } sur plusieurs lignes devient des lignes //Ligne inconnueDevient un bloc « code » qui garde le texte exact : rien n’est perduBloc désactivéAbsent du code produitLignes videsConservées entre les blocsDans les blocs, l’emboîtement dit quel calcul se fait en premier ; dans le code, ce sont les parenthèses.
Enregistre les blocs dans une image SVG, nette à toutes les tailles : pour une fiche de cours, un diaporama, le forum ou une publication. L’image transporte aussi le programme, accompagné d’une empreinte (SHA-256) qui permet de vérifier qu’il n’a pas été modifié.
Bouton ImporterOu Ctrl + O, ou glisser l’image dans la fenêtreEspace videLes blocs de l’image remplacent l’espace de travailProgramme existantCoddyBlock demande s’il faut remplacer ou ajouter à la suiteImage refuséeUne autre image SVG, ou une image retouchée après l’exportPuzzleDes encoches qui s’emboîtent (forme par défaut)BriquesDes plots dessus et des empreintes dessous| Touches | Action |
|---|---|
| Modifier | |
| Ctrl + Z | Annuler |
| Ctrl + Y | Rétablir (ou Ctrl + Maj + Z) |
| Ctrl + C | Copier le bloc sélectionné |
| Ctrl + X | Couper le bloc sélectionné |
| Ctrl + V | Coller après le bloc sélectionné (ou à la place de l’expression sélectionnée) |
| Ctrl + D | Dupliquer le bloc sélectionné |
| Entrée | Ajouter ou retirer une ligne vide au-dessus du bloc sélectionné |
| Suppr | Supprimer le bloc sélectionné (ou Retour arrière) |
| Suppr | Dans un champ vide : retirer ce champ (argument, partie facultative, commentaire, un côté d’un calcul…) |
| Maj + Suppr | Dans un champ : le retirer même s’il est rempli |
| Déplacer | |
| Alt + ↑ | Monter le bloc d’un cran (tout en haut, il sort du bloc qui le contient) |
| Alt + ↓ | Descendre le bloc d’un cran (tout en bas, il sort du bloc qui le contient) |
| Alt + → | Rentrer le bloc dans le si / la boucle juste au-dessus |
| Alt + ← | Sortir le bloc du si / de la boucle qui le contient |
| Maj + Glisser | Déplacer le bloc avec tous ceux qui sont en dessous |
| Échap | Pendant un glisser : annuler, le bloc revient à sa place |
| Chercher et afficher | |
| Ctrl + F | Rechercher dans le programme (loupe en haut à droite) |
| Ctrl + Maj + F | Chercher un bloc dans la palette |
| Entrée | Résultat suivant (Maj + Entrée : précédent) |
| Maj + Molette | Zoomer / dézoomer |
| Ctrl + 0 | Revenir au zoom 100 % |
| - | Replier le bloc sélectionné (ou celui qui le contient) |
| + | Déplier le bloc sélectionné |
| Général | |
| Ctrl + Entrée | Appliquer au code et exécuter |
| Ctrl + O | Importer un programme depuis une image SVG exportée |
| F1 | Afficher l’aide (ou ?) |
| Échap | Fermer le menu, la recherche, puis CoddyBlock |
Non. Chaque bloc produit exactement le code qu’on aurait écrit à la main. On peut passer des blocs au code, et du code aux blocs, autant de fois qu’on veut.
Oui : toutes les instructions ont leur bloc et toutes les fonctions intégrées sont dans la palette. Une ligne que CoddyBlock ne sait pas découper devient un bloc « code » qui garde le texte exact.
L’étiquette interdit ici signale un placement qui ne pourrait pas fonctionner : voir les placements interdits.
Dans la galerie d’exemples (bouton CoddyBlock de chaque exemple) et dans les missions des Premiers pas.