diff --git a/extensions/community/NumberToLetters.json b/extensions/community/NumberToLetters.json new file mode 100644 index 00000000..7b9effb4 --- /dev/null +++ b/extensions/community/NumberToLetters.json @@ -0,0 +1,89 @@ +{ + "author": "", + "category": "General", + "extensionNamespace": "", + "fullName": "NumberToLetters", + "helpPath": "", + "iconUrl": "", + "name": "NumberToLetters", + "previewIconUrl": "", + "shortDescription": "Transforme la valeur d'une variable en chaine de caractères de type a, b, c, ..., aa, ab, ac, ...", + "version": "1.0.0", + "description": "Renvoie la chaine de caractères propre à la valeur, par exmple 1 pour a, 2 pour b, ..., 26 pour z, 27 pour ab, ...", + "tags": [ + "Conversion", + "Lettres", + "Nombres" + ], + "authorIds": [ + "5y0zE28zUsQVUSSQUi8MJUwoXtJ2" + ], + "dependencies": [], + "globalVariables": [], + "sceneVariables": [], + "eventsFunctions": [ + { + "description": "Renvoie la chaine de caractères propre à la valeur, par exmple 1 pour a, 2 pour b, ..., 26 pour z, 27 pour ab, ...", + "fullName": "Chaine de caractères propre à la valeur", + "functionType": "StringExpression", + "name": "NumberToLetters", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "// Fonction qui transforme un nombre en lettres (Base 26 alphabétique)", + "function numberToLetters(number) {", + " console.log(\"🔍 Appel de la fonction avec le nombre :\", number); // Log pour vérifier le nombre reçu", + " if (typeof number !== \"number\" || number < 1 || !Number.isInteger(number)) {", + " console.error(\"❌ Erreur dans NumberToLetters : Le paramètre n'est PAS un nombre valide ! Reçu :\", number);", + " return \"ERREUR\"; // Retourne \"ERREUR\" si ce n'est pas un nombre valide", + " }", + "", + " let result = \"\";", + " while (number > 0) {", + " number--; // Décalage pour commencer à 'a'", + " result = String.fromCharCode(97 + (number % 26)) + result;", + " number = Math.floor(number / 26);", + " }", + "", + " console.log(\"✅ Conversion complète :\", result); // Affiche la conversion", + " return result; // Retourne le résultat sous forme de lettre(s)", + "}", + "", + "// Fonction principale pour GDevelop", + "gdjs.evtsExt__NumberToLetters__NumberToLetters = {};", + "gdjs.evtsExt__NumberToLetters__NumberToLetters.func = function(runtimeScene, number, parentEventsFunctionContext) {", + " console.log(\"🔍 Appel de NumberToLetters avec le nombre reçu :\", number); // Log pour vérifier ce qui est reçu dans GDevelop", + "", + " // Vérification si la valeur envoyée est un nombre valide", + " if (typeof number !== \"number\" || isNaN(number)) {", + " console.error(\"❌ Erreur : GDevelop n’envoie PAS un nombre valide ! Valeur reçue :\", number);", + " return \"ERREUR\"; // Retourne \"ERREUR\" si le nombre est invalide", + " }", + "", + " // Appeler la fonction numberToLetters et retourner le résultat", + " return numberToLetters(number);", + "};" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "expressionType": { + "type": "string" + }, + "parameters": [ + { + "description": "Nombre à convertir en lettres de type a, b, c, ..., aa, ab, ac, ...", + "name": "number", + "type": "expression" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [], + "eventsBasedObjects": [] +} \ No newline at end of file