Page 1 sur 2

Nombre Aleatoire

Posté : 07 juin 2014, 08:03
par bben
Bonjour,

j'aimerais savoir s'il est possible de generer un nombre de facon aleatoire avec supermacro et ainsi la stocker dans une variable numerique. J'ai effectivement trouve une facon(Fonction => Hasard), mais .. on peut Uniquement indique le nombre maximum de la valeur. Ce que je voudrais faire, c'est declarer un minimum et un maximum (comme ca, avec cette function du hasard, un nombre sera choisi entre ces deux nombre), et ce d'en faire un mouvement aleatoire de la souris avec les axes X et Y dans un emplacement restreint (ce pourquoi le minimum et maximum).

Sinon, en sommes, je trouve votre logiciel fabuleux et tres facile a comprendre, et.. qui comprend une multitude de chose utile !! Tel que le Trouve Image, franchement, sans cette option, je n'aurais pas ete bien loin dans mon execution ^^.

En esperant vous voir d'ici peu..

Cordialement,
bben.

Re: Nombre Aleatoire

Posté : 07 juin 2014, 10:28
par Feitan
Hello, pourquoi tu ne fais pas une variable pour X et une variable pour Y?
Sur un écran 1600*900 :
<VarX> = 1600
<VarY> = 900
Fonction <X>;Hasard;Nombre;<VarX>;
Fonction <Y>;Hasard;Nombre;<VarY>;

Et s'il te faut un minimum de 300 tu fais alors :
<VarX> = 1300
Fonction <X>;Hasard;Nombre;<VarX>;
Calcul évolué <X> = <X> + 300

Re: Nombre Aleatoire

Posté : 07 juin 2014, 13:22
par xan2622
Salut à tous.

Juste pour info, cette idée est déjà sur la liste des améliorations pour SuperMacro :
https://github.com/aadamfr/Super_macro/issues/24

On attend plus que Adam ait le temps d'y jeter un coup d'oeil :)

Re: Nombre Aleatoire

Posté : 07 juin 2014, 13:45
par Onissius
Simple même pas besoin d'améliorations, si tu veux des valeur entre 5 et 10 par exemple.
Tu fait ton random 5 il va te donner un chiffre entre 0 et 5 tu rajoute 5 à ce résultat et tu obtiens un chiffre entre 5 et 10. Si il te sort un 0 ça va faire un 5 et si il te sort un 5 ça deviens un 10.
Compris ?
Pour un nombre qui va de "xxx" à "yyy" ta formule, c'est "hazard (yyy-xxx) + xxx"

Re: Nombre Aleatoire

Posté : 07 juin 2014, 16:34
par papanou1965
Bonjour tout le monde.
Merci pour ces infos , elles vont me servir.
Figurez vous que je me posais la même question.
Bonne journée à tous.
Michel.

Re: Nombre Aleatoire

Posté : 07 juin 2014, 19:20
par bben
Wouah, cette reponse rapide, merci !!

Re: Nombre Aleatoire

Posté : 08 juin 2014, 00:18
par bben
Bonjour,

apres inspection de vos methodes, je suis toujours perdu, vos methode sont bonne, mais je crois que je me trompe a quelque part. Je vais vous donnez mes coordonnees de la zone dans laquelle je voudrais que la souris s'y trouve de facon "aleatoire".

Coin Haut gauche de la zone:
x = 1634
y = 853

et pour le coin Bas droit:
x = 1884
y = 1005

Donc, evidemment, c'est une zone assez restreinte, voila d'ou ma difficulte a applique vos methodes.. Pourriez-vous me donner un exemple avec ces chiffres, s'il vous plait ?

Re: Nombre Aleatoire

Posté : 08 juin 2014, 02:37
par Feitan
Tu vas faire un nombre aléatoire pour X entre 0 et 250 (1884-1634)
Pour Y entre 0 et 152

Pour X tu rajouteras 1634
Pour Y 1005

Bonne chance ;)

Re: Nombre Aleatoire

Posté : 08 juin 2014, 02:41
par bben
Ah voila,

merci, j'etais pas trop sur, mais je savais que j'aurai besoin du 250 de l'axe X, merci ^^

Re: Nombre Aleatoire

Posté : 09 juin 2014, 12:24
par Onissius

Code : Tout sélectionner

//X_Minimum & Y_Minimum => C'est les deux variable ou on va stocker la plus petite valeur de ton random.
//X_Maximum & Y_Maximum => C'est les deux variable ou on va stocker la plus grande valeur de ton random.
//X et Y, les deux variables où on va travailler et stocker les résultats de tes 2 random.
//On déclare nos variables.
var(<X_Minimum>,100,Numerique);
var(<X_maximum>,200,Numerique);
var(<Y_Minimum>,150,Numerique);
var(<Y_maximum>,250,Numerique);
var(<X>,0,Numerique);
var(<Y>,0,Numerique);
//On va calculer les difference pour X et Y.
<X>:=<X_maximum>-<X_Minimum>;
<Y>:=<Y_maximum>-<Y_Minimum>;
//On va faire les 2 random là.
Fonction(<X>,Hasard,Nombre,<X>);
Fonction(<Y>,Hasard,Nombre,<Y>);
//On a nos 2 chiffres, on va ajouter Xmini et Y mini.
<X>:=<X>+<X_Minimum>;
<Y>:=<Y>+<Y_Minimum>;
Voila ta macro pour obtenir un point aléatoire entre (100,150) et (200,250).
Édite ma macro, change la valeur des 4 variable X et Y.
En fin de macro tu obtiens 2 variable X et Y au hasard. Il ne te reste plus qu'a les utilisés.