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

Inclusão sons / melhoria código raquete oponente / dica para refatoração

Decidir fazer o Jogo utilizando um editor de texto.

  • Não consegui incluir os sons de nenhuma maneira(vi diversos site e parece ser muito fácil, porém não consegui - tentei incluir tanto pelo Html quanto direto no .js).

  • Gostaria de uma sugestão para melhorar o código da raquete do oponente.

  • Gostaria de sugestão para melhoria do código em si (boas práticas e onde não ficou bom - ou seja ele todo kkk ) para poder fazer a refatoração.

segue código: (ainda não sei publicar direito no git mas segue um link) https://gist.github.com/pedromoreirareis/fa664223ae9b51684d0a22c13582caf6

3 respostas

Boa noite, Pedro! Como vai?

Sobre a questão do áudio, vc pode fazer assim ( copie exatamente esse código que vai funcionar ):

var audio = new Audio('https://interactive-examples.mdn.mozilla.net/media/examples/t-rex-roar.mp3');
audio.play();

Já sobre as outras duas dúvidas, eu tenho a mesma dica: modularize o seu código em arquivos diferentes!

Digo isso pois quem bate o olho num arquivo de quase 270 linhas vai se assustar fora que fica difícil de entender quando as coisas estão todas misturadas num lugar só! Faça a divisão dos módulos pensando, principalmente, no princípio da responsabilidade única que estabelece que cada parte da sua aplicação deve ser responsável por objetivos claros e únicos! Por exemplo, um módulo responsável por executar os desenhos na tela tem que se ater unicamente a fazer isso!

É claro que essa refatoração que eu propus irá requerer de vc certo traquejo com a linguagem JavaScript, mas é muito importante, afinal de contas, um bom programador é aquele que escreve códigos semânticos, fáceis de manter e de serem lidos por outras pessoas!

Para saber mais: https://stackoverflow.com/questions/9419263/playing-audio-with-javascript

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Muito obrigado pelas dicas referente a divisão do código. Sobre o audio (.mp3), o meu Google Chrome e Firefox estavam bloqueados para reporução automatica de som. Fora isso funcionou parcialmente. Funcionou apenas ao colocar no setInterval ou em uma função chamada por ele.

Li diversos sites, e tentei de diversas maneiras e não consegui. Agora não sei se é meu pc ou o código. Se alguem poder me da uma dica sobre leitura para descobri meu erro.

segue link.: https://github.com/pedromoreirareis/Jogos-classicos-I

solução!

Opa, Pedro!

Sobre o audio (.mp3), o meu Google Chrome e Firefox estavam bloqueados para reporução automatica de som.

Isso ocorre pq os navegadores mais atuais bloqueiam o autoplay de vídeos e áudios!

Para saber mais: https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!