• Super User

    non si includono le gif 🙂 devi inserirle con il tag img invece che con l'include. vedi se così va..sennò ripassa che vediamo dov'è il problema


  • User Attivo

    Oky: ci provo, poi faccio sapere.

    Grazie mille!


  • User Attivo
    <?php
      
      $random_d_1 = rand&#40;0,4&#41;;
      
        switch&#40;$random_d_1&#41;&#123;
        	case $random_d_1 == 1:
        	     echo "<img src=\"d_blue.gif\">";
        		 break;
        	case $random_d_1 == 2&#58; 
        		 echo "<img src=\"d_green.gif\">";
        		 break;
        	case $random_d_1 == 3&#58; 
        		 echo "<img src=\"d_red.gif\">";
        		 break;
        	case $random_d_1 == 4&#58; 
        		 echo "<img src=\"d_yellow.gif\">";
        		 break;
        	default&#58;
        		 echo "Error";
        
    	&#125;
      
      $random_a_1 = rand&#40;0,4&#41;;
      
        switch&#40;$random_a_1&#41;&#123;
        	case $random_a_1 == 1&#58; 
        	     echo "<img src=\"a_blue.gif\">";
        		 break;
        	case $random_a_1 == 2&#58; 
        		 echo "<img src=\"a_green.gif\">";
        		 break;
        	case $random_a_1 == 3&#58; 
        		 echo "<img src=\"a_red.gif\">";
        		 break;
        	case $random_a_1 == 4&#58; 
        		 echo "<img src=\"a_yellow.gif\">";
        		 break;
        	default&#58;
        		 echo "Error";
        
    	&#125;
    ?>
    

    :fumato:


  • User Attivo

    A proposito del codice qui sopra, qualcuno sa come compattarlo?
    Nel senso, dato questo codice:

    <?php 
      
      $random_d_1 = rand&#40;0,4&#41;; 
      
        switch&#40;$random_d_1&#41;&#123; 
           case $random_d_1 == 1: 
                echo "<img src=\"d_blue.gif\">"; 
               break; 
           case $random_d_1 == 2&#58; 
               echo "<img src=\"d_green.gif\">"; 
               break; 
           case $random_d_1 == 3&#58; 
               echo "<img src=\"d_red.gif\">"; 
               break; 
           case $random_d_1 == 4&#58; 
               echo "<img src=\"d_yellow.gif\">"; 
               break; 
           default&#58; 
               echo "Error"; 
        
       &#125; 
    ?>
    

    qualcuno sa come semplificarlo, raggiungendo lo stesso risultato? Mio fratello m'ha detto d'utilizzare un ciclo for, ma non mi è tanto chiara l'idea.. :mmm:


  • Super User

    se cambi i nomi delle gif, puoi usare questo codice:

    
    <?php
     
      $random_d_1 = rand&#40;0,4&#41;;
    
    echo "<img src=\"d_".$random_d_1.".gif\">";
    ?>
    
    

    altrimenti nada 🙂


  • User Attivo

    Mmm, capito capito... 😎

    E, sempre per caso 😉 , ti viene in mente come rendere un pò più "casuali" i colori delle lettere? Voglio dire: così com'è, capita spesso che ci siano più lettere vicine con lo stesso colore. E' possibile rimediare?


  • Super User
    
    <?php
    
    $random_d_1=array&#40;1, 2, 3, 4&#41;;
    
    $valore="";
    $valore2="";
    
    inizio ciclo.. 
    
    if&#40;$valore!=""&#41;&#123; $valore2=$valore; array_shift&#40;$random_d_1&#41;; &#125;
    
    shuffle&#40;$random_d_1&#41;; 
    
    $valore = $random_d_1&#91;0&#93;;
    
    echo "<img src=\"d_".$valore.".gif\">";
    
    if&#40;$valore2!=""&#41;&#123; $random_d_1&#91;4&#93; = $valore2; &#125;
    
    ..fine ciclo
    ?> 
    
    

    Il codice (che ho fatto al volo e non ho testato) dovrebbe fare questo:

    assegna all'array $random_d_1 i numeri 1, 2, 3, 4 e inizializza le variabili $valore e $valore2

    Nel ciclo invece se $valore è iverso da vuoto allora assegna a $valore2 il contenuto di $valore e toglie dall'array $random_d_1 il numero che coincide con $valore.

    poi mescola l'array e assegna a $valore il numero che corrisponde alla posizione 0 dell'array.

    crea l'immagine

    se $valore2 è diverso da vuoto allora inserisce alla fine dell'array (la posizione 4) il valore che prima aveva eliminato.


    in sostanza questo script (se funziona) fa questo:

    abbiamo 4 palline e le mescoliamo

    ne prendiamo una a caso (che chiamiamo A) e la scriviamo

    ne prendiamo un'altra a caso (B) senza rimettere A nel cesto e la scriviamo

    rimettiamo A nel cesto e peschiamo un'altra pallina (C), la scriviamo e rimettiamo B nel cesto

    e così via


    In questo modo è impossibile che vengano pescate 2 palline consecutive con lo stesso valore. :fumato:

    Dimmi se non funziona


  • Super User

    Sempre ottimo kerouac3001 😉


  • Super User

    @ico1989 said:

    A proposito del codice qui sopra, qualcuno sa come compattarlo?
    Nel senso, dato questo codice:

    <?php 
     
     $random_d_1 = rand&#40;0,4&#41;; 
     
       switch&#40;$random_d_1&#41;&#123; 
          case $random_d_1 == 1: 
               echo "<img src=\"d_blue.gif\">"; 
              break; 
          case $random_d_1 == 2&#58; 
              echo "<img src=\"d_green.gif\">"; 
              break; 
          case $random_d_1 == 3&#58; 
              echo "<img src=\"d_red.gif\">"; 
              break; 
          case $random_d_1 == 4&#58; 
              echo "<img src=\"d_yellow.gif\">"; 
              break; 
          default&#58; 
              echo "Error"; 
       
      &#125; 
    ?>
    

    qualcuno sa come semplificarlo, raggiungendo lo stesso risultato? Mio fratello m'ha detto d'utilizzare un ciclo for, ma non mi è tanto chiara l'idea.. :mmm:

    PS: gli switch si dovrebbero usare così!

    <?php 
      
      $random_d_1 = rand&#40;0,4&#41;; 
      
        switch&#40;$random_d_1&#41;&#123; 
           case  1&#58; 
                echo "<img src=\"d_blue.gif\">"; 
               break; 
           case 2&#58; 
               echo "<img src=\"d_green.gif\">"; 
               break; 
           case 3&#58; 
               echo "<img src=\"d_red.gif\">"; 
               break; 
           case 4&#58; 
               echo "<img src=\"d_yellow.gif\">"; 
               break; 
           default&#58; 
               echo "Error"; 
        
       &#125; 
    ?>
    

  • User Attivo

    Mmm, sagace... 😉
    Ci devo riflettere: appena ho un pò di tempo (con la scuola...), lo provo e ti faccio sapere.
    Grazie 1000 :ciauz:


  • User Attivo

    Ok, raga: penso di avercela fatta.

    Appena completato il codice ve lo posto.

    🙂


  • User Attivo
    <?php
    
    //Prima estrazione
    
    $array = array&#40;1 => "GIORGIOTAVE", "RINZI", "SMS"&#41;;
    
    echo "I forummisti sono: ";
    print_r&#40;$array&#41;;
    
    echo"
    ";
    
    $random_chiave = array_rand&#40;$array&#41;;
    
    $random_valore = $array&#91;$random_chiave&#93;;
    echo "
    Il forummista estratto è&#58; " . $random_valore . "
    ";
    
    $random_chiave_meno1 = --$random_chiave;
    
    array_splice&#40;$array, $random_chiave_meno1, 1&#41;;
    
    $elimina1 = array_pop&#40;$array&#41;;
    $elimina2 = array_pop&#40;$array&#41;;
    $array = array&#40;1 => $elimina1, $elimina2&#41;;
    
    echo "
    I forummisti rimanenti sono&#58; ***";
    print_r&#40;$array&#41;;
    echo "***";
    
    echo "
    <hr>
    ";
    
    //Seconda Estrazione;
    
    echo "I forummisti sono&#58; ";
    print_r&#40;$array&#41;;
    
    echo"
    ";
    
    $random_chiave_2 = array_rand&#40;$array&#41;;
    
    $random_valore_2 = $array&#91;$random_chiave_2&#93;;
    echo "
    Il forummista estratto è&#58; " . $random_valore_2 . "
    ";
    
    $array&#91;&#93; = $random_valore;
    
    $random_chiave_2_meno1 = --$random_chiave_2;
    
    array_splice&#40;$array, $random_chiave_2_meno1, 1&#41;;
    
    $elimina_1_2 = array_pop&#40;$array&#41;;
    $elimina_2_2 = array_pop&#40;$array&#41;;
    $array = array&#40;1 => $elimina_2_2, $elimina_1_2&#41;;
    
    echo "
    I forummisti, dopo il ritorno di " . $random_valore . ", sono&#58; ***";
    print_r&#40;$array&#41;;
    echo "***";
    
    echo "
    <hr>
    ";
    
    &#91;...&#93;
    
    ?>
    

    Lo so, raga, è lunghissimo, ma per ora questo so fare...

    x kerouac: > array_shift($random_d_1);
    Non penso si usi così :mmm:

    x Pater:
    se analizzi attentamente il codice, capisci perchè ho fatto la domanda nell'altro post.

    Dimenticavo, ecco l'output:

    I forummisti sono: Array ( [1] => GIORGIOTAVE [2] => RINZI [3] => SMS )

    Il forummista estratto è: RINZI

    I forummisti rimanenti sono: Array ( [1] => SMS [2] => GIORGIOTAVE )


    I forummisti sono: Array ( [1] => SMS [2] => GIORGIOTAVE )

    Il forummista estratto è: SMS

    I forummisti, dopo il ritorno di RINZI, sono: Array ( [1] => GIORGIOTAVE [2] => RINZI )


    🙂


  • Super User

    si hai ragione..va assegnato ad una variabile