Visualizzazione dei risultati da 1 a 3 su 3

Discussione: script paroliere

  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

    script paroliere

    Ciao a tutti. Vorrei simulare con uno script il gioco del paroliere.
    Purtroppo mi sono arenato al momento della ricerca delle parole all'interno del quadrato.
    Partendo dal presupposto che occorre creare un database col vocabolario sul quale effettuare il confronto, qualcuno di voi
    sa che algoritmo dovrei utilizzare per ricercare le parole componibili in base alle lettere estratte?
    Grazie fin d'ora a chi vorrà aiutarmi. Io non ho la più pallida idea di come procedere.

    Io sono arrivato a questo punto:

    Codice PHP:
    <?php
    $dado1 
    = array(=> "B""R""L""T""I""A");
    $dado2 = array(=> "U""L""E""P""T""S");
    $dado3 = array(=> "E""L""R""O""U""I");
    $dado4 = array(=> "H""E""F""S""I""E");
    $dado5 = array(=> "N""E""O""T""S""D");
    $dado6 = array(=> "Q""A""O""M""B""O");
    $dado7 = array(=> "T""E""O""C""N""U");
    $dado8 = array(=> "N""E""O""L""U""G");
    $dado9 = array(=> "H""I""N""R""E""S");
    $dado10 = array(=> "S""O""R""A""M""I");
    $dado11 = array(=> "G""I""V""T""E""N");
    $dado12 = array(=> "P""A""D""M""E""C");
    $dado13 = array(=> "C""A""R""L""E""S");
    $dado14 = array(=> "R""I""C""F""A""O");
    $dado15 = array(=> "A""O""E""A""T""I");
    $dado16 = array(=> "V""A""N""Z""E""D");

    for (
    $i=1$i<=16$i++)
    {
      
    $numeri[$i] = mt_rand(1,6);
    }


    $lettere_estratte = array( 1=> $lettera1 $dado1[$numeri[1]],
                       
    $lettera2 $dado2[$numeri[2]],
                       
    $lettera3 $dado3[$numeri[3]],
                               
    $lettera4 $dado4[$numeri[4]],
                       
    $lettera5 $dado5[$numeri[5]],
                       
    $lettera6 $dado6[$numeri[6]],
                       
    $lettera7 $dado7[$numeri[7]],
                       
    $lettera8 $dado8[$numeri[8]],
                          
    $lettera9 $dado9[$numeri[9]],
                       
    $lettera10 $dado10[$numeri[10]],
                       
    $lettera11 $dado11[$numeri[11]],
                       
    $lettera12 $dado12[$numeri[12]],
                       
    $lettera13 $dado13[$numeri[13]],
                       
    $lettera14 $dado14[$numeri[14]],
                       
    $lettera15 $dado15[$numeri[15]],
                       
    $lettera16 $dado16[$numeri[16]]
                );
    //Mischio le lettere.
    shuffle($lettere_estratte);

    function 
    sostituisci($lettere_estratte)
    {
        switch(
    $lettere_estratte)
        {
                case 
    "A":
               
    $letteraA str_replace($lettere_estratte"A","<img src=\"lettere/A.gif\">");
               return 
    $letteraA;
            break;    
               case 
    "B":        
            
    $letteraB str_replace($lettere_estratte"B","<img src=\"lettere/B.gif\">");
               return 
    $letteraB;
            break;    
               case 
    "C":        
            
    $letteraC str_replace($lettere_estratte"C","<img src=\"lettere/C.gif\">");
               return 
    $letteraC;
            break;    
               case 
    "D":        
            
    $letteraD str_replace($lettere_estratte"D","<img src=\"lettere/D.gif\">");
               return 
    $letteraD;
            break;    
               case 
    "E":        
            
    $letteraE str_replace($lettere_estratte"E","<img src=\"lettere/E.gif\">");
               return 
    $letteraE;
            break;    
               case 
    "F":        
            
    $letteraF str_replace($lettere_estratte"F","<img src=\"lettere/F.gif\">");
               return 
    $letteraF;    
            break;
               case 
    "G":        
            
    $letteraG str_replace($lettere_estratte"G","<img src=\"lettere/G.gif\">");
               return 
    $letteraG;    
            break;
               case 
    "H":        
            
    $letteraH str_replace($lettere_estratte"H","<img src=\"lettere/H.gif\">");
               return 
    $letteraH;    
            break;
               case 
    "I":        
            
    $letteraI str_replace($lettere_estratte"I","<img src=\"lettere/I.gif\">");
               return 
    $letteraI;    
            break;
               case 
    "L":        
            
    $letteraL str_replace($lettere_estratte"L","<img src=\"lettere/L.gif\">");
               return 
    $letteraL;    
            break;
               case 
    "M":        
            
    $letteraM str_replace($lettere_estratte"M","<img src=\"lettere/M.gif\">");
               return 
    $letteraM;    
            break;
            case 
    "N":        
            
    $letteraN str_replace($lettere_estratte"N","<img src=\"lettere/N.gif\">");
               return 
    $letteraN;    
            break;
               case 
    "O":        
            
    $letteraO str_replace($lettere_estratte"O","<img src=\"lettere/O.gif\">");
               return 
    $letteraO;    
            break;
               case 
    "P":        
            
    $letteraP str_replace($lettere_estratte"P","<img src=\"lettere/P.gif\">");
               return 
    $letteraP;    
            break;
               case 
    "Q":        
            
    $letteraQ str_replace($lettere_estratte"Q","<img src=\"lettere/Q.gif\">");
               return 
    $letteraQ;    
            break;
               case 
    "R":        
            
    $letteraR str_replace($lettere_estratte"R","<img src=\"lettere/R.gif\">");
               return 
    $letteraR;    
            break;
               case 
    "S":        
            
    $letteraS str_replace($lettere_estratte"S","<img src=\"lettere/S.gif\">");
               return 
    $letteraS;    
            break;
               case 
    "T":        
            
    $letteraT str_replace($lettere_estratte"T","<img src=\"lettere/T.gif\">");
               return 
    $letteraT;    
            break;
               case 
    "U":        
            
    $letteraU str_replace($lettere_estratte"U","<img src=\"lettere/U.gif\">");
               return 
    $letteraU;    
            break;
               case 
    "V":        
            
    $letteraV str_replace($lettere_estratte"V","<img src=\"lettere/V.gif\">");
               return 
    $letteraV;    
            break;
               case 
    "Z":        
            
    $letteraZ str_replace($lettere_estratte"Z","<img src=\"lettere/Z.gif\">");
               return 
    $letteraZ;    
            break;
        } 
    //fine switch

    // fine funzione

    echo "
    "
    ;
    echo 
    "<div align=\"center\">";
    echo 
    "<table>";
    echo 
    "<tr>";

    $i 1
    // Inizializzo il contatore per la suddivisione delle lettere in righe da 4 elementi
    foreach ($lettere_estratte as $value)
    {
           echo 
    "<td>";
           echo 
    sostituisci($value); // Richiamo la funzione definita in precedenza
           
    echo "</td>";
        
        if (
    $i == 0
            { 
                echo 
    "</tr>"
          echo (
    $i count($lettere_estratte)) ? "<tr>" ""
            } 
    //fine if 

    $i++; // Incremento il contatore per il ciclo successivo
    }   // fine foreach
    echo "</table>";
    ?>
    <input type="button" name="genera" value="Lancia i dadi" onClick="window.location.reload()">
    </div>

  2. #2
    quarda per la domanda specifica non ho tempo di starci dietro .. ma vedere quello switch-case mi fa rabbrividire :-)
    Codice PHP:
          case "Z":        
            
    $letteraZ str_replace($lettere_estratte"Z","<img src=\"lettere/Z.gif\">");
               return 
    $letteraZ
    un semplice e solo
    Codice PHP:
    return "<img src=\"lettere/$lettere_estratte.gif\">"); 
    non bastava?
    <?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
    ' socio fondatore e membro del direttivo del GrUSP ',"\n",
    ' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
    ' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ok Doc. Grazie per la dritta.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.