Search Unity

Random numbers in a field

Discussion in 'Scripting' started by Mirek Uhlir, Mar 6, 2011.

  1. Mirek Uhlir

    Mirek Uhlir

    Joined:
    Dec 25, 2009
    Posts:
    124
    I am not sure why this code does not work
    Code (csharp):
    1. function RandomNumbers(){
    2.  
    3. var k : int = 0;
    4.  
    5. for (i=1; i<=4; i++){
    6.  
    7. randomIndex = Random.Range(0, 3);  
    8. fieldRandomIndex[k] =  randomIndex;
    9.  while(randomIndex in fieldRandomIndex){
    10. randomIndex = Random.Range(0, 3);  
    11.    
    12. }
    13.  
    14.  
    15. fieldRandomIndex[k] =  randomIndex;  
    16.  
    17. k++;
    18.  
    19. }
    20.  
    21. }
    22.  
    Thanks for any help.
     
  2. ivkoni

    ivkoni

    Joined:
    Jan 26, 2009
    Posts:
    978
    what are you trying to do exactly?
     
  3. Mirek Uhlir

    Mirek Uhlir

    Joined:
    Dec 25, 2009
    Posts:
    124
    I need to fill an array of X ofelements using random certain extent, but without number repetition.
    I want to use this field to shuffle cards.
     
  4. ivkoni

    ivkoni

    Joined:
    Jan 26, 2009
    Posts:
    978
    then use this:
    Code (csharp):
    1.  
    2. function Shuffle (arr : Transform[]){    
    3.     var rand : int = 0;
    4.     var temp : Transform;
    5.     for (var i = arr.Length - 1; i > 0; i--) {        
    6.         rand = Random.Range(0,i);        
    7.         tmp = arr[i];        
    8.         arr[i] = arr[rand];        
    9.         arr[rand] = tmp;  
    10.     }
    11. }
    12.  
     
  5. Mirek Uhlir

    Mirek Uhlir

    Joined:
    Dec 25, 2009
    Posts:
    124
    Thanks, very neat function.