13
respostas

Erro em uma linha do código

estou com um erro na função ( colidiu) ja copiei todo o código do resumo e ainda não roda eu não importei o código da biblioteca, eu digitei todo o código, tem alguma coisa a ver?

13 respostas

Olá, Paulo! Tudo bem?

Você pode me passar o código, por favor? Assim posso te ajudar mais detalhadamente. Se possível, uma captura de tela também seria bom. :)

E caso você se interesse, recomendo que dê uma olhadinha em como usar o Markdown, pois assim seu código irá aparecer arrumadinho aqui no fórum. Aqui tem um artigo sobre como usar a linguagem.

Até logo!

oi Maria, esse é o código,

Olá, Paulo! Seu código ainda não está aparecendo. Verifica pra mim, por favor?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Certo. Você consegue me passar o link do jogo, por favor? Vou dar uma checada nele.

//variaveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 20; let raio = diametro / 2;

//velocidade da bolinha let velocidadexBolinha = 6; let velocidadeyBolinha = 6; let raqueteComprimento = 10; let raqueteAltura = 90;

//variaveis da raquete let xRaquete = 5; let yRaquete = 150;

//variaveis do oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeyOponente;

let colidiu = false;

//placar do jogo let meusPontos = 0; let pontosOponente = 0;

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

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(xRaquete, yRaquete); movimentaMinhaRaquete(); //verificaColisaoRaquete(); verificaColisaoRaquete(xRaquete, yRaquete); mostraRaquete(xRaqueteOponente , yRaqueteOponente); movimentaRaqueteOponente(); verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente); incluiPlacar(); marcaPonto();

}

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 mostraRaquete(x, y){ rect(x, y, raqueteComprimento, raqueteAltura); } function movimentaMinhaRaquete(){ if (keyIsDown(UP_ARROW)){ yRaquete -= 10; } if (keyIsDown(DOWN_ARROW)){ yRaquete += 10; } }

function verificaColisaoRaquete(x, y){ colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio); if (colidiu){ velocidadexBolinha *= -1; } }

function movimentaRaqueteOponente(){ velocidadeyOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeyOponente }

function incluiPlacar(){ fill(255); text(pontosDoOponente, 321, 26) }

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

isabel desculpa mas eu ainda estou apanhando muito no p5js, por isso mandei tudo aqui do jeito que consegui, esta meio confuso

Tudo bem, Paulo! Sem problemas. Vamos lá. :)

Já entendi o que aconteceu e vou te ajudar. Você se esqueceu de importar a outra biblioteca a princípio, mas também tem uma variável com o nome diferente da função dela (vou entrar em detalhes depois).

Primeiramente, nós vamos baixar a biblioteca onde tem o que estamos buscando: o código para colidir a raquete com a bolinha. No site do p5.js você terá a opção "Help". Clique nela.

Captura de tela do pedaço da parte do editor p5.js, onde há um círculo em volta do botão "Help".

Depois de ter clicado, vamos ter a opção "About" (a terceira e última, pintada de rosa). Clique nela.

Captura de tela após ter clicado em "Help", mostrando a terceira e última opção, a "About", com preenchimento rosa.

Na guia "About" aberta, a primeira opção embaixo de "Resources" é a que vamos clicar, a "Libraries" (está marcada com o quadrado em vermelho).

Captura de tela da seção "About". Abaixo de "Resources" está a opção demarcada por um retângulo vermelho vazio, escrito "Libraries".

Uma nova guia irá abrir no seu navegador. Você irá descer até achar o "p5.collide2D". Se ficar mais fácil, você pode clicar em CTRL + F para procurar.

Captura de tela da nova aba "libraries", em que está recortado o "p5.collide2D", apontando para o título com uma seta vermelha.

Uma página no GitHub será aberta. Você irá clicar em "Code" (preenchido de verde escuro). E depois de clicar em "Code", basta clicar em "Download ZIP". Está demarcado com um retângulo vermelho abaixo. Baixe.

Captura de tela de parte da página redirecionada no link do "p5.collide2D", no GitHub. A seção "Code", em verde, está aberta, pois foi clicada, e a última opção ocupando a tela está marcada com um retângulo vermelho vazio, escrito "Download ZIP".

Depois de baixar o arquivo ZIP, descompacte ele. Caso você não saiba descompactar o arquivo em ZIP, aqui há um tutorial do WinZip e aqui há um tutorial do WinRAR. Qualquer um dos programas funciona perfeitamente para esse caso.

Após ter descompactado a pasta, vamos importar a biblioteca para o editor.

Voltando ao editor p5.js, aperte a setinha (sinal "maior que") para o lado.

Captura de tela de parte da página do editor p5.js, onde há um círculo em volta do botão quadricular com um sinal de "maior que" dentro.

Após você clicar, esta parte irá aparecer:

Captura de tela de parte da página do editor p5.js, onde mostra as opções após ter clicado na setinha, ou seja, no sinal "maior que". São mostradas três opções.

Você irá clicar na setinha para baixo, no sinal de um triângulo invertido, ao lado de "Sketch Files".

Captura da mesma tela anterior, mas com um quadrado vermelho vazio em volta da seta para baixo, ou seja, do triângulo invertido.

Depois de ter clicado na setinha, você irá escolher a última opção, a "Upload file" (a terceira opção, em rosa).

Captura de tela da mesma página de antes, em que a terceira e última opção, "Upload file" está preenchida em rosa.

A tela contendo "Upload File" irá aparecer. Na opção dentro do retângulo em branco, é onde você pode clicar para enviar um arquivo. É isso que vamos fazer agora. Você irá clicar no espaço em branco.

Captura de tela da opção "Upload file", em que há um espaço em branco para clicar ou arrastar um arquivo.

Na pasta descompactada, vamos escolher o arquivo "p5.collide2d".

Captura de tela dentro da pasta descompactada, em que o arquivo "p5.collide2d" está selecionado.

Ele irá ficar desta forma no site (a barrinha completamente preta significa que está 100% carregado):

Captura de tela do editor p5.js, onde está contido a seção "Upload File", com o arquivo "p5.collide2d" carregado completamente.

[Continuação da mensagem acima]

Pronto! A biblioteca foi importada! Mas, antes de tudo, temos algumas coisinhas a mais para fazer antes do jogo funcionar.

Fechando a opção de upload depois de ter importado a biblioteca, como anteriormente mostrado, você irá clicar na opção "index.html".

Captura de tela do editor p5.js, onde "index.html" está selecionado e sendo apontado por uma seta vermelha.

Observe a linha 13. Pule uma linha após ela. Você irá copiar essa mesma linha para a linha debaixo.

Captura de tela do editor p5.js, onde há parte do código "index.html", com a linha 13 em foco.

Ficará desta forma:

Captura de tela do editor p5.js, em que a linha 13 foi copiada e colada para a linha 14.

Agora, você irá escrever "p5.collide2d.js" no lugar de "sketch.js", na linha 14. Assim:

Captura de tela do editor p5.js, em que na linha 14 consta "p5.collide2d.js" no lugar de "sketch.js

Legal, já conseguimos importar tudo! Agora só precisamos alterar uma coisa que consta erro: a variável de raquete do oponente.

Na linha 99, o editor consta com um erro. É porque você nomeou como "pontosOponente" no início, mas ali no final ficou escrito "pontosDoOponente". Vamos alterar a última.

Captura de tela do editor p5.js, em que na linha 99 do código consta com um erro, estando marcada de vermelho.

O jogo funciona! Mas, calma. E o placar do player 1?

Vamos colocar também! Só o do oponente está aparecendo, então vamos inserir agora o do jogador. Você irá colocar text(meusPontos, 278, 26); antes da linha do oponente, a text(pontosDoOponente, 321, 26). Exatamente dentro da function incluiPlacar().

Captura de tela do editor p5.js, em que a função "incluiPlacar" está com o text de "meusPontos" dentro.

Pronto! Agora o jogo está completo! O único toque final: tirar a mensagem que aparece no console. Você vai no arquivo "p5.collide2d.js" e na linha 10. Apague a linha 10 (não tem problema deixar essa parte vazia). A mensagem não irá mais aparecer no console.

Captura de tela do editor p5.js, em que o arquivo JavaScript "p5.collide2d" está selecionado. Na tela aparece a linha 10 como principal.

E agora é oficial: todos bugs foram arrumados!

Espero ter te ajudado. Bons estudos! E caso você tenha mais dúvidas, sinta-se à vontade para recorrer ao fórum, estamos a disposição. :D

Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.

caramba, muito bem explicado, obrigado vou arrumar essa bagunça, agora ficou facil,

Disponha! Estamos aqui caso precise de novo. E, lembrando, se sua dúvida foi sanada, favor marcar o post com a resposta como solução do tópico! =)

Até logo e bons estudos!