Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [AS2] serie random

  1. #1

    [AS2] serie random

    Ciao a tutti, ho un problema! deve generare una serie random di numeri..
    riesco a generare dei numeri random da 1 a 3 per esempio:
    Codice PHP:
    //funzione random
    function randRange(min:Numbermax:Number):Number {
        var 
    randomNum:Number Math.floor(Math.random()*(max-min+1))+min;
        return 
    randomNum;
    }
    for (var 
    0i<3; ) {
        var 
    n:Number randRange(13);
            
    trace("scheda"+i+":"+n);
            
    i++;
        


    il mio problema è che non voglio numeri doppi.. mi spiego: lo scrip sopra mi genera dei numeri casuali da 1 a 3 ma questi numeri possono ache essere doppi o tutti uguali ..
    ES: 1,2,2 o 1,1,1 o 2,3,2
    quello che voglio io invece è una serie da 1 a 3 casuale senza ripetizioni..

    ES: 1,2,3 o 2,3,1 o 3,1,2

    come posso fare?? Penso sia una cosa semplice ma nn ci arrivo!!! grasssie!!
    Designer ci si i(n)venta...
    www.3dtre.com

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    io farei così, sfruttando un array
    Codice PHP:
    var a:Array = [1,2,3];
    var 
    n:Number Math.floor(Math.random()*a.length);
    var 
    r:* = a[n];
    a.splice(n,1);

    for(var 
    i:Number=0i<3i++) {
        var 
    r;
        
    Math.floor(Math.random()*a.length);
        
    a[n];
        
    a.splice(n,1);
        
    a.push(t);
        
    trace(r+","+a);


  3. #3
    sono riuscito con questo:

    Codice PHP:
    // creo l' array dei numeri
    var ArrayNum:Array = new Array();
    // range dei numeri da 1 a maxRange
    var maxRange:Number 3;
    // popolo l' array prendendo come parametro maxRange
    for (var i:Number 1i<=maxRangei++) {
        
    ArrayNum.push(i);
    }

    // questa funzione estrare dei numeri a caso dalla lista
    function getNumRamdom(tot:Number):Array {
        
    // creo un array temporaneo
        
    var tempArray = new Array();
        var 
    copy ArrayNum.concat();
        
    // creo una copia del'array dei numeri
        
    for (var a:Number 0a<tota++) {
            
    // trovo un numero di posizione random
            
    var pos int(Math.random()*copy.length);
            
    // ottengo il numero random
            
    var num copy[pos];
            
    // lo aggiungo all' array temporaneo
            
    tempArray.push(num);
            
    // elimino l' elemento dalla array copy
            
    copy.splice(pos,1);

        }
        return 
    tempArray;
    }

    trace(getNumRamdom(3)); 
    il trace però mi restituisce : 1,2,3 o 2,3,1
    io invece vorrei creare delle nuove varibili da questi numeri
    ES: var1= 2 var2=3 var3=1
    Designer ci si i(n)venta...
    www.3dtre.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.