Eu estou lendo um livro sobre Lógica de Programação com JavaScript e nele tem um exercício que me pede para fazer um jogo de loteria. 
	Eu consegui fazer oque estava no livro mas dai eu fui incrementando algumas coisa no código e depois disso eu parei para olhar e achei ele meio grande. Então eu gostaria de saber de vocês se ele está desnecessariamente grande ou se ele poderia ter sido feito de uma forma melhor e menor. Se possível até me apontar algumas falhas/hábitos que eu possa ter feito no código abaixo. 
	Agradeço desde já.
 
	PS: Eu fiz ele no notepad++ e estou executando no chrome com um arquivo .html
 
	 
 
<script>
function pulaLinha(z)
{
    var x;
    for (x = ; x < z; x++) 
    {
        document.write("<br>");
    }
}
function mostrarTexto (texto, y) 
{
    document.write ("<big>" + texto + "</big>");
    pulaLinha(y);
}
//----------------------------------------------------------------------------------------------------------------------------------------------//
function loteria()
{
    var n, p;
    //Inicialização
    function porque()
    {
        p = (parseInt(prompt("Devem ser sorteados números que estão entre 1 e ?:"))) - 1;
        if (isNaN(p))
        {
            alert("INSIRA APENAS NÚNEROS!");
            porque();
        }
        else if (p < 2)
        {
            alert("VOCÊ NÃO PODE INSERIR UM VALOR MENOR DO QUE 2.");
            porque();
        }
    }
    function nQ()
    {
        n = parseInt(prompt("Quantos números devem sem sorteados?"));
        if (isNaN(n))
        {
            alert("INSIRA APENAS NÚNEROS!");
            nQ();
        }
        else if (n < 1 || n > p)
            {
                alert("VOCÊ NÃO PODE INSERIR UM VALOR MENOR DO QUE 1 OU MAIOR DO QUE " + (p + 1) + ".");
                nQ();
            }
    }
    porque();
    nQ();
    //SORTEIO
    var x, y, check, acertos = , sorteados = [], escolhas = [];
    for (var i = ; i < n;)
    {
        x = Math.round((Math.random()*p) + 1);
        check = ;
        for (var a = ; a < n; a++)
        {
            if (sorteados[a] == x)
            {
                check = 1;
            }
        }
        if (check == )
        {
            sorteados.push(x);
            i++;
        }
    }
    //-------------------------------------------------
    //ESCOLHAS
    for (b = ; b < n;)
    {
        y = parseInt(prompt("Escolha um número entre 1 e " + (p + 1) + "\n--------------------------\nEscolha o " + (b + 1) + "º número"));
        check = ;
        for (var c = ; c < n; c++)
        {
            if (escolhas[c] == y)
            {
                alert("Este número já foi esclhido. Tente novamente!");
                check = 1;
            }
        }
        if (check == && !isNaN(y) && y <= (p + 1) && y > )
        {
            escolhas.push(y);
            b++;
        }
        else if (isNaN(y))
            {
                alert("APENAS NÚMEROS SÃO VÁLIDOS!");
            }
            else if (y > (p + 1))
                {
                    alert("ESTE NÚMERO É MAIOR QUE O LIMITE DE " + (p + 1) + ". TENTE NOVAMENTE!");
                }
                else if (y <= )
                    {
                        alert("ESTE NÚMERO É MAIOR QUE O MÍNIMO DE 1. TENTE NOVAMENTE!");
                    }
    }
    //-------------------------------------------------
    //VERIFICAÇÃO
    for (var d = ; d < n; d++)
    {
        for (var e = ; e < n; e++)
        {
            if (escolhas[d] == sorteados [e])
            {
                acertos++;
            }
        }
    }
    alert("Você acertou " + acertos + " de " + n);
    mostrarTexto("Foram sorteados: ----------- " + "Você escolheu:",1);
    for (var r = ; r < n; r++)
    {
        mostrarTexto(sorteados[r] + " ---------------------------------------------- " + escolhas[r], 1);
    }
    mostrarTexto("Pressione F5 para abrir o menu de opções novamente!", 2);
    
}
loteria();
</script>