-2

我试图用元音和辅音制作超过 7000 个独特的单词。这两个词都可以用 3 到 9 个字母之间的字符组成。这些单词中的每一个都将获得随机的“能力”。我不明白我哪里错了。当我运行代码时,我有许多
完全相同的代码行。我应该如何/在哪里更改代码以完美运行?

$vowels = array("a", "e", "i", "o", "u");
$consonants = array("b", "c", "k", "d", "f", "g", "h", "l", "m", "n", "p", "r", "s", "t", "v", "z" );


function randomvocala()
{
  global $vowels;
  return $vowels[array_rand($vowels, 1)];
}

function randomconsoana()
{
  global $consonants;
  return $consonants[array_rand($consonants, 1)];
}




    echo "<a href='creeareiteme.php?incercare=2'><center>GO</center></a>";

    $functie_iteme = mysql_query("select * from iteme");
    if ($_GET['incercare'] == 2 )
{
 $iduri_db = 43;

    while ($iduri_db < 7000)
    {

     $cate_litere_primul_cuvant = rand(3,9);
 if($cate_litere_primul_cuvant == 3)
 $primul_cuvant = ucfirst("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "");
 if($cate_litere_primul_cuvant == 4)
 $primul_cuvant = ucfirst("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "");
 if($cate_litere_primul_cuvant == 5)
 $primul_cuvant = ucfirst("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "");
 if($cate_litere_primul_cuvant == 6)
 $primul_cuvant = ucfirst("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "");
 if($cate_litere_primul_cuvant == 7)
 $primul_cuvant = ucfirst("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "");
 if($cate_litere_primul_cuvant == 8)
 $primul_cuvant = ucfirst("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "");
 if($cate_litere_primul_cuvant == 9)
 $primul_cuvant = ucfirst("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "");




  $cate_litere_aldoilea_cuvant = rand(3,9);
 if($cate_litere_aldoilea_cuvant == 3)
 $aldoilea_cuvant = ("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "");
 if($cate_litere_aldoilea_cuvant == 4)
 $aldoilea_cuvant = ("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "");
 if($cate_litere_aldoilea_cuvant == 5)
 $aldoilea_cuvant = ("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "");
 if($cate_litere_aldoilea_cuvant == 6)
 $aldoilea_cuvant = ("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "");
 if($cate_litere_aldoilea_cuvant == 7)
 $aldoilea_cuvant = ("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "");
 if($cate_litere_aldoilea_cuvant == 8)
 $aldoilea_cuvant = ("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "");
 if($cate_litere_aldoilea_cuvant == 9)
 $aldoilea_cuvant = ("" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "" . randomvocala() . "" . randomconsoana() . "");




$rasa_obiectului = rand(1,14);
if($rasa_obiectului == 1) $tipul_obiectului = " 'Altele' ";
elseif ($rasa_obiectului == 2) $tipul_obiectului = " 'Coifuri' ";
elseif ($rasa_obiectului == 3) $tipul_obiectului = " 'Platosa' ";
elseif ($rasa_obiectului == 4) $tipul_obiectului = " 'Arme' ";
elseif ($rasa_obiectului == 5) $tipul_obiectului = " 'Amuleta' ";
elseif ($rasa_obiectului == 6) $tipul_obiectului = " 'Ghete' ";
elseif ($rasa_obiectului == 7) $tipul_obiectului = " 'Bratara' ";
elseif ($rasa_obiectului == 8) $tipul_obiectului = " 'Inel_3' ";
elseif ($rasa_obiectului == 9) $tipul_obiectului = " 'Inel_2' ";
elseif ($rasa_obiectului == 10) $tipul_obiectului = " 'Inel_1' ";
elseif ($rasa_obiectului == 11) $tipul_obiectului = " 'Manusi' ";
elseif ($rasa_obiectului == 12) $tipul_obiectului = " 'Centura' ";
elseif ($rasa_obiectului == 13) $tipul_obiectului = " 'Pantaloni' ";
elseif ($rasa_obiectului == 14) $tipul_obiectului = " 'Scuturi' ";


$cuvant = "$primul_cuvant $aldoilea_cuvant";

if ($tipul_obiectului != " 'Altele' ")
{
$sansa_pentru_putere = rand(1,4);
if ($sansa_pentru_putere == 2)
$puterea_obiectului = rand(-75,75);
else $puterea_obiectului = 0;


$sansa_pentru_procentaj_putere = rand(1,6);
if ($sansa_pentru_procentaj_putere == 2)
$procent_puterea_obiectului = rand(-25,35);
else $procent_puterea_obiectului = 0;


$sansa_pentru_dexteritate = rand(1,4);
if ($sansa_pentru_dexteritate == 2)
$dexteritatea_obiectului = rand(-75,75);
else $dexteritatea_obiectului = 0;


$sansa_pentru_procentaj_dexteritate = rand(1,6);
if ($sansa_pentru_procentaj_dexteritate == 2)
$procent_dexteritate_obiectului = rand(-25,35);
else $procent_dexteritate_obiectului = 0;


$sansa_pentru_rezistenta = rand(1,4);
if ($sansa_pentru_rezistenta == 2)
$rezistenta_obiectului = rand(-75,75);
else $rezistenta_obiectului = 0;


$sansa_pentru_procentaj_rezistenta = rand(1,6);
if ($sansa_pentru_procentaj_rezistenta == 2)
$procent_rezistenta_obiectului = rand(-25,35);
else $procent_rezistenta_obiectului = 0;


$sansa_pentru_carisma = rand(1,4);
if ($sansa_pentru_carisma == 2)
$carisma_obiectului = rand(-75,75);
else $carisma_obiectului = 0;


$sansa_pentru_procentaj_carisma = rand(1,6);
if ($sansa_pentru_procentaj_carisma == 2)
$procent_carisma_obiectului = rand(-25,35);
else $procent_carisma_obiectului = 0;


$sansa_pentru_inteligenta = rand(1,4);
if ($sansa_pentru_inteligenta == 2)
$inteligenta_obiectului = rand(-75,75);
else $inteligenta_obiectului = 0;


$sansa_pentru_procentaj_inteligenta = rand(1,6);
if ($sansa_pentru_procentaj_inteligenta == 2)
$procent_inteligenta_obiectului = rand(-25,35);
else $procent_inteligenta_obiectului = 0;
}

if (($tipul_obiectului != " 'Arme' ") AND ($tipul_obiectului != " 'Altele' "))
{  

$sansa_pentru_daune_minime = rand(1,15);
if ($sansa_pentru_daune_minime == 8)
$daune_minime_ale_obiectului = rand(-100,100);
else $daune_minime_ale_obiectului = 0;


$sansa_pentru_procentaj_daune_minime = rand(1,10);
if ($sansa_pentru_procentaj_daune_minime == 8)
$procent_daune_minime_ale_obiectului = rand(-25,50);
else $procent_daune_minime_ale_obiectului = 0;


$sansa_pentru_daune_maxime = rand(1,15);
if ($sansa_pentru_daune_maxime == 8)
$daunele_maxime_finale = rand(-100,100);
else $daunele_maxime_finale = 0;

$sansa_pentru_procentaj_daune_maxime = rand(1,10);
if ($sansa_pentru_procentaj_daune_minime == 8)
$procent_daune_maxime_ale_obiectului = rand(-25,50);
else $procent_daune_maxime_ale_obiectului = 0;
}


elseif ($tipul_obiectului != " 'Altele' ")
{
$daune_minime_ale_obiectului = rand(1,100);

$sansa_pentru_procentaj_daune_minime = rand(1,10);
if ($sansa_pentru_procentaj_daune_minime == 8)
$procent_daune_minime_ale_obiectului = rand(5,15);
else $procent_daune_minime_ale_obiectului = 0;


$daune_maxime_ale_obiectului = rand(0,100);
$daune_max = $daune_minime_ale_obiectului + $daune_maxime_ale_obiectului;
$daunele_maxime_finale = rand($daune_minime_ale_obiectului,$daune_max);


$sansa_pentru_procentaj_daune_maxime = rand(1,10);
if ($sansa_pentru_procentaj_daune_maxime == 8)
$procent_daune_maxime_ale_obiectului = rand(5,15);
else $procent_daune_maxime_ale_obiectului = 0;
}


if ($tipul_obiectului != " 'Altele' " )
{
    if ($tipul_obiectului == " 'Arme' ")
    {
    $sanse_puncte_atac = rand(10,500);
    $sansa_viata_max = rand(1,15);
    }
    elseif ($tipul_obiectului !=" 'Arme' ")
    {
    $sanse_bonus_pentru_atac = rand(1,5);
        if($sanse_bonus_pentru_atac == 2)
        $sanse_puncte_atac = rand(-200,200);

        if($tipul_obiectului == " 'Coifuri' " OR 
        $tipul_obiectului == " 'Ghete' "  OR 
        $tipul_obiectului == " 'Manusi' " OR
        $tipul_obiectului == " 'Centura' " OR
        $tipul_obiectului == " 'Pantaloni' " OR
        $tipul_obiectului == " 'Scuturi' ")
        $sanse_puncte_aparare = rand(-250,250);

        if($tipul_obiectului == " 'Platosa' ")
        $sanse_puncte_aparare = rand(1,500);

        $sansa_viata_max = rand(1,10);
        $sansa_mana_max = rand(1,10);
        $sansa_viata_max_regen = rand(1,10);
        $sansa_mana_max_regen = rand(1,10);
        $sansa_procentaj_atac = rand(1,10);
        $sansa_procentaj_aparare = rand(1,10);
        $sansa_procentaj_viata = rand(1,10);

    }
        if ($sansa_viata_max == 8)
        $puncte_viata_max = rand(-25,30);
        else $puncte_viata_max = 0;

        if ($sansa_mana_max == 8)
        $puncte_mana_max = rand(-25,30);
        else $puncte_mana_max = 0;

        if ($sansa_viata_max_regen == 8)
        $puncte_viata_max_regen = rand(-25,30);
        else $puncte_viata_max_regen = 0;

        if ($sansa_mana_max_regen == 8)
        $puncte_mana_max_regen = rand(-25,30);
        else $puncte_mana_max_regen = 0;

        if ($sansa_procentaj_atac == 8)
        $puncte_procentaj_atac = rand(-25,30);
        else $puncte_procentaj_atac = 0;

        if ($sansa_procentaj_aparare == 8)
        $puncte_procentaj_aparare = rand(-25,30);
        else $puncte_procentaj_aparare = 0;

        if ($sansa_procentaj_viata == 8)
        $puncte_procentaj_viata = rand(2,50);
        else $puncte_procentaj_viata = 0;

    }

    $sansa_ca_obiectul_sa_fie_la_vanzare = rand(1,5);
    if ($sansa_ca_obiectul_sa_fie_la_vanzare == 3)
    {$vandabil = 1;
    $pret_vanzare = rand(1,32000);
    $plusul_pretului_de_cumparare = rand(1,50000);
    $plusul_pretului_de_cumparare_final = $pret_vanzare + $plusul_pretului_de_cumparare;
    $pret_cumparare = rand($pret_vanzare,$plusul_pretului_de_cumparare_final);
    } 
    else 
    {$vandabil = 0;
    $pret_vanzare = 0;
    $pret_cumparare = 0;
    }


    $sansa_ca_obiectul_sa_fie_enchantabil = rand(1,10);
    if ($sansa_ca_obiectul_sa_fie_enchantabil < 5)
    $echantabil = " 'N' ";
    elseif ($sansa_ca_obiectul_sa_fie_enchantabil == 5)
    $echantabil = " 'E' ";
    elseif ($sansa_ca_obiectul_sa_fie_enchantabil == 6)
    $echantabil = " 'D' ";
    elseif ($sansa_ca_obiectul_sa_fie_enchantabil == 7)
    $echantabil = " 'C' ";
    elseif ($sansa_ca_obiectul_sa_fie_enchantabil == 8)
    $echantabil = " 'B' ";
    elseif ($sansa_ca_obiectul_sa_fie_enchantabil == 9)
    $echantabil = " 'A' ";
    elseif ($sansa_ca_obiectul_sa_fie_enchantabil == 10)
    $echantabil = " 'S' ";



    if ($tipul_obiectului != " 'Altele' " )
    $se_poate_echipa = 1;
    else $se_poate_echipa = 0;



    $nivel_minim = rand(1,100);


    ///FINALUL

    mysql_query("INSERT INTO iteme (nume, tip, enchant_grad_tip, vandabil, pret_cumparare, pret_vanzare, echipabil, atac, aparare, putere, 
    dexteritate, rezistenta, carisma, inteligenta, daune_min, daune_max, viata_max,
    viata_regenerare, mana, mana_regenerare, procentaj_atac, procentaj_aparare, procentaj_viata, 
    procentaj_daune_min, procentaj_daune_max, procentaj_putere, procentaj_dexteritate, procentaj_rezistenta, 
    procentaj_carisma, procentaj_inteligenta, level_minim)  
    VALUES ('$cuvant' , ".$tipul_obiectului." , ".$echantabil."
    , ".$vandabil." , ".$pret_cumparare." , ".$pret_vanzare." 
    , ".$se_poate_echipa." , ".$sanse_puncte_atac." , ".$sanse_puncte_aparare." 
    , ".$puterea_obiectului." , ".$dexteritatea_obiectului." , ".$rezistenta_obiectului." 
    , ".$carisma_obiectului." , ".$inteligenta_obiectului." , ".$daune_minime_ale_obiectului." 
    , ".$daunele_maxime_finale." , ".$puncte_viata_max." , ".$puncte_viata_max_regen." ,
    ".$puncte_mana_max." , ".$puncte_mana_max_regen." , ".$puncte_procentaj_atac." , ".$puncte_procentaj_aparare." ,
    ".$puncte_procentaj_viata." , ".$procent_daune_minime_ale_obiectului." , ".$procent_daune_maxime_ale_obiectului." ,
    ".$procent_puterea_obiectului." , ".$procent_dexteritate_obiectului." , ".$procent_rezistenta_obiectului." ,
    ".$procent_carisma_obiectului." , ".$procent_inteligenta_obiectului." , ".$nivel_minim.")");

$iduri_db ++;

}
echo $iduri_db;}
4

1 回答 1

1

如果您需要独特的词,您将需要某种方式来存储生成的随机词。您可以array为此目的使用 an :

我会这样写算法:

  1. 宣布$uniqueRandomWordsArray = array(); // To store Unique Words

  2. 生成一个随机词(说$randomWord

  3. if( in_array( $randomWord , $uniqueRandomWordsArray )转到第 2 步 否则转到第 4 步

  4. $uniqueRandomWordsArray[] = $randomWord;

  5. if( count( $uniqueRandomWordsArray ) < 7000 )转到第 2 步,否则转到第 6 步。

  6. print_r( $uniqueRandomWordsArray );

希望这可以帮助 。

于 2013-11-07T22:54:40.187 回答