Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu queria saber, como paro a repetição contida nesse código:
<?php
$pessoas[0] = "Carlos";
$pessoas[1] = "Juliana";
$pessoas[2] = "Igor";
$pessoas[3] = "Marcelo";
$pessoas[4] = "melke";
$pessoas[5] = "caat";
$pessoas[6] = "suflair";
$pessoas[7] = "pink";
$pessoas[8] = "felipe";
$pessoas[9] = "tonny";
$pessoas[10] = "viper";
$pessoas[11] = "renifer";
// sorteia o Juiz
$juiz = array_rand($pessoas, 1);
echo "Juiz: " . $pessoas[$juiz];$policial = array_rand($pessoas, 1);
echo "/Policial: " . $pessoas[$policial];$anjo = array_rand($pessoas, 1);
echo "/Anjo: " . $pessoas[$anjo] . "<br><br>";$Assassino = array_rand($pessoas, 1);
echo "Assassino: " . $pessoas[$Assassino];$Aprendiz = array_rand($pessoas, 1);
echo "/Aprendiz: " . $pessoas[$Aprendiz];$Silence = array_rand($pessoas, 1);
echo "/Silence: " . $pessoas[$Silence] . "<br><br>";$paralisador = array_rand($pessoas, 1);
echo "Paralisador: " . $pessoas[$paralisador] . "<br>";$paparazzi = array_rand($pessoas, 1);
echo "Paparazzi: " . $pessoas[$paparazzi] . "<br>";$Bruxo = array_rand($pessoas, 1);
echo "Bruxo: " . $pessoas[$Bruxo] . "<br>";$Detetive = array_rand($pessoas, 1);
echo "Detetive: " . $pessoas[$Detetive] . "<br>";$aldeao = array_rand($pessoas, 1);
echo "Aldeao: " . $pessoas[$aldeao] . "<br>";$Espirito = array_rand($pessoas, 1);
echo "Espirito: " . $pessoas[$Espirito] . "<br><br>";$Espirito = array_rand($pessoas, 1);
echo "Fada: " . $pessoas[$Espirito] . "<br>";$Bruxo = array_rand($pessoas, 1);
echo "Psicopata: " . $pessoas[$Bruxo];
?>@Beraldo , eu fiz exatamente como você disse. Deu certo até o "sorteio" 12, pois, são 12 palavras para 14 sorteios, o outros 2 últimos deram errado. Eu esqueci de dizer que o sorteio do bruxo tem que corresponder ao do psicopata e, o do espirito deve corresponder o da fada. Para resolver o problema, eu tentei tirar o unset desses 4 sorteios (bruxo-psicopata-fada-espirito), mas esses acabavam repetindo palavras de outros sorteios e sem se corresponder. Também, tentei inúmeras outras coisas, mas prefiro não estender a resposta mais!
Espero que você me dê uma solução, para eu concluir meu programinha.
Segue abaixo como o código ficou:
<?php
$pessoas[0] = "Carlos";
$pessoas[1] = "Juliana";
$pessoas[2] = "Igor";
$pessoas[3] = "Marcelo";
$pessoas[4] = "melke";
$pessoas[5] = "caat";
$pessoas[6] = "suflair";
$pessoas[7] = "pink";
$pessoas[8] = "felipe";
$pessoas[9] = "tonny";
$pessoas[10] = "viper";
$pessoas[11] = "rennifer";
// sorteia o Juiz
$juiz = array_rand($pessoas, 1);
echo "Juiz: " . $pessoas[$juiz];
unset( $pessoas[$juiz] );
// sorteia o Policial
$policial = array_rand($pessoas, 1);
echo "/Policial: " . $pessoas[$policial];
unset( $pessoas[$policial] );
// sorteia o Anjo
$anjo = array_rand($pessoas, 1);
echo "/Anjo: " . $pessoas[$anjo] . "<br><br>";
unset( $pessoas[$anjo] );
// sorteia o Assassino
$Assassino = array_rand($pessoas, 1);
echo "Assassino: " . $pessoas[$Assassino];
unset( $pessoas[$Assassino] );
// sorteia o Aprendiz
$Aprendiz = array_rand($pessoas, 1);
echo "/Aprendiz: " . $pessoas[$Aprendiz];
unset( $pessoas[$Aprendiz] );
// sorteia o Silence
$Silence = array_rand($pessoas, 1);
echo "/Silence: " . $pessoas[$Silence] . "<br><br>";
unset( $pessoas[$Silence] );
// sorteia o Paralisador
$paralisador = array_rand($pessoas, 1);
echo "Paralisador: " . $pessoas[$paralisador] . "<br>";
unset( $pessoas[$paralisador] );
// sorteia o Paparazzi
$paparazzi = array_rand($pessoas, 1);
echo "Paparazzi: " . $pessoas[$paparazzi] . "<br>";
unset( $pessoas[$paparazzi] );
// sorteia o Bruxo
$bruxo = array_rand($pessoas, 1);
echo "Bruxo: " . $pessoas[$bruxo] . "<br>";
unset( $pessoas[$bruxo] );
// sorteia o Detetive
$Detetive = array_rand($pessoas, 1);
echo "Detetive: " . $pessoas[$Detetive] . "<br>";
unset( $pessoas[$Detetive] );
// sorteia o Aldeao
$aldeao = array_rand($pessoas, 1);
echo "Aldeao: " . $pessoas[$aldeao] . "<br>";
unset( $pessoas[$aldeao] );
// sorteia o Espirito
$Espirito = array_rand($pessoas, 1);
echo "Espirito: " . $pessoas[$Espirito] . "<br><br>";
unset( $pessoas[$Espirito] );
// sorteia o Fada
$Espirito = array_rand($pessoas, 1);
echo "Fada: " . $pessoas[$Espirito] . "<br>";
unset( $pessoas[$Espirito] );
// sorteia o Psicopata
$bruxo = array_rand($pessoas, 1);
echo "Psicopata: " . $pessoas[$bruxo];
unset( $pessoas[$bruxo] );
?>Eu esqueci de dizer que o sorteio do bruxo tem que corresponder ao do psicopata e, o do espirito deve corresponder o da fada.
Você quer dizer que eles devem ser iguais?
Se for, então:
$bruxo = $psicopata = array_rand($pessoas, 1);
unset( $pessoas[$bruxo] );
// ...
$Espirito = $fada = array_rand($pessoas, 1);
unset( $pessoas[$Espirito] );
Após cada "sorteio", retire do array o elemento selecionado:
unset( $array[$indice] );