Minggu, 09 Juni 2013

Game 2D Tennis



Perancangan

Pada kesempatan kali ini saya akan membuat game 2d tenis dengan menggunakan processing yang dapat langsung anda download pada situs resminya,



Untuk guna melengkapi tugas pengatar teknologi game (SoftSkill).

Game ini di buat dengan penambahan kesulitan, tiap bola yang di hit. misal bola kena saddle point akan bertambah tapi lebar saddle akan berkurang tiap perhit yang kena dari tersebut.

apabila di gambarkan dalam use case diagram akan nampak pada seperti di bawah ini



perancangan algoritma merupakan step by step yang akan di lakukan apa saja dalam game tersebut, dan deploy merupakan tugas pokok terpenting dari si programmer yaitu merubah source code yang berupa code - code menjadi applikasi yang akan siap di pasarkan. Apabila aplikasi tersebut sudah siap di pasarkan maka user dapat menemuinya di pasaran.


Listing Program

void setup ()
{
size(600,400);
}
float ballX = 200;
float ballY = 100;
float speedX = 10;
float speedY = 0;
int hit = 0;
int miss = 0;
void draw()
{
if(mousePressed){ hit = 0; miss = 0;}
float paddle = 1000/(hit+10);
if (ballX < 0 || ballX > width) speedX = -speedX;
if (ballY > height) {
speedY = -speedY;
float distance = abs(mouseX - ballX);
if(distance < paddle) hit += 1;
else miss += 1;

} else speedY += 1;

ballX += speedX;
ballY += speedY;
background(100,200,50);
fill(200,100,50);
ellipse(ballX, ballY, 50, 50);
fill(50,100,200);
rect(mouseX-paddle, height-10,2*paddle,10);
fill(0);
text("hit: " + hit, 10, 20);
text("miss: " + miss, 10, 40);
}


Logika

void setup ()
adalah untuk mendefinisikan apa saja yang pertama kali akan di setting saat program di mulai pada kasus ini saya membuat size window yaitu utk X = 600 Y = 400
{
size(600,400);
}
void draw()

ini adalah apa saja yang akan di pakai saat aplikasi sudah berjalan saya membuat background dengan warna hijau 





float ballX = 200;
float ballY = 100;
float speedX = 10;
float speedY = 0;
int hit = 0;
int miss = 0;
merupakan tipe variable dan valuenya jika di artikan dalam bentuk umum yaitu ;
type_data nama_variable = value;
type data bisa berupa int jika dalam bilangan bulat dan float jika bilangan decimal

if(mousePressed){ hit = 0; miss = 0;}
jika mouse di click maka score utk hit dan miss akan di reset kembali menjadi 0
float paddle = 1000/(hit+10);
apabila mengenai paddle maka total 1000 akan di kurangi lebar sebanyak 10/hit
if(distance < paddle) hit += 1;
else miss += 1;
code di atas adalah untuk menyimpan suatu nilai dari paddle jika paddle lebih besar dari distance maka point hit bertambah point 1 tapi sebaliknya jika tidak maka point miss bertambah nilai 1, yang dimana distance itu ialah bernilai absolute
float distance = abs(mouseX - ballX);

jika sudah mendapatkan point tersebut tinggal mencetak dalam bentuk text sehingga dapat di tampilkan dalam aplikasi yang tennis tersebut
text("hit: " + hit, 10, 20);
text("miss: " + miss, 10, 40);

di tampilkan dalam bentuk text yaitu text+ dari hasil point tennis di atas akan bernilai ++ tiap bertambah kondisi yang di ambil dari data + hit atau +miss dan dengan letak posisi X dan Y nya tersebut. 10,20 untuk hit dan 10,40 pada canvas tersebut.
 

Tidak ada komentar:

Posting Komentar