Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dando a opção de escolha do usuário de: facil, mediu e dificil.

Bem depois de implementado o código resolvi fazer com que o usuário pudesse escolher a dificuldade do jogo e implementei o seguinte:

<canvas width="600" height="400"></canvas>

<script>

    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = 'lightgray';
    pincel.fillRect(0, 0, 600, 400);

    var raio = 10;
    var xAleatorio;
    var yAleatorio;

    // Tutorial: Explicando como o jogo funciona.
    alert("O jogo funciona da seguinte forma: Um alvo irá ficar flutuando em sua tela, para você acerta o jogo deve cliclar com o botão direito do mouse no centro do alvo! Boa sorte! ");

    //variáveis para teste de níveis. Elas devem ser declaradas se não o if não irá funcionar.
    var easy = 'facil'; 
    var medium = 'medio'
    var hard = 'dificil';

    // Criando níveis de dificuldade: Aqui peço ao usuário que diga qual o nível de dificuldade deseja.
    function escolheNivel(){
        dificuldade = prompt("Qual o Nível você deseja: facil, medio ou dificil");
        return(dificuldade);
    }

    // Chamo a função escolheNivel.
    escolheNivel();

    // Criei uma condição que obriga o usuário a digitar corretamente.
    if(dificuldade == easy || dificuldade == medium || dificuldade == hard){

        alert('Comece o Jogo! ');

    } else {

        alert('você digitou errado, deve ser tudo minúsculo e sem acento, digite novamente: ');
        escolheNivel();

    }

    // Criando um if para fazer com que a dificuldade seja alterada de acordo com a vontade do jogador.
    if(dificuldade == easy ){

        var nivelDificuldade = 1000;

    } else if(dificuldade == medium){

        var nivelDificuldade = 750;

    } else if(dificuldade == hard){

        var nivelDificuldade = 500;

    }

    function desenhaCirculo(x, y, raio, cor){

        pincel.fillStyle = cor;
        pincel.beginPath();
        pincel.arc(x, y, raio, 0,2 * Math.PI);
        pincel.fill();

    }

    function limpaTela(){

        pincel.clearRect(0, 0, 600, 400);

    }

    function desenhaAlvo(x, y){

        desenhaCirculo(x, y, raio + 20, 'red');
        desenhaCirculo(x, y, raio + 10, 'white');
        desenhaCirculo(x, y, raio, 'red');

    }

    function sorteiaPosicao(maximo){

        return Math.floor(Math.random() * maximo);

    }

    function atualizaTela(){

        limpaTela();

            xAleatorio = sorteiaPosicao(600);
            yAleatorio =  sorteiaPosicao(400);

            desenhaAlvo(xAleatorio, yAleatorio);

    }

    setInterval(atualizaTela, nivelDificuldade);

    function dispara(evento){

        var x = evento.pageX - tela.offsetLeft;
        var y = evento.pageY - tela.offsetTop;

        if((x > xAleatorio - raio) && (x < xAleatorio + raio) && (y > yAleatorio - raio) && (y < yAleatorio + raio)){

            alert('acertou!');

        }
    }

    tela.onclick = dispara;


</script>

Eu gostei do resultado, mais queria melhorar esse trecho:

if(dificuldade == easy || dificuldade == medium || dificuldade == hard){

        alert('Comece o Jogo! ');

    } else {

        alert('você digitou errado, deve ser tudo minúsculo e sem acento, digite novamente: ');
        escolheNivel();

    }

Pois se alguém erra mais de duas vezes consecutiva o jogo inicia em alta velocidade.

3 respostas
solução!

Você pode utilizar o Switch. Com o Switch vc tem um menu de opções que vai executar o código de acordo com a opção. Exemplo:

switch(dificuldade){
dificuldade = prompt("Em qual dificuldade gostaria de jogar? 1- Facil / 2 -Médio / 3 - Dificil / 4 - Sair")

1:  

break;

2:

break;

3:

break;

4:

break;

default: opção invalida;

}

código com switch:

function juros(tipo, capital, indiceJuros, tempo){
    if(tipo = 1 ){
        juros = capital * (indiceJuros/100) * tempo;
        return prompt("capital inicial: "+capital+ "/ juros: "+juros+"/ Total: " + (juros + capital));
    }

    if(tipo = 2){
        montante = capital(1+((indiceJuros/100)*tempo));
        return prompt("Montante: "+montante+ "/ juros: "+ juros +"/ Total: " + juros + capital);
    }

    if(tipo = 3){
        montante = capital*Math.pow((1+(indiceJuros/100)),tempo);
        return prompt("Montante: "+montante+ "/ juros: "+juros +"/ Total: " + juros + capital);

    }


}

function menu(){
    controle = 1;
     while(controle = 1){
     opt = prompt("Entre com a opção desejada:1- juros simples ao mes/ 2 - Juros simples ao ano/ 3 - Juros composto - 4 Sair");
     switch(opt){

        case  "1":
            tipo = 1;
            capital = prompt("Digite o valor inicial:");
            indiceJuros = prompt("Digite o juros:");
            tempo = prompt("Meses de investimo");
            juros(tipo, capital, indiceJuros, tempo);
            break;

        case "2":
            tipo = 2;
            capital = prompt("Digite o valor inicial:");
            indiceJuros = prompt("Digite o juros:");
            tempo = prompt("Meses de investimo");
            juros(tipo, capital, indiceJuros, tempo);
            break;

        case "3":

            tipo = 3;
            capital = prompt("Digite o valor inicial:");
            indiceJuros = prompt("Digite o juros:");
            tempo = prompt("Meses de investimo");
            juros(tipo, capital, indiceJuros, tempo);

            break;

        case "4":
            controle = 0;
            exit(0);
        }
    }
}

MEDIO

Irei Testar Raul!