Créer et exécuter vos propres fonctions

Voir le sujet précédent Voir le sujet suivant Aller en bas

Tutoriel Créer et exécuter vos propres fonctions

Message par Morgan9195 le Jeu 2 Jan - 23:20



Programmer sur Script
Créer et exécuter vos propres fonctions


Vous aurez parfois besoin de regrouper plusieurs fonctions en une seule pour des raisons d'optimisation, vous allez donc apprendre à créer vos propres fonctions et à les utiliser comme toute autre fonction.
Utiliser les fonctions de Script, c'est pratique, mais créer les vôtres, c'est mieux.

Avant de commencer cette partie, nous allons voir quelques rappels sur les fonctions.
Une fonction de Script comporte entre 0 et 16 arguments.
Les fonctions que vous apprendrez à créer auront entre 0 et 15 arguments.
Les arguments sont des renseignements qu'on donne à une fonction lorsqu'on l'exécute pour qu'elle s'en serve de paramètres.
Exemples:
- show_message(texte);
- draw_rectangle(x1,y1,x2,y2,outline);
"texte" est un argument de type string (chaîne de caractères) qui détermine le message à afficher dans la boite de dialogue.
x1,y1,x2 et y2 sont des arguments de type numérique. Ce sont des nombres déterminants les coordonnées de deux sommets opposés d'un rectangle. L'argument outline est de type booléen (0 ou 1), il détermine si (oui ou non) le triangle ne doit être plein.

Voila. Ce petit rappel étant fait, nous allons passer à vos fonctions.

La fonction principale de Script est la fonction program. C'est une fonction particulière car c'est la seule (pour l'instant) qui se trouve en dehors de l'exécutable. Il s'agit du fichier program.script situé dans les ressources de chaque projet Script.
C'est la seule fonction externe à l'exécutable, mais les vôtres seront aussi externes.

Bien, commençons. Vous allez donc créer un nouveau fichier texte à coté de program.script
Renommez le, ça sera le nom de votre fonction, puis renommer l'extension .txt en .script (si vous ne voyez pas les extensions à la suite du nom du fichier, cliquez ici:
>>> Aide pour afficher les extensions de fichiers <<< )

Votre fichier doit ressembler à ça: Mafonction.script
Ensuite, ouvrez le fichier avec Bloc-note, Notepad++ ou Script Code Editor.
Le fichier est vide, nous allons donc le remplir.
Voici un exemple de contenu que vous pouvez mettre:
Code:

temp=show_question(argument0);
return temp;
La fonction contient deux lignes de code. C'est peu, mais c'est déjà pas mal pour une première fonction.
Nous pouvons observer que j'utilise une variable nommée "argument0" sans l'avoir précédemment créé. C'est normal, c'est une variable temporaire interne à Script, elle contient le premier argument précisé à la fonction (les autres arguments sont dans les variables temporaires argument1, argument2, argument3 ... argument14).

Voici comment la fonction s'utilisera:
Code:

function("Mafonction","Salut, ça va?");

Prenez le temps de tester ce précédent code et de voir ce qui se passe.
La fonction ouvre une boite de dialogue, un peu comme la fonction show_message("texte"); , mais n'a pas de bouton "Ok", elle a deux boutons "Yes" et "No".
Dans le code de la fonction, nous pouvons voir une variable temporaire (temp) qui, à la seconde ligne, est retournée. Que signifie retourner? C'est quand la fonction envoi une réponse suite à son exécution, ça peut être le résultat d'un calcul, la réponse d'une condition, ou autre...

Votre fonction peut donc s'utiliser comme ceci:
Code:

if function("Mafonction","Salut, ça va?")
 show_message("Cool, moi aussi.");
else
 show_message("Ah bon? Qu'est ce qui te tracasse?");

C'est pas plus compliqué que ça.

Maintenant, il peut arriver que vous souhaitiez créer votre fonction à l'intérieur du fichier program.script. Pour cela, vous pouvez utiliser la fonction create_function(nom,code); qui créé automatiquement un fichier Script de votre fonction.

Voici comment cette fonction s'utilise:
Code:

create_function("Mafonction","
temp=show_question(argument0);
return temp;
");

Attention, si vous créez une fonction à l'aide de la fonction create_function(name,code); , ne mettez pas de commentaire dans le code de cette fonction.

Si le code contient des guillemets, remplacer les par des apostrophes. Ca aura le même fonctionnement sans se confondre avec les guillemets contenant votre code entier.

Si vous rencontrez des problèmes de création de fonction, n'hésitez pas à demander de l'aide. Wink




avatar
Morgan9195
Fondateur
Fondateur

Messages : 168
Date d'inscription : 11/02/2013
Age : 22
Localisation : Entre le fauteuil et le clavier

Projet(s)
Niveau de connaissances dans Script: Professionnel
Spécialité: Programmeur

Voir le profil de l'utilisateur http://morgan9195.olympe.in/devblog/

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum