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

Interromper execução de uma função

Olá.

Fiz um projeto do Pong com o JS e deu tudo certo conforme aprendi nas aulas. Modifiquei a função "chance de errar" do oponente de modo a ficar mais competitivo. Também modifiquei a velocidade da bolinha para que a mesma aumente a velocidade a cada colisão com a raquete do jogador, dificultando o jogo. Porém, gostaria de personalizar mais algumas coisas e fiquei com algumas dúvidas.

a) criei os textos "meus pontos" e "pontos do oponente", porém, ao tentar colorir os mesmos, os outros textos na tela também mudam de cor;

b) como faço para parar a execução de uma função? Por exemplo, pretendo criar um placar máximo de 7 pontos, com a movimentação da bolinha e da raquete parando ao atingir essa pontuação, além dá música. Porém, não sei como interromper as funções.

Link do projeto abaixo:

https://editor.p5js.org/casal.mi.will/sketches/uWGnZpuhG

Agradeço desde já.

4 respostas
solução!

Opa!

Olá, Willian! Como você está?

Nossa, seu jogo ficou sensacional! Parabéns pelas implementações, fiquei impressionada em como o jogo ficou bem alinhado e completo.

Muito bom mesmo!

Sobre as cores, acredito que você deverá construir uma função específica para as cores do texto que deseja alterar.

Vou deixar aqui dois links para os parâmetros color e fill():

Sobre a interrupção das funções, você pode utilizar o noLoop(). Um aluno aqui da Alura teve uma ideia similar a sua e preparou toda a lógica da funcionalidade, vou deixar aqui o link com o tópico para você dar uma olhada: Link para tópico pong com opção multiplayer.

Fico no aguardo!

Um abraço!

Camila, te agradeço muuuito pelo elogio.

Consegui fazer as alterações das cores dos textos, mas sinceramente, não gostei de como ficou, então reverti e deixei branco mesmo. Quanto às interrupções das funções, segui sua orientação e vi pelo link a estrutura criada pelo André para o jogo dele. Entendi o funcionamento de várias coisas e consegui colocar um limite de 5 pontos, interrompendo todas as funções quando qualquer dos jogadores chega nesse placar. De quebra coloquei um texto personalizado indicando a vitória ou a derrota.

Ainda fiz um pequeno melhoramento na chance de erro, fazendo um acréscimo aleatório dessa variável a cada colisão (antes era um valor fixo de 7), fazendo com que o oponente algumas vezes erre mais rápido, outras demore mais para errar - e como a velocidade aumenta a cada colisão, quando a raquete do oponente demora mais pra errar fica bem Hardcore fazer ponto nela, mas com agilidade é possível vencer =D.

O link: https://editor.p5js.org/casal.mi.will/sketches/uWGnZpuhG

Vou esperar sua opinião final pra dar o tópico como solucionado.

Oi oi, Willian!

Você tá brincando que é iniciante, né?

Gostei bastante do seu projeto, e como falei anteriormente, ele está bastante completo!

O random na probabilidade da chance de errar foi show! O final com a interrupção e a mensagem ficou excelente e vou compartilhar com outros alunos quando tiverem essa necessidade.

Obrigada por compartilhar seu progresso com a gente, continue com as implementações e também contribuindo com o fórum!

Já estou na expectativa para acompanhar seus próximos passos!

Um forte abraço!

Bons estudos! :)

Oi Camila..

Esse é meu primeiro curso de linguagem de programação e estou gostando muito. Acredite se quiser, sou iniciante sim =) Eu sou muito curioso, então entro nos projetos que os outros compartilham, tento entender o código e tenho algumas ideias. E usei de inspiração o projeto dos links que você disponibilizou. Obrigado.

Fico feliz que gostou e fique à vontade em compartilhar. Vou seguir fazendo os cursos e postando os projetos.

Um abraço.