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

*** PONG COM OPÇÃO MULTIPLAYER ***

Falae, galera!! to começando a minha carreira com programação agora tbm... consegui colocar aqui a opção de Multiplayer pro jogo do PONG (https://editor.p5js.org/andresdslima/sketches/qXENCxb3i). So q pra ativar essaa opção de Multiplayer, tem q alterar um pouco o codigo, pq deixei ela como comentario la ("//"), assim o jogo começa no modo Single player como padrao msm...

Minha duvida é: como eu poderia colocar logo no inicio do jogo para o jogador escolher na propria tela se quer jogar Single ou Multiplayer por exemplo?

5 respostas

https://editor.p5js.org/andresdslima/sketches/qXENCxb3i

Outra duvida (linha 169): como parar de tocar "sound" (que ta em loop), qnd 'sound2' tocar? Isso seria pra q o jogo terminasse com o vencedor q chegou a 5 pontos por exemplo... ja tentei: sound.stop(), .pause(), .noLoop(), mas n rolou kkkk

Oi, André! Como você está?

Desculpe pela demora em responder você mas vamos lá!!!

Observei seu código e sugiro que você crie uma função para receber as estruturas condicionais e insira o noLoop(), assim o som vai parar de ficar em Looping. Acredito que você tenha utilizado o noLoop() de forma incorreta e por isso não funcionou.

A funcionalidade de opção multiplayer vai gerar um pouco mais de trabalho.

  • Tela de início para selecionar as opções, uma interface
  • Inserir um input para decidir qual das duas opções irá selecionar
  • Inserir função com as condições que movimentam o ator

Vou deixar aqui um vídeo muito bom com várias features para jogos construídos com a biblioteca do p5.js : Link para vídeo Alterando um jogo em javascript

E um vídeo bem bacana também da Dayana Karoline que ensina a fazer um menu no p5.js: Link para vídeo COMO FAZER UM MENU PARA JOGOS? | P5js

Fico à disposição para ajudá-lo!

Aguardo seu projeto!

Um abraço e bons estudos!

https://editor.p5js.org/andresdslima/sketches/qXENCxb3i

vlww demaais, camila!! ficou melhor agora sim, mas tenho um ultimo problema (linha 169): quando o jogo termina, o placar final congela em 4 a 4... e nao em 5 a 4 ou 4 a 5 como deveria ficar para o vencedor...

solução!

Opa!

Que bom que as dicas ajudaram, André! Tô muito feliz!

Olhei seu código novamente e a lógica tá certinha, o único problema é que estamos utilizando JavaScript síncrono aqui, o que significa que ele vai executar os comandos na ordem em que eles forem ordenados.

Você pode perceber que ele espera pontuar em 5 para que o jogo seja interrompido mas o placar só mostra até o número 4. Isso ocorre por conta da ordem em que o placar está e porque você inseriu o noLoop() na winnig(), aí ele não vai rodar o score() novamente e por isso interrompe a contagem em 4.

Para resolver esse problema, basta inserirmos a contagem do placar com a score() depois da função winning() que fica certinho, olha só:

function draw() {
  background(0);
  ball();
  moveBall();
  paddle(xMyPaddle, yMyPaddle);
  moveMyPaddle();
  //moveMyyPaddle();
  paddleCollision(xMyPaddle, yMyPaddle);
  paddle(xPaddle2, yPaddle2);
  movePaddle2();
  //moveYourPaddle();
  paddleCollision(xPaddle2, yPaddle2);
  //score();
  winning();
  score();
}

O resultado do teu pong tá show, vou compartilhar com outros alunos aqui da plataforma também!

Espero que tenha conseguido te ajudar de alguma forma, continue com esse foco e já tô ansiosa pelos próximos projetos!

Um abraço e bons estudos!

iraadoo!! vlww demaais pelas dicas, camila!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software