Kamis, 10 Juli 2014

Tugas Softskill 3IA17

Tugas SoftSkill 3IA17
Game Bola Basket dengan Processing
Guna melengkapi Tugas Mata Kuliah SoftSkill 3IA17 Semester 6

Nama Anggota :
- Andre Rianda    50411780
- Arief Ilham        51411099
- Garry Gautama  53411014

Kelompok kami membuat sebuah permainan Bola Basket Sederhana dengan menggunakan aplikasi Processing. berikut adalah tampilan permainan



Cara Bermain
Dengan mengklik bola dan menggeser kearah ranjang. apabila bola masuk ke ranjang maka score akan bertambah.



Listing Program
//deklarasi variabel
float Vx = 5;
float Vy = 1;
float xPosition = 30;
float yPosition = 30;

float Pbola = 40;
float Tbola = 40;

int nilai = 0;

PImage bola;

void setup()
{

  size(610, 400);
  background(255);
  smooth();
  bola = loadImage ("bolabasket.png");

}

void draw()
{

// untuk membuat tulisan di sisi kiri
  fill(0,0,0);
  text("Score: "+nilai, 30, 30);

// untuk membuat ring
  fill(0,0,255);
  rect(500,100,100,10);
  rect(600,40,500,80);

  fill(0,0,0);
  rect(605,120,610,400);

// untuk membuat jaring ring
  line(500,110,520,200);
  line(510,110,530,200);
  line(520,110,540,200);
  line(530,110,550,200);
  line(540,110,560,200);
  line(550,110,570,200);
  line(560,110,580,200);
  line(570,110,585,180);
  line(580,110,590,160);

  line(600,110,580,200);
  line(590,110,570,200);
  line(580,110,560,200);
  line(570,110,550,200);
  line(560,110,540,200);
  line(550,110,530,200);
  line(540,110,520,200);
  line(530,110,515,180);
  line(520,110,510,160);

// untuk membuat layar tidak menyisakan bayangan
  fill(255,150);
  rect(0, 0,width, height);

//  fill(255, 100, 0);
  //ellipse(xPosition, yPosition, 50, 50);
// untuk membuat bola
  image(bola,xPosition-25, yPosition-35,60,68);

//deklarasi kecepatan dari posisi bola awal saat aplikasi dijalankan
  Vy +=.5;
  Vx *=1;
  xPosition += Vx;
  yPosition += Vy;

// Arah mantul ke kiri
  if (xPosition > width-Pbola/2)
  {
    xPosition=width-Pbola/2;
    Vx=-Vx;
  }

// Arah mantul ke kanan
  if (xPosition<Pbola/2)
  {
    xPosition=Pbola/2;
    Vx=-Vx*.9;
  }

// Arah mantul dari atas
  if (yPosition<Tbola/2)
  {
    yPosition=Tbola/2;
    Vy=-Vy*.9;
  }

// Pantulan gravitasi
  if (yPosition > height-Tbola/2)
  {
    yPosition=height-Tbola/2;
    Vy = -Vy*.9;
  }

// Perlambatan bola
  if (yPosition > height-Tbola/2-1)
  {
    Vx *=.9;
  }
//penambahan nilai
if (xPosition >= 520 && yPosition < 110 && yPosition > 105)
    {
        yPosition=111;
        if ( Vy<=0)
         {
          Vy=-Vy;
         }
//         if ( xPosition>500 && xPosition < 600)
//         {
//          Vx=-Vx;
//         }      
       
         else
         {
           nilai+=1;
         }
     }
   
//membuat bola tidak masuk dari bawah ring  
if (((xPosition>=480 && xPosition < 520) || (xPosition>=580 && xPosition < 600)) && yPosition > 100 && yPosition < 200)
     {
      Vx=-Vx;
      if (xPosition > 480 && yPosition < 110 && yPosition > 105)
      {
      nilai+=1;
      }
     }    
    }


// lempar bola
void mouseDragged()
{
  xPosition = mouseX;
  yPosition = mouseY;
  Vx = mouseX - pmouseX;
  Vy = mouseY - pmouseY;
}

Penjelasan Lebih Lanjut
link yoututube: http://www.youtube.com/watch?v=CdaO0T3oHgQ