jeudi 13 décembre 2007

llFrand

La fonction llFrand() permet de tirer un chiffre au hasard. On lui passe un float(nombre décimal) et il en retourne un autre entre 0 et celui passer en paramètre. Cette petite fonction peut ce se révèler utile dans nombre de cas.
Une application de llFrand aujourd'hui, le script choisi un nombre au hasard et vous devez deviner le nombre. pour répondre vous saissez dans la fenêtre de chat qu'il ecoute via un listen eet compare le message par rapport à la valeur tappée

// integer defini un nombre de type entier donc san virgule
// en placant notre déclaration ici, la varaible est utilisable dans tout le script
// sinon elle n'est visible que dans l'envenement

integer nb;

default
{
state_entry()
{
// Ici on écoute tout ce que dit le propriétaire sur le channel public

llListen(PUBLIC_CHANNEL,"",llGetOwner(),"");

// Rapidement on met un libelle pour informer

llSetText("touchez moi",<1,0,0>,1.0);
}

touch_start(integer total_number)
{
// en touchant on a déclencher le jeu, donc il n'attend plus que on le touche
llSetText("",<1,0,0>,1.0);

// la fonction du jour
nb=(integer)llFrand(10.0);

// on informe que le nombre a ete choisi
llSay(PUBLIC_CHANNEL,"j'ai choisi un nombre");
}

listen(integer channel, string name, key id, string message)
{
// ici on rencontre se que l'on appelle un "cast" ou transtypage en francais
// on transforme un type en un autre
// ici message est un string mais nous voulons un integer en le mettant
// entre paranthèse il va essayer de le transformer
// on remarque aussi l'attribution direct pendant la déclaration

integer reponse=(integer)message;

// ici on va tester l'ensenble des possibilités

if(reponse>nb)
{
llSay(PUBLIC_CHANNEL, "non c'est trop grand");
}
else
{
if(reponse
{
llSay(PUBLIC_CHANNEL, "non c'est trop petit");
}
else
{
llSay(PUBLIC_CHANNEL, "bravo vous avez gagner");
}

}

}


}

Aucun commentaire: