Ir ao conteúdo
  • Cadastre-se

Javascript sorteador de nomes em java script probema com montagen de um array


Posts recomendados

Preciso de ajuda num código 

Proposito: Sorteio de duelos entre membros de duas equipes 
fiz pra funcionar como site ate pra eu poder usar no meu celular sem precisar de console
indice:
vou por o codigo resumido onde acho que esta errado e tabem vou por comppleto
# Explicação Sobre o Basico do código:

 

Funçao Sorteio :existe uma funçao que gera um numero aleatório de 0 a 3 funçao sorteio
declaramos tres arrays : Time_One (xiLinha)....... Time_Two (yilinha) ........... e tabem declaramos a terceira array que na verdade sera montada aparti da segunda (yilinha ) pelo indice gerado pela funçao sorteio sendo  sendo assim gerando o sorteio
# O Probema:  

se estiver errado algum dos confrontos estara escrito vago é a palavra que usei no array pra dizer que ele esta vago o espaço
as vzs funciona e muitas vzs não em umas das vezes, umas dos indices do arrai do zilinha não sera passado e 
eu coloquei um laço que quando executado copia para o ziLInha[x] do yilinha[1] (exemplo) 
                                                                                               e apaga do (yilinha ) na vdd eu pedi pra ele escreve nulo mas no sentido de "apagar"

o probema é que não ta copiando em umas das repetiçoes do laço 

 

# O Codigo Cortado :

function resultado(){



while(yiLinha[0] != "nulo" || yiLinha[1] != "nulo" || yiLinha[2] != "nulo"){

sorteio();

var ak= Number(sorteio());

hak=ak;

if (ziLinha[hak] = "vago"){

ziLinha[hak]= yiLinha[pi];

yiLinha[pi]="nulo";

++pi;

} else {

sorteio();

ak=sorteio();

};

# O codigo Completo :

vou por emanexo prafuncionar tabem pra funcionar temque aperta os botões na sequencia
se você aperta sorteio e aperta  conferindo  vai notar que o yilinha foi todo escrito nulo

 

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title> Logl Sorteador</title>

</head>

<body>

<nav>

<section>

<br> <input type="text" name="" id="x0">

<br> <input type="text" name="" id="x1">

<br> <input type="text" name="" id="x2">

</section>



<div> OuTro Time </div>

<section >

<br> <input type="text" name="" id="y0">

<br> <input type="text" name="" id="y1">

<br> <input type="text" name="" id="y2">



</section>

</nav>

<div>

<h1> Resultado</h1>

<input type="button" value ="Preparar" onclick="preparararraias()">

<input type="button" value ="conferindo" onclick="memostre()">

<input type="button" value ="Sortear" onclick="resultado()">

<input type="button" value ="resultado final" onclick="finalbuttton()">

<div id ="uyy">Preparar arrais</div>

<div id ="ukjyy">me memostre</div>

<div id ="lukjyy">resultado final</div>

<div id ="txx">Testo1</div>

<div id ="resu">testo2</div>

<div id ="ryyk">testo2</div>

</div>

<script>

var xiLinha =["vago","vago","vago"]; // Primeiro Time

var yiLinha =["vago","vago","vago"]; // Segundo Time

var twoyiLinha =["vago","vago","vago"]; // arrray copia do segundo time

var ziLinha =["vago","vago","vago"]; // array de indice montado aparti de numeros aleaotorio

var pi=0;//contado da funçao resultado

var ak= Number(sorteio());

var biyt=0 ; // numero Minimo do sorteio

var oiyt=2 ; // numero Maximo do sorteio

//var vxj= Number(ak);

function sorteio(){

const getRandomIntegerInclusive = (min,max) => Math.floor(Math.random()*(max-min+1)+ min);

a33 = getRandomIntegerInclusive(0,2);

return a33;

}



function preparararraias (){

// funnçao para montar os arrays e ligar aos indices

for (var x=biyt ; x<=oiyt ; x++ ){

var ux = 'x'+x; // gera o indice de getelementoby id

var axx = window.document.getElementById(ux);

var vx = String(axx.value);

xiLinha[x] = vx;

}

for (var y=biyt ;y<=oiyt ; y++){

var yx = 'y'+y; // gera o indice de getelementoby id

var yxx = window.document.getElementById(yx);

var ix = String(yxx.value);

yiLinha[y] = ix;

}

}

function memostre(){

// confere como estão os array xilnhha e yilinha e zlinha

var esu = window.document.getElementById("ukjyy");

esu.innerText = ` variavel A ${ak}: <br> ### Time A 1 ${xiLinha[0]} 2${xiLinha[1]} 3 ${xiLinha[2]} ### Time B 1 ${yiLinha[0]} 2${yiLinha[1]} 3 ${yiLinha[2]} `

}



function resultado(){

twoyiLinha = yiLinha ;

while(yiLinha[0] !== "nulo" || yiLinha[1] !== "nulo" || yiLinha[2] !== "nulo"){

sorteio();

var ak= Number(sorteio());

hak=ak;

if (ziLinha[hak] = "vago"){

ziLinha[hak]= yiLinha[pi];

yiLinha[pi]="nulo";

++pi;

} else {

sorteio();

ak=sorteio();

};

}



}

function finalbuttton(){

var iosu = window.document.getElementById("ryyk");

iosu.innerText = ` entrou no botão final`

var jsu = window.document.getElementById("lukjyy");

jsu.innerText = ` A: ${xiLinha[0]} Vzs ${ziLinha[0]} <br> ${xiLinha[1]} Vzs ${ziLinha[1]} <br> ${xiLinha[2]} Vzs ${ziLinha[2]} `

}

</script>

</body>

</html>

 

ogl pequenos sorteador de nomes (cópia 1) copy.html.zip

Link para o comentário
Compartilhar em outros sites

o erro era: 
no if esta só com um igual por isso ele não estava comparando ele meio que tava perguntando se ziylinha recebe vago  a solução foi só acresentar um igual a mais 
a parte triste foi que eu mudei o codigo umas 30 vzs e não notei um erro bobo
a solução 
if (ziLinha[hak] == "vago")

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!