Author Topic: Fonction Randomint  (Read 1551 times)

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
Fonction Randomint
« on: June 25, 2004, 10:11:12 PM »
Voila Raf m'a parlé d'une fonction nommé Randomint qui permettait de créer des variables à valeur aléatoire...

Alors je voudrais savoir comment on l'utilise, comment on peut s'en servir dans un script , etc ... enfin en savoir un peu plus sur cette commande !

 :rolleyes:  
De l'éducation les racines sont amères... Mais le fruit est doux !


Le Touriste

  • Squatteur de forum
  • Posts: 3427
    • http://
Fonction Randomint
« Reply #1 on: June 26, 2004, 12:42:53 AM »
Le mieux est de t'expliquer avec un exemple :

Code: [Select]
lum_clign_thd:

$prison_lumiere lightoff
wait (0.2 + randomint(18) * 0.1)
$prison_lumiere lighton
wait (0.1 + randomint(9) * 0.1)
goto lum_clign_thd

end

randomint(x) crée un nombre aléatoire entier de 0 jusqu'à X : 0, 1, 2, ..., X

Le premier randomint de mon exemple renvoie un nombre aléatoire compris entre 0.2 et 2 avec un pas de 0.1 : 0.2, 0.3, 0.4, ..., 1.9, 2.
Le second renvoie un nombre entre 0.1 et 1 avec le même pas.

Si tu veux l'assigner à une variable, c'est simple :

Code: [Select]
level.ma_variable = randomint(X)
ATTENTION : X doit OBLIGATOIREMENT être un nombre entier ( 1, 2, 3, ..., 72568, ... ) !!!

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
Fonction Randomint
« Reply #2 on: June 26, 2004, 10:56:57 AM »
Merci beaucoup, c'est très clair : j'ai tout compris  :D  :)
  ;)
Donc je peux par exemple faire ceci :

Code: [Select]
truc_lumiere:

level.ma_variable = ( 0.2 + randomint(18) * 0.1 )

$lumiere lightoff
wait (level.ma_variable)
$lumiere lighton
wait (level.ma_variable)

goto truc_lumiere

end

comme ça ca peut éviter de réécrire 100 fois la même chose... hummm
« Last Edit: June 26, 2004, 10:57:38 AM by Danker »
De l'éducation les racines sont amères... Mais le fruit est doux !


Tropheus

  • Legomaniaque
  • Posts: 1432
    • http://tropheus.tropheus.free.fr
Fonction Randomint
« Reply #3 on: June 27, 2004, 12:14:58 AM »
je dirai même plus c'est un générateur de nombre entier.

si la limite doit être entière le résultat est lui aussi un entier.


@++

tttrroopphheeuuss
« Last Edit: July 29, 2004, 06:07:08 PM by raf »




snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
Fonction Randomint
« Reply #4 on: June 27, 2004, 02:54:41 PM »
vous etes qur que c'est "aleatoire"?

explication: je m'eclate a faire pleuvoir des bombes autour du joueur(ac randomint). mais c'est tjrs au meme endroit que ca tombe! le premier obus tombe a droite, le second a gauche, le 3eme, a droite, puis sur le jouer etc (on est blessé par les bombes et on creve tjrs au meme endroit)...C pa plutot une base de données indiquant:


if (scriptsay "randomint ( 10))
{
randomint = 1
wait 1
" = 3
wxait 1
" = 7
wait 1
" = 3
wait 1
" = 4
wait 1
...
goto debut
}
end
 

Le Touriste

  • Squatteur de forum
  • Posts: 3427
    • http://
Fonction Randomint
« Reply #5 on: June 28, 2004, 11:08:10 PM »
Quote
comme ça ca peut éviter de réécrire 100 fois la même chose
Bien sûr, tu peux en faire ce que tu veux B)

Quote
vous etes qur que c'est "aleatoire"?
Demande à ton PC, il te répondra mieux que nous ! :lol:
Quote
mais c'est tjrs au meme endroit que ca tombe!
Augmente la variable X ( voir mon explication ) pour avoir plus de nombres aléatoires possibles. Si tu as essayé le tuto sur le bombardement aléatoire de Tropheus, c'est bien ce que je disais. Essaye sur une zone plus large et avec une plus grande fourchette ( " Et bon appétit bien sûr ! " - Joël Robuchon ).

Laurent

  • Tailleur de maps
  • Posts: 363
Fonction Randomint
« Reply #6 on: June 28, 2004, 11:15:12 PM »
Quote


randomint = 1
(tiré du code)
 
Euh je suis pas sur que cette commande corresponde a quelque chose.....

si y a 5 emplacements tu fais un:
 
level.mavariable =randomint (5)
if (level.mavariable ==0) {......}
if (""                      ==1) {....}
....
...
if level.mavariable ==4) {....}
//note il peut pas valoir 5 mais avec le 0 ca fait 5 cas...



 
« Last Edit: June 28, 2004, 11:21:19 PM by Laurent »

Tropheus

  • Legomaniaque
  • Posts: 1432
    • http://tropheus.tropheus.free.fr
Fonction Randomint
« Reply #7 on: June 29, 2004, 12:46:14 AM »
ok laurent mais la ça signifie que les expolsions sont prédéfinies et que tu ne joues que sur l'ordre des événenements, or sur mon tuto ce sont les emplacements des explosions qui sont aléatoires.

Maintenant tu peux aussi allier les deux avec des modes de calculs différents, mais je ne crois pas que cela serve à grand chose.

pour ceux qui ne voient pas rdv sur MohaaScriptLib

@+

Tropheus
« Last Edit: June 29, 2004, 12:46:50 AM by Tropheus »




Le Touriste

  • Squatteur de forum
  • Posts: 3427
    • http://
Fonction Randomint
« Reply #8 on: July 23, 2004, 02:10:43 AM »
Quote
vous etes qur que c'est "aleatoire"?
J'ai eu l'occasion de faire un test de randomint aux environs de 1h30 ( non, je n'ai pas que ça à faire :bav ! ) et je confirme : le randomint est aléatoire et équitable.

Mon test était randomint(2).
Résultat des courses : 56,6 % de 0 contre 43,4 % de 1 ( 30 essais )

Je ne vous ferais pas de démonstration mathématique mais plus on fait d'essais et plus les résultats tenderaient vers 50 % pour les 2.

Quote
level.mavariable =randomint (5)

...

il peut pas valoir 5 mais avec le 0 ca fait 5 cas
J'avais un doute sur ça mais maintenant je te crois : randomint(3) donnera 0, 1 ou 2 ! Merci Laurent.

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
Fonction Randomint
« Reply #9 on: October 09, 2004, 10:46:35 PM »
J'ai vu quelques fois un truc du genre :
randomfloat ou randomintfloat

Quelqu'un pourrait m'expliquer ce que c'est ? (si ca existe lol  ^^/ )
De l'éducation les racines sont amères... Mais le fruit est doux !


snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
Fonction Randomint
« Reply #10 on: October 10, 2004, 10:41:32 AM »
ca doit etre la meme chose mais avec virgule non? ou que t'as degoté ca toi?

Laurent

  • Tailleur de maps
  • Posts: 363
Fonction Randomint
« Reply #11 on: November 06, 2004, 06:12:25 PM »
J ai effacé un post posant une question sur randomint....

Ce thread ci etait sur la premiere page, mais je poste pour le remonter, y en a qui lisent que le haut de la liste il semblerait...

Merci de consulter un minimum le forum avant de poser une question sur un sujet traité auparavant....Merci.

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
Fonction Randomint
« Reply #12 on: November 06, 2004, 07:06:45 PM »
Tiens ben tant que t'es là, tu peux répondre a ma question de juste au dessus :
Ca marche comment la commande randomfloat ? ^^/

Merci.
De l'éducation les racines sont amères... Mais le fruit est doux !


Drackster

  • Apprenti poseur de brushs
  • Posts: 79
Fonction Randomint
« Reply #13 on: November 06, 2004, 07:46:21 PM »
Okay merci :)
Amicalement,
Ðrå¢kster ™,
http://www.total-control.fr.tc.


Laurent

  • Tailleur de maps
  • Posts: 363
Fonction Randomint
« Reply #14 on: November 06, 2004, 08:40:01 PM »
si elle existe la commande __float marche pareil a priori...
aucun interet au passage, on peut diviser un randomint pour obtenir un float... :)


(randomint(50))/100 donne des valeurs entre 0.00 et 0.49.... des floats donc...(je m gourre?)




 

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
Fonction Randomint
« Reply #15 on: November 06, 2004, 10:09:25 PM »
euh, je crois que les float c'est 3 chiffres après la virgule, mais en effet tu as raison, si elle existé elle sert a rien  :rolleyes:  
De l'éducation les racines sont amères... Mais le fruit est doux !


raf

  • Administrator
  • Actionnaire chez un fabricant de claviers
  • ******
  • Posts: 1891
Fonction Randomint
« Reply #16 on: November 06, 2004, 11:28:51 PM »
Quote
(randomint(50))/100 donne des valeurs entre 0.00 et 0.49.... des floats donc...(je m gourre?)
Non, enfin à mon avis ;) :wacko:  
-= Raf =-
Fan de Lego

Citation guerrière : A vaincre sans péril, on évite des ennuis. (Astérix chez les bretons)


Laurent

  • Tailleur de maps
  • Posts: 363
Fonction Randomint
« Reply #17 on: November 07, 2004, 03:35:47 PM »
pouf pouf
« Last Edit: November 07, 2004, 03:39:24 PM by Laurent »

Danker

  • Legomaniaque
  • Posts: 1025
    • http://
Fonction Randomint
« Reply #18 on: November 07, 2004, 05:15:31 PM »
HHuummm, Ok la réponse était a propos de la question :
Quote
(j'me suis gourré ?)
de laurent...

Ok, excusez-moi pour cette démonstration de BOULEEEEEET !! ^^/

 hihi  hihi  hihi  hihi  hihi  hihi  hihi  hihi  hihi  hihi  hihi  hihi  
« Last Edit: November 09, 2004, 12:58:32 PM by Danker »
De l'éducation les racines sont amères... Mais le fruit est doux !