Randomizer

Contenu du snippet

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));
}


Compatibilité : C

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.