Oiii, acompanhei as aulas bonitinho mas ainda assim tive alguns problemas:
- mesmo o campo estando delimitado, a bolinha atravessa a raquete do player e some por uns segundos muitas vezes
- o oponente nunca erra, li o que os outros tentaram ajudar mas não rolou
meu código
//variáveis da bolinha
let xBolinha=300; let yBolinha=200; let diametro=20; let raio= diametro/2;
//variáveis do player
let xPlayer=5; let yPlayer=150; let hPlayer=90; let cPlayer=10;
//velocidade da bolinha let velocidadex = 6; let velocidadey= 6;
//variáveis do oponente let xNpc= 585; let yNpc=150; let hNpc=90; let cNpc=10;
//velocidade do oponente let velYNpc;
//Placar do jogo let meusPontos=0; let pontosNpc=0;
function setup() { createCanvas(600, 400); }
function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisao(); mostraPlayer(); movimentaPlayer(); verificaColizaoPlayer(); mostraNpc(); movimentaNpc(); verificaColizaoNpc(); incluiPlacar(); pontos(); }
function mostraBolinha(){ circle(xBolinha, yBolinha, diametro); } function mostraPlayer (){ rect(xPlayer, yPlayer, cPlayer, hPlayer) } function movimentaPlayer() { if (keyIsDown(UP_ARROW) ) { yPlayer-=10; } if (keyIsDown(DOWN_ARROW)) { yPlayer+= 10; } }
function movimentaBolinha(){ xBolinha+=velocidadex; yBolinha+=velocidadey } function verificaColisao(){ if (xBolinha+raio > width||xBolinha-raio < 0) { velocidadex=-1 } if (yBolinha +raio> height||yBolinha -raio< 0) { velocidadey=-1 } }
function verificaColizaoPlayer(){ if (xBolinha - raio < xPlayer + cPlayer && yBolinha -raio < yPlayer + hPlayer && yBolinha-raio> yPlayer) { velocidadex*=-1; } } function mostraNpc(){ rect(xNpc, yNpc, cNpc, hNpc)}
function movimentaNpc() { velYNpc= yBolinha- yNpc - hNpc/2 - 40; yNpc+= velYNpc }
function verificaColizaoNpc(){ if (xBolinha + raio > xNpc && yBolinha+ raio> yNpc && yBolinha < yNpc+ hNpc) { velocidadex *=-1; } } function pontos(){ if(xBolinha < 10){ pontosNpc+= 1 } if(xBolinha > 590){ meusPontos += 1; } }
function incluiPlacar(){ fill(255) text(meusPontos, 200, 26); text(pontosNpc, 400, 26); }