Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

snowstormdelivery

Quais são os critérios de sorteio do shuffle?

Recommended Posts

Eu construi um sorteio com ajuda do fórum e funciona corretamente, porém, muitas pessoas reclamam que cai o mesmo cargo toda rodada (exemplo de cargos: juiz, anjo, aldeao...).

Eu acho que o shuffle sorteia pelo número do array, então ele não pode diferenciar as pessoas por nome.

Seria azar das pessoas cair o mesmo cargo várias vezes ou é o culpa do shuffle?

Como o shuffle escolhe a ordem das arrays, é somente embaralhado o número de todas?

 

Código:

 

shuffle($pessoas);
print "Juiz: " . $pessoas[0];
print " / Policial: " . $pessoas[1];
print " / Anjo: " . $pessoas[2] . "<br><br>";
print "Assassino: " . $pessoas[3];
print " / Aprendiz: " . $pessoas[4];
print " / Silence: " . $pessoas[5]."<br><br>";
print "Paralisador: " . $pessoas[6] . " " . "<br>";
print "/Paparazzi: " . $pessoas[7] . " " . "<br>";
print "/Bruxo: " . $pessoas[8] . " " . "<br>";
print "/Detetive: " . $pessoas[10] . " " . "<br>";
print "/Aldeao: " . $pessoas[11] . " " . "<br>";
print "/Espirito: " . $pessoas[9] . " " . "<br><br>";
print "/Fada: " . $pessoas[9] . " ";
print "/Escudeiro: " . $pessoas[9] . " " . "<br>";
print "/Psicopata: " . $pessoas[8] . " " . "<br><br>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por marsolim
      Olá a todos. Venho com um probleminha para o qual não encontrei resposta. Talvez, eu não tenha sabido os termos certos para pesquisar. É o seguinte... estou tentando incluir, em uma lista array, índices com valores montados em uma variável a partir de outra array e não estou a conseguir. Atualmente, meu código é o seguinte...
      var ids = {     "joby": "track 01",     "dobby": "track 02",     "medz": "track 03",     "decks": "track 04,     "tecks": "track 05",     "assud": "track 06",     "mand": "track 07",     "daly": "track 08", }; var lstIds = []; for(i in ids){         lstIds[i] =  {         dock: ids[i],         adb: 0,         mdc: 0,         bah: 0,         tek: 0,         dep: 0,         tos: 0     }; }  
      Até aqui ok. É o que tenho no momento. O que estou querendo fazer é colocar, no lugar das linhas de adb: 0 até dep: 0, outra array que criei com esses índices, porque pode ser que eu precise adicionar mais valores e eu quero fazer isso na array nova porque vou usar ela em vários lugares e eu teria que alterar em todos se não fizer essa modificação. Fazendo ela, eu alteraria apenas nela mesmo. Então, agora, com a array nova, seria algo assim:
      var ids = {     "joby": "track 01",     "dobby": "track 01",     "medz": "track 01",     "decks": "track 01",     "tecks": "track 01",     "assud": "track 01",     "mand": "track 01",     "daly": "track 01", }; var juds = ["adb", "mdc", "bah", "tek", "dep"]; //lista nova com os valores var lstIds = []; for(i in ids){         lstIds[i] =  {         dock: ids[i],         adb: 0,         mdc: 0,         bah: 0,         tek: 0,         dep: 0,         tos: 0     }; }  
      O que eu preciso é incluir os valores de juds em lstIds. Da forma que está, não consigo fazer um for dentro do outro for para pegar esses dados e não consigo, também, criar ele fora e inserir com variável, tipo:
      var fJuds = ""; for(i in juds){     fJuds += juds[i] + ": 0,"; } for(i in ids){         lstIds[i] =  {         dock: ids[i],         fJuds // Aqui eu incluiria a variável no lugar das linhas...         tos: 0     }; }  
      Bem, o que eu queria saber mesmo é como eu poderia inserir uma variável no meio duma lista desse tipo... se é possível.
       
      Agradeço pela atenção...
    • Por Willian Simione
      Boa Noite, alguem poderia me ajudar em uma situação, estou tetnando gravar os dados da tela abaixo, porem nao estou conseguindo montar o jeito certo pra ele gravar todos os dados de uma vez

    • Por Millena Oliveira
      Oiii gente, boa noite. Estou estudando ainda e me deram um desafio para desenvolver um programa que imprimisse na tela somente os números primos segundo o valor que o usuário colocasse na execução. Utilizei o readLine para isso. Usei um objeto para que repetisse a execução e salvei todos os números numa array. O problema é, quando faço o teste colocando um número qualquer, retorna uma array vazia. Poderia me dar uma ajuda? Segue abaixo todo o código.
      Obrigada :)
       
      var readline = require("readline"); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); function desafioPrimos() { var primos = []; rl.question("Digite um número: ", function (num) { console.log(primos); numero = parseInt(num); numerosPrimos: for (var x = 2; x <= num; x++) { for (var y = 2; y < x; y++) { if (x % y === 0) continue numerosPrimos; }; primos.push(x); rl.close(); }; }); }; desafioPrimos();  
    • Por lordzyrium
      Seguinte. Estou tendo dificuldades em criar um array a partir de outro array. E o que preciso é que a saída seja exatamente assim:
      $dados_out = array(     'nome' => 'Nome do Aluno',     'diciplina_notas' => array(         array('PORTUGUÊS', '7ano' => '7,5', '8ano' => '7,0', '9ano' => '8,0'),         array('REDAÇÃO', '7ano' => '8,5', '8ano' => '9,0', '9ano' => '9,0'),         array('HISTÓRIA', '7ano' => '9,5', '8ano' => '8,5', '9ano' => '8,5'),         array('GEOGRAFICA', '7ano' => '7,0', '8ano' => '8,5', '9ano' => '8,0'),         array('QUIMICA', '7ano' => '--', '8ano' => '--', '9ano' => '8,5'),     ) ); A partir deste código:
       
      $dados = array( array( 'nome'=> 'Nome do Aluno', 'etapa'=> '7º ANO', 'pos' => 7, 'not_dados'=> array( array('PORTUGUES', '7,5', '120H', 'AP'), array('REDAÇÃO', '8,5', '40H', 'AP'), array('HISTÓRIA', '9,0', '80H', 'AP'), array('GEOGRAFIA', '7,0', '80H', 'AP') ) ), array( 'nome'=> 'Nome do Aluno', 'etapa'=> '8º ANO', 'pos' => 8, 'not_dados'=> array( array('PORTUGUES', '7,0', '120H', 'AP'), array('HISTÓRIA', '8,5', '80H', 'AP'), array('REDAÇÃO', '9,0', '40H', 'AP'), array('GEOGRAFIA', '8,5', '80H', 'AP') ) ), array( 'nome'=> 'Nome do Aluno', 'etapa'=> '9º ANO', 'pos' => 9, 'not_dados'=> array( array('PORTUGUES', '8,0', '120H', 'AP'), array('HISTÓRIA', '8,5', '80H', 'AP'), array('REDAÇÃO', '9,0', '40H', 'AP'), array('GEOGRAFIA', '8,0', '80H', 'AP'), array('QUIMICA', '8,5', '80H', 'AP') ) ), );  
       
      OBS: terá todas as etapas e as diciplinas não podem ser repetidas.
      Quem puder ajudar desde já agradeço.
       
    • Por MCL_2007
      Boa dia Amigos...
      Tenho esses arrays:
      Array (
      [0] => 2535
      [1] => 2433
      )
      Array (
      [0] =>
      [1] => marcelo@gmail.com;m@terra.com.br
      [2] =>
      [3] => neusa@terra.com.br
      )
       
      Preciso do seguinte resultado de saida:
      2535 - marcelo@gmail.com;m@terra.com.br
      2433 -  neusa@terra.com.br
       
      Como faço , alguem pode me ajudar?
      Gratidao.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.