2
respostas

(quase) tudo certo!

o jogo funciona como deveria, mas meu oponente não perde uma só bolinha! desanima jogar contra uma máquina infalível, não dá senso de desafio.. e tem ainda um bug que é o fato de a bolinha às vezes ficar presa entre a raquete e a borda, o que pontua muito pro adversário! me deram a sugestão de mandar a bolinha pro centro da tela sempre que pontuar para eliminar esse bug, mas achei que afetou demais a experiência do jogo.. alguém tem outra ideia de como mudar isso? //tamanhos e medidas

//bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 22; let raio = diametro / 2;

//raquetes let alturaRaquetes = 70; let larguraRaquetes = 10; let xRaqueteEsquerda = 10; let yRaqueteEsquerda = 162; let xRaqueteDireita = 580; let yRaqueteDireita = 162;

//movimento

//bolinha let velocidadeXbolinha = 6; let velocidadeYbolinha = 6;

//raquetes let velocidadeYraqueteDireita;

//placar let pontosEsquerda = 0; let pontosDireita = 0;

function setup() { createCanvas(600, 400); }

function draw() { background(0); mostraBolinha(); mostraRaquetes(); moveBolinha(); moveRaqueteEsquerda(); moveRaqueteDireita(); verificaColisaoRaquete(xRaqueteEsquerda, yRaqueteEsquerda); verificaColisaoRaquete(xRaqueteDireita, yRaqueteDireita); mostraPlacar(); marcaPonto(); }

function mostraBolinha(){ circle(xBolinha,yBolinha,diametro); }

function mostraRaquetes(){ rect(xRaqueteEsquerda, yRaqueteEsquerda, larguraRaquetes, alturaRaquetes); rect(xRaqueteDireita, yRaqueteDireita, larguraRaquetes, alturaRaquetes);}

function moveBolinha(){ xBolinha += velocidadeXbolinha; yBolinha += velocidadeYbolinha;

if (xBolinha + raio > width || xBolinha - raio < 0 ){ velocidadeXbolinha *= -1; }

if (yBolinha + raio > height || yBolinha - raio <0){ velocidadeYbolinha *= -1; } }

function moveRaqueteEsquerda(){ if (keyIsDown(87)){ //TECLA W yRaqueteEsquerda -= 10; } if (keyIsDown(83)){ //TECLA S yRaqueteEsquerda += 10; } if (yRaqueteEsquerda < 0){ yRaqueteEsquerda = 0; } if (yRaqueteEsquerda > height - alturaRaquetes){ yRaqueteEsquerda = height - alturaRaquetes; } }

function moveRaqueteDireita(){ /if (keyIsDown(UP_ARROW)){ yRaqueteDireita -= 10; } if (keyIsDown(DOWN_ARROW)){ yRaqueteDireita += 10; }/

velocidadeYraqueteDireita = yBolinha - yRaqueteDireita - alturaRaquetes / 2 - 30; yRaqueteDireita += velocidadeYraqueteDireita

//yRaqueteDireita = yBolinha - 80; if (yRaqueteDireita < 0){ yRaqueteDireita = 0; } if (yRaqueteDireita > height - alturaRaquetes){ yRaqueteDireita = height - alturaRaquetes; } }

function verificaColisaoRaquete(x, y){ colidiu = collideRectCircle(x, y, larguraRaquetes, alturaRaquetes, xBolinha, yBolinha, raio); if (colidiu){ velocidadeXbolinha *= -1; } }

function mostraPlacar(){ fill(255); text(pontosEsquerda, 250, 30); text(pontosDireita, 340, 30);

}

function marcaPonto(){ if (xBolinha > 590){ pontosEsquerda += 1; } if (xBolinha < 10){ pontosDireita +=1; }

}

2 respostas

Fala, Caique! Tudo bem contigo?

Desculpe a demora em dar um retorno

Eu não consegui acessar o link do projeto

Vi que já concluiu a formação, mas se eu puder ajudar com algum problema que ainda esteja tendo no projeto, me dê um retorno!

Um abraço, amigo!!!