fiz uma outra pergunta pra resolver isso achei q tinha resolvido pois meu jogo começou a rodar, porem ele n mostra o placar mesm assim e essa mensagem e a que aparece pra mim, sei oq fazer
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
fiz uma outra pergunta pra resolver isso achei q tinha resolvido pois meu jogo começou a rodar, porem ele n mostra o placar mesm assim e essa mensagem e a que aparece pra mim, sei oq fazer
Compartilhe o seu código para que eu possa dar uma analisada ;)
//variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 30; let raio = diametro / 2 ; let colidir = false
//velocidade da bolinha let velocidadeXBolinha = 6 let velocidadeYBolinha = 6
//variaveis da raquete let xRaquete = 5 let yRaquete = 150 let lRaquete = 10 let aRaquete = 90
//variaveis do bot let xRaqueteBot = 585 let yRaqueteBot = 150 let velocidadeYBot;
//placar
let pontosDoPai let pontosDele
function setup() { createCanvas(600, 400); }
function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); Raquete(xRaquete,yRaquete); Raquete(xRaqueteBot,yRaqueteBot); movimentoMRaquete(); colisao(xRaquete,yRaquete); movimentoBot(); colisao(xRaqueteBot,yRaqueteBot); pontos(pontosDoPai,278,26); pontos(pontosDele, 321,26); //raquetada();
}
function mostraBolinha(){ circle(xBolinha, yBolinha, diametro); }
function movimentaBolinha(){ xBolinha += velocidadeXBolinha; yBolinha += velocidadeYBolinha; }
function verificaColisaoBorda(){ if (xBolinha + raio> width || xBolinha - raio< 0){ velocidadeXBolinha *= -1; } if (yBolinha + raio> height || yBolinha - raio < 0){ velocidadeYBolinha *= -1; } } function Raquete(x,y){
rect(x,y,lRaquete,aRaquete) }
function movimentoMRaquete(){
if (keyIsDown(UP_ARROW)) { yRaquete -= 10; }
if (keyIsDown(DOWN_ARROW)){ yRaquete += 10; } } function raquetada(){
if (xBolinha - raio < xRaquete + lRaquete && yBolinha - raio < yRaquete + aRaquete && yBolinha + raio > yRaquete){ xBolinha *= -1; } }function colisao(x,y){ colidir = collideRectCircle(x, y, lRaquete, aRaquete, xBolinha, yBolinha, diametro); if (colidir){ velocidadeXBolinha *= -1; } }
function movimentoBot(){ velocidadeYBot = yBolinha - yRaqueteBot - lRaquete /2 -30; yRaqueteBot += velocidadeYBot } function pontos(pontos,x,y){ fill (300); text(pontos,x,y); }
mb esqueci disso
As variáveis pontosDoPai e pontosDele não tinham valor atribuído, atribui valor 0 a elas como abaixo:
let pontosDoPai = 0
let pontosDele = 0Modifiquei um pouco a function pontos:
function pontos(){
fill (300);
text(pontosDoPai, 278, 26)
text(pontosDele, 321, 26)
if (xBolinha > 585){
pontosDoPai += 1}
if (xBolinha < 15){
pontosDele += 1
}}Isso deve resolver seu problema, o único detalhe é que para essa solução funcionar você só deve "chamar" a function pontos uma única vez e não atribuir X e Y a ela, assim como abaixo:
function draw() {
background(0);
mostraBolinha()
movimentaBolinha();
verificaColisaoBorda();
Raquete(xRaquete,yRaquete);
Raquete(xRaqueteBot,yRaqueteBot);
movimentoMRaquete();
colisao(xRaquete,yRaquete);
movimentoBot();
colisao(xRaqueteBot,yRaqueteBot);
pontos();
//raquetada();
}
nossa ficou mt diferente do que ele ensinou na aula kkkkk vou ver se funcionou, so um minuto