A tarefa consiste em aprimorar um código elaborado em sala de aula para a criação de um jogo de Ping-Pong.
Código:
//Variável que indica o valor da pontuação
int pont;
//Bolinha
int bolaX = 50;
int bolaY = 300;
int dX = 10;
int dY = 10;
int r = 20;
//Paddles
int padXdir = 780;
int padXesq = 20;
int l = 20;
int a = 100;
int padY = 300;
int pY = 10;
void setup(){
size(800,600);
background(0);
pont = 0;
}
void draw(){
background(0);
textSize(30);
//Movimentação do paddle esquerdo
if(mouseY>=height-a/2){
rectMode(CENTER);
rect(padXesq,height-a/2,l,a);
}
else if(mouseY<=0+a/2){
rectMode(CENTER);
rect(padXesq,0+a/2,l,a);
}
else{
rectMode(CENTER);
rect(padXesq,mouseY,l,a);
}
//Movimentação do paddle direto
if(padY>=height-a/2){
rectMode(CENTER);
rect(padXdir,height-a/2,l,a);
}
else if(padY<=0+a/2){
rectMode(CENTER);
rect(padXdir,0+a/2,l,a);
}
else{
rectMode(CENTER);
rect(padXdir,padY,l,a);
}
if(keyPressed){
if(keyCode == UP){
padY = padY - pY;
}
else if(keyCode == DOWN){
padY = padY + pY;
}
}
//Movimentação da bolinha
ellipse(bolaX,bolaY,r,r);
bolaX = bolaX + dX;
bolaY = bolaY + dY;
if ((bolaY >= 590) || (bolaY <= 10)){
dY = -dY;
}
if((bolaX <= l + r/2) && (bolaY >= mouseY - a/2) && (bolaY <= mouseY + a/2)){ //Colisão
if(bolaY > mouseY){
dY = (bolaY - mouseY)/5;
}
else if(bolaY < mouseY){
dY = (bolaY - mouseY)/5;
}
dX = -dX;
}
if((bolaX >= 770) && (bolaY >= padY - a/2) && (bolaY <= padY + a/2)){ //Colisão
if(bolaY > padY){
dY = (bolaY - padY)/5;
}
else if(bolaY < padY){
dY = (bolaY - padY)/5;
}
dX = -dX;
}
if((bolaX < 10) || (bolaX > 790)){
noLoop();
background(0);
text("Game Over",330,300);
println("Game Over");
}}
No comments:
Post a Comment