Gå til innhold

Mulig å velge tilfeldig ord fra en string c#?


Anbefalte innlegg

Videoannonse
Annonse

Har googlet litt rundt, men ikke funnet noe konkret på dette..

Er det mulig å bruke Random el for å plukke ut et tilfeldig ord fra en string?

 

 

F. Eks

string farge = "RØD,GUL,GRØNN";
using System;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();
      string[] colors = { "Rød", "Gul", "Grønn" };                                     

      // Generate random indexes for colors. 
      int mIndex = rnd.Next(colors.Length);

      // Display the result.
      Console.WriteLine("Tilfeldig farge:     {0}", colors[mIndex]);
   }
}
Lenke til kommentar

Ja, det er selvsagt mulig.

 

Hvis det er viktig at det blir "helt" tilfeldig, og ikke høyere sannsynlighet for å trekke lange ord enn korte, kan du kanskje parse strengen, og putte enkeltordene i et array, og så trekke tilfeldg array-index, istedenfor å trekke tilfeldig streng-index, da blir det høyere sannsynlighet for å trekke et lengre ord enn et kortere.

 

Edit: ja der komet det par gode svar mens jeg skrev også ... :o)

Endret av quantum
Lenke til kommentar
  • 1 år senere...

Hvis du skal plukke tilfeldige ord ut i et spill hvor det er viktig å ha tilfeldige ord (f.eks for å vinne penger) så ville jeg styrt unna uniform prng'er fordi de er designet for å gi jevn spredning, det siste man vil ha i et spill om penger er jevn spredning. Hvis trekningen av ord skjer ved intervaller på iallefall 1 sekund mellom hver gang så ville jeg brukt en høypresisjons teller og bruke den nedre byten av den, den roterer på 3.5 millioner ganger i sekundet, da får du tilfeldige tall som ikke er uniforme, og evig nok til å være uforutsigbart for et spill om ord.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...