Monday, November 23, 2015

Tarefa - Ping Pong

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