Les Snippets

Connexion

Choisir une valeur parmis 5 autres en 1 ligne

Niveau requis pour utiliser/comprendre cette source : 2 ( Initié )
Créé le 31/10/2008 22:19:33 et initié par stefbuet [Liste]
Date de mise à jour : 27/11/2008 04:55:35
Vue : 840
Catégorie(s) : Trucs & Astuces
Langages dispo pour ce code :
- ActionScript Flash
- VB6, VBA
- VB 2005, VB 2008
- C# 2.x, C# 3.x



Langage : ActionScript Flash
Date ajout : 31/10/2008
Posté par stefbuet [Liste]
//Soit 5 variables qui possèdent des valeurs differantes :
var a:uint=1;
var b:uint=2;
var c:uint=3;
var d:uint=4;
var e:uint=5;
//l'attribution d'une des 5 valeurs avec la même probabilité d'être selectionné dans une variables f en 1 ligne se fait comme cela :
var f:uint = Math.floor(Math.random()*5)<1)?a():((Math.random()<0.5)?((Math.random()<0.5)?b:c):((Math.random()<0.5)?d:e));
//pourquoi avoir choisi entre 5 valeurs ? Car c'est un nombre impaire, en effet faire une selection entre x valeurs, x nombre pair est beaucoup plus simple (utilisation de multitudes de ? à la suite)
//Sur le même modèle vous pouvez choisir une valeurs entre 7, 9, 11, etc... valeur...
//pour l'info, pour choisir entre 4 valeurs a, b, c, d dans une variable e :
e=(Math.random()>0.5)?((Math.random()>0.5)?a:b):((Math.random()>0.5)?c:d)
    
Langage : VB6 , VBA
Date ajout : 27/11/2008
Posté par PCPT [Liste]
DateMAJ : 27/11/2008
VariantValue = VBA.Interaction.Choose(Int((5  * Rnd) + 1),  1, 2, 3, 4, 5)

Langage : VB 2005 , VB 2008
Date ajout : 08/12/2008
Posté par Charles Racaud [Liste]
Public Function Choose(Of T)(ByVal ParamArray Values() As T) As T
  Return Choose(Of T)(New System.Random().Next(0, Values.Length - 1), Values)
End Function
Public Function Choose(Of T)(ByVal Index As IntegerByVal ParamArray Values() As T) As T
  Return Values(Index)
End Function

' Exemple d'utilisation :
Dim a1 As String = Choose(Of String)(2"a""b""c""d"' a1 = "c"
Dim a2 As String = Choose(Of String)("a""b""c""d"' a2 = "a", "b", "c" ou "d"
Dim b1 As Integer = Choose(Of Integer)(1234' b1 = 3
Dim b2 As Integer = Choose(Of Integer)(New Integer() {1234}) ' b2 = 1, 2, 3 ou 4
' Provoque une des 4 exceptions
Throw Choose(Of System.Exception)(New System.IO.FileNotFoundException(), _
                                  New System.Runtime.InteropServices.SEHException(), _
                                  New System.Security.SecurityException(), _
                                  New System.Exception("moa"))
Langage : C# 2.x , C# 3.x
Date ajout : 08/12/2008
Posté par Charles Racaud [Liste]
static T Choose<T>(params T[] Values) {
  return Choose<T>(new System.Random().Next(0, Values.Length - 1), Values);
}
static T Choose<T>(int Index, params T[] Values) {
  return Values[Index];
}

// Exemple d'utilisation :
string a1 = Choose<string>(2, "a", "b", "c", "d"); // a1 = "c"
string a2 = Choose<string>("a", "b", "c", "d"); // a2 = "a", "b", "c" ou "d"
int b1 = Choose<int>(1, 2, 3, 4); // b1 = 3
int b2 = Choose<int>(new int[] { 1, 2, 3, 4 }); // b2 = 1, 2, 3 ou 4
// Provoque une des 4 exceptions
throw Choose<System.Exception>(new System.IO.FileNotFoundException(),
                               new System.Runtime.InteropServices.SEHException(),
                               new System.Security.SecurityException(),
                               new System.Exception("moa"));

Snippets en rapport avec : Random, Variable, Propre, Attribution, Choix



Codes sources en rapport avec : Random, Variable, Propre, Attribution, Choix

{Flash} RÉCUPÉRER UNE VARIABLE DANS L'ADRESSE DIRECTEMENT DANS FLASH
Récupérer des variables... Voila une catégorie bien pleine... Cependant, récupérer celle dans l'adr...

{Visual Basic, VB6, VB.NET, VB 2005} GESTION DYNAMIQUE DES ITEMS - BIEN PLUS INTERESSANT QUE LES TABLEAUX DYNAMIQUES
Tout le monde a recours dans la programmation à des tableaux dynamiques, besoin de validation de val...

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

{Visual Basic, VB6, VB.NET, VB 2005} NOMBRES ALEATOIRE AVEC LA METHODE RANDOM
cette source utilise la methode randomize et les resultats des msgbox.Je sais que cette methode est ...

{Visual Basic, VB6, VB.NET, VB 2005} CASINO - SIMULATION DU JEUX CASINO (RANDOM EN VB.NET)
simulation du jeux de casino, avec les random et les timer. NB : il nécessite la présence de la p...

{Delphi} FULLSLIDING
Petit exercice de vacances... Effet de déplacements aléatoire d'images avec quelques commentaires. ...

{Visual Basic, VB6, VB.NET, VB 2005} PARADOXE DES ANNIVERSAIRES
J'hésite entre la catégorie "Math" et "VbScript" pour cette source. Il s'agit d'un script traitant d...

{Javascript / DHTML} [CF) CHOIX D'UN FICHIER
pour une application locale, j'avais besoin que les utilisateurs choisissent un fichier, et de ré...

{Visual Basic, VB6, VB.NET, VB 2005} VOCAL CITATION
Utilisation d'un Ms Agent pour lire un texte, rapporter une erreur donner une expliquation sur la ...

{Visual Basic, VB6, VB.NET, VB 2005} RANDOMPASSWORDGENERATOR
générateur aléatoire de mots de passe: ce programme crée 100 mots de passe aléatoire puis en choisi...