Les Snippets

Connexion

Randomizer

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 25/03/2006 22:30:48 et initié par SAKingdom [Liste]
Date de mise à jour : 11/09/2006 12:22:00
Vue : 6944
Catégorie(s) : Trucs & Astuces
Langages dispo pour ce code :
- C
- VB6, VBA
- Javascript
- PHP 5
- Voir tous les langages pour ce code snippet



Langage : C
Date ajout : 25/03/2006
Posté par SAKingdom [Liste]
DateMAJ : 27/03/2006

void SeedRandomizer (void) //Fonction préparent le randomizer
{
    SYSTEMTIME systime;
    UINT setseed = 0;
    GetSystemTime(&systime); //Recupération du temps système
    setseed = ((UINT)systime.wYear + (UINT)systime.wMonth + (UINT)systime.wDayOfWeek + (UINT)systime.wDay+ (UINT)systime.wHour + (UINT)systime.wMinute + (UINT)systime.wSecond + (UINT)systime.wMilliseconds);
/*
Addition de l'année, le mois, la semaine etc
Cette méthode assure de ne jamais avoir deux fois dans toute une vie le même nombre à la même période de temp (le chiffre généré le 01/01/05 peut être égale le 01/01/20 si l'année n'est pas additionné)
*/
    srand(setseed);
}
int ReturnRandomNumber (int Min, int Max) //Fonction retournent le nombre
{
    int Result = 0;
    Result = ((rand() % (int)(((Max) + 1) - (Min))) + (Min)); // Calcule du nombre à retourner selon les paramêtres
    return Result;
}
VERSION 2:
void InitRandomizer(void)
{
  LARGE_INTEGER li;
  QueryPerformanceCounter(&li);
  srand(li.LowPart);
}

int RandomLimited(int iMin, int iMax)
{
  if(iMax == iMin) return iMax;
  if(iMax < iMin) {
    int t;
    t = iMin;
    iMin = iMax; iMax = t;
  }
  return iMin + (rand() % (iMax - iMin + 1));
}

Remarque :
Il faut utiliser SeedRandomizer avant ReturnRandomNumber. SeedRandomizer ne doit être utilisé qu'au début du programme et qu'une seul fois.
Version 2 ajoutée pour exploiter un seedRand en full 32 bits sinon on n'aurait pas toutes les séquences random possibles.

Snippets en rapport avec : Randomizer, Aléatoire



Codes sources en rapport avec : Randomizer, Aléatoire

{Python} TRADUCTEUR LEET SPEAK
Bonjour ! Voici ma première source en Python. Je le bosse depuis seulement quelques jours. Ce co...

{Python} HISTOGRAMME ALÉATOIRE
Cette source est issue d'un exercice tiré du livre "Apprendre à programmer avec Python" de Gérard Sw...

{Javascript / DHTML} NOMBRE ALÉATOIRE
Fonction réutilisable qui retourne un nombre aléatoire dans l'intervalle choisi.Inspiré de la foncti...

{PHP} CITATION ALÉATOIRE AU CHARGEMENT D'UNE PAGE WEB
J'ai fait un site internet et je voulais mettre une petite citation, sur la banière, qui change à ch...

{PHP} GÉNÉRER UNE CHAÎNE ALÉATOIRE SANS BOUCLE NI CRYPTAGE (MD5 OU AUTRE)
Jusqu'à présent tous les générateurs de clé que j'ai trouvé utilisait une boucle ou les fonction sha...

{Python} JEU DU CHIFFRE PYTHON
Bonjour, C'est un jeu très simple mais amusant en Python où l'on doit deviner un chiffre que l'or...

{Visual Basic, VB6, VB.NET, VB 2005} INTERRUPTEUR ALÉATOIRE
Cette source se rattache à ce problème mathématique : http://www.ilemaths.net/forum-sujet-205103.ht...

{Visual Basic, VB6, VB.NET, VB 2005} GÉNÉRATEUR DE CHAINES PSEUDO-ALÉATOIRES
Salut tout le monde. La pitite source que je dépose ici permet de générer une chaine de caractères d...

{Visual Basic, VB6, VB.NET, VB 2005} EXCEL : AVOIR UN MOT DE PASSE CRYPTÉ V3.3
Crypteur v3.3 Une clée est ajouté PS :C'est ma premiere source donc soyez indulgents Post...

{PHP} FUNCTION CAPTCHA
Cette fonction permet de créer une image PNG contenant des caractères générés de façon aléatoire. ...