1
resposta

Button desaparece

Olá,

Eu estou programando o snake game. Eu fiz um input que vai receber as direções que a snake poderá se mover e um botão pra executar a função que faz com que a snake se mova. Quando eu clico no botão, ele executa a função que faz com que a snake se mova, porém o botão desaparece depois. Eu queria que isso não acontece, pra eu poder movimentar a snake indefinida vezes.

<meta charset="UTF-8">

<input/>
<button>Clique aqui para mover a cobrinha</button>

<script>

    function pulaLinha(){

        document.write("<br>");

    }

    function desenha(desenho){

        document.write(desenho);

    }

    var ncoluna = parseInt(prompt(" Digite o número de colunas ! "))
    var nlinha = parseInt(prompt("Digite o número de linhas ! "))
    var x0 = parseInt(prompt("Digite a posicao x0 !"))
    var y0 = parseInt(prompt("Digite a posicao y0 ! "))
    var x = (ncoluna - x0)
    var y = (nlinha - y0)


    function desenhaTabuleiro(ncoluna, nlinha, x0, y0, x, y){

        for(var coluna = 1; coluna <= ncoluna; coluna++){

            desenha(" # ")
        }

        pulaLinha()

            for (var linha = 1; linha <= nlinha; linha++){

                if (y0 == linha){

                    for(var coluna = 1; coluna <= ncoluna; coluna++){

                        desenha(" # ");

                        for(var coluna = 1; coluna <= ncoluna; coluna++){    

                            if (x0 == coluna){

                                for(x; x < (ncoluna - 1) ; x++){

                                    desenha("*")
                                }

                                desenha("C");
                                coluna++


                                for(x; x >= x0 ; x--){

                                    desenha(" - ")
                                }
                            }

                        }
                    }    

                } else {

                    for(var coluna = 1; coluna <= ncoluna; coluna++){

                        desenha(" # ");

                        for(var coluna = 1; coluna <= ncoluna; coluna++){

                            desenha(" - ")
                        }
                    }

                }


                for(var coluna = ncoluna; coluna <= ncoluna; coluna++){

                    desenha(" # ")
                    pulaLinha()    
                }                    
            }

        for(var coluna = 1; coluna <= ncoluna; coluna++){

            desenha(" # ")

        }

    }

    pulaLinha()
    pulaLinha()
    desenhaTabuleiro(ncoluna, nlinha, x0, y0, x, y)

    var input = document.querySelector("input");

    input.focus();


    function movimentacao(){

        var d = "d"
        var s = "s"
        var a = "a"
        var w = "w"

        var z = (ncoluna - x0);
        var r = (nlinha - y0);

        if(input.value == d){

            z--
            x = z
            alert("Você pode mover novamente");
            desenhatabuleiro(ncoluna, nlinha, x0, y0, x, y)
        } 

        input.value = " ";
        input.focus();

    }

    var button = document.querySelector("button");

    button.onclick = movimentacao; 



</script>
1 resposta

Oi Diego tudo bem?

Os botões somem pois você usou o document.write , ele acaba apagando partes do corpo da página e a gente só usa ele quando tá aprendendo. Nos próximos cursos você vai aprender a manipular melhor o HTML.

Mas como bônus por ter se esforçado vou compartilhar com você uma página que ensina a criar o jogo snake. Obviamente muitos dos comandos você ainda não aprendeu mas espere para programar ela no futuro.

http://thecodeplayer.com/walkthrough/html5-game-tutorial-make-a-snake-game-using-html5-canvas-jquery

(o loading da página demora um pouco, assim que carregar clique no botão Play Walkthrough)

Espero ter ajudado e bons estudos!!!