Skip to content

NumberToLetters #1524

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions extensions/community/NumberToLetters.json
Original file line number Diff line number Diff line change
@@ -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": []
}