Processing adalah bahasa pemrograman dan lingkungan pemrograman (development environment) open source untuk memprogram gambar, animasi dan interaksi. Digunakan oleh pelajar, seniman, desainer, peneliti, dan hobbyist untuk belajar, membuat prototipe, dan produksi. Processing digunakan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak (software) dan tool produksi profesional. Selain itu processing juga dapat di gunakan sebagai bahasa pemrograman untuk pembuatan game. Bagi anda yang tertarik untuk membuat game dengan bahasa ini, ikuti langkah-langkah berikut. Yang dimulai dari perancangan, implementasi hingga tahap uji coba.
Perancangan Program
Game yang akan saya buat dengan bahasa pemrograman processing, yaitu Shoot bubble. Dalam permainan kita diharuskan menembak bubble yang muncul dan bubble tidak boleh menyentuh dasar. Apabila bubble menyentuh dasar maka akan game over
********SOURCE CODE GAME************
PFont fontA;
int sphereDiameter = 10;
boolean shoot = false;
#TERJADI PENGGABUNGAN ANTARA UNION DAN INTERSECTION YANG MENGHASILKAN FALSE
int randx()
{
return int(random(600));
}
#LAYAR DIMANA INTEGER YANG BERUPA RANDOM
int[] sphereXCoords = { randx(), randx(), randx(), randx(), randx() };
#DISINI KELUAR BOLA2NYA
int[] sphereYCoords = { 0, 0, 0, 0, 0 };
void setup()
{
size(600,620);
}
#UKURAN LAYAR 600 X 600 PIXEL
void draw()
{
background(0);
#BACKGROUN BEWARNA HITAM
fill(color(0,255,0));
#WARNA HIJAU
stroke(color(0,255,0));
#WARAN HIJAU UNTUK FONT
triangle(mouseX-8, 580, mouseX+8, 580, mouseX, 565);
fill(color(255,0,0));
#WARNA MERAH UNTUK SENSOR
stroke(color(255,0,0));
#WARNA MERAH JIKA DI KILK
if(shoot==true)
{
#JIKA MENEMBAK KELUAR WARNA MERAH
sphereKiller(mouseX);
shoot = false;
}
# JIKA TIDAK MENEMBAK TIDAK ADA AKTIVITAS APAPUN
sphereDropper();
gameEnder();
}
void mousePressed()
{
shoot = true;
}
void sphereDropper()
{
stroke(255);
fill(255);
for (int i=0; i<5; i++)
{
ellipse(sphereXCoords[i], sphereYCoords[i]++,
sphereDiameter, sphereDiameter);
}
}
void sphereKiller(int shotX)
{
boolean hit = false;
for (int i = 0; i < 5; i++)
{
if((shotX >= (sphereXCoords[i]-sphereDiameter/2)) &&
(shotX <= (sphereXCoords[i]+sphereDiameter/2)))
{
hit = true;
line(mouseX, 565, mouseX, sphereYCoords[i]);
ellipse(sphereXCoords[i], sphereYCoords[i],
sphereDiameter+25, sphereDiameter+25);
sphereXCoords[i] = randx();
sphereYCoords[i] = 0;
}
}
if(hit == false)
{
line(mouseX, 565, mouseX, 0);
}
}
void gameEnder()
{
for (int i=0; i< 5; i++)
{
if(sphereYCoords[i]==600)
{
fill(color(255,0,0));
noLoop();
}
}
}
#STATE AWAL
#GAME OVER
Tidak ada komentar:
Posting Komentar