xxxxxxxxxx
166
// notas: 1> primeira letra sempre em minúscula seguida de outras palavras iniciando com letra maiúscula
// variaveis da Bolinha
let xBolinha = 300
let yBolinha = 200
let diametro = 20
let raio = diametro / 2
//valor para movimentar a bolinha
let velocidadeXBolinha = 3;
let velocidadeYBolinha = 3;
// variaveis para desenhar a Raquete
let xRaquete = 5
let yRaquete = 150
let comprimentoRaquete = 8
let alturaRaquete = 80
//variaveis da Raquete do Oponente
let xRaqueteOponente = 585
let yRaqueteOponente = 150
// valor para movimentar a Raquete
let velocidadeYOponente;
//variaveis para a colisao da bolinha na raquete, tirada da biblioteca
let colidiu = false;
// placar do jogo
let meusPontos = 0;
let pontosOponente = 0;
//sons
let raquetada;
let ponto;
let trilha;
function setup() {
createCanvas(600, 400);
trilha.loop();
}
function draw() {
background(0);
mostraBolinha();
//a versão longa da escrita abaixo é xBolinha = xBolinha + velocidadeXBolinha
moveBolinha();
// Usar a condição de -se- entre parênteses e o ' fazer alguma coisa' fica entre chaves. Obs, a palavra width sinaliza a largura máxima da tela. Logo, width foi usada na condição abaixo.Refatoracao segue abaixo
verificaColisaoBorda();
mostraRaquete(xRaquete,yRaquete);
mostraRaquete(xRaqueteOponente,yRaqueteOponente);
moveRaquete();
moveRaqueteOponente();
//verificaColisaoRaquete();
colisaoRaqueteBiblioteca(xRaquete, yRaquete);
colisaoRaqueteBiblioteca(xRaqueteOponente, yRaqueteOponente);
incluirPlacar();
marcaPonto();
}
function mostraBolinha(){
circle (xBolinha, yBolinha, diametro);
}
function moveBolinha(){
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, comprimentoRaquete, alturaRaquete)
}
function moveRaquete(){
if (keyIsDown (DOWN_ARROW)) {
yRaquete += 5
}
if (keyIsDown (UP_ARROW)) {
yRaquete -= 5
}
}
function verificaColisaoRaquete(){
if (xBolinha - raio < xRaquete + comprimentoRaquete && yBolinha - raio < yRaquete + alturaRaquete && yBolinha + raio > yRaquete) {
velocidadeXBolinha *= -1
raquetada.play();
}
}
function colisaoRaqueteBiblioteca(x,y){
colidiu =
collideRectCircle(x, y, comprimentoRaquete, alturaRaquete, xBolinha, yBolinha, raio);
if (colidiu) {velocidadeXBolinha *= -1
raquetada.play();
}
}
function moveRaqueteOponente(){
if (keyIsDown (83)) {
yRaqueteOponente += 5
}
if (keyIsDown (87)) {
yRaqueteOponente -= 5
}
//code para Oponente no automatico
//function moveRaqueteOponente() {
//velocidadeYOponente = (yBolinha - yRaqueteOponente - alturaRaquete) / 2;
//yRaqueteOponente += velocidadeYOponente/(Math.floor(Math.random() * 2) +10);
}
function incluirPlacar(){
stroke (255);
textAlign (CENTER);
textSize (16);
fill(color(255,140,0));
rect(150, 10, 40, 20);
fill(255);
text(meusPontos, 170, 26);
fill(color(255,140,0));
rect(450, 10, 40, 20);
fill(255);
text(pontosOponente, 470, 26);
}
function marcaPonto(){
if (xBolinha + raio > 598) {
meusPontos += 1
ponto.play();
}
if (xBolinha - raio < 2) {
pontosOponente += 1
ponto.play();
}
}
function preload() {
trilha = loadSound ("trilha.mp3");
ponto = loadSound ("ponto.mp3");
raquetada = loadSound ("raquetada.mp3");
}