Senin, 30 April 2012

Manual Book Game Shooting Circle

        Game ini merupakan game sederhana, yang terdiri dari sabuah window , cursor dan  objek berupa lingkaran. cara memainkan game ini sangat mudah. pertama yaitu pemain mengklik botton start lalu pemain memembak sebuah objek(lingkaran) yang bergerak tak beraturan dengan sebuah cursor (menggunakan mouse).

Screenshoot :

Tampilan pada awal setelah pemain menekan tombol start.


Tampilan setelah pemain berhasil tepat mengenai sasaran, dan mendapat point satu.



Tampilan setelah pemain berhasil tepat mengenai sasaran, dan point bertambah satu.



Tampilan setelah pemain berhasil tepat mengenai sasaran, dan point bertambah satu.



Begitupun seterusnya, dan lingkaran pun semakin mengecil dan semakin cepat perpindahannya. disini dibutuhkan kecekatan sang pemain



Dan seterusnya, lingkaran pun hampir menghilang.


Permainan ini berakhir apabila lingkaran sudah tidak terlihat. dan menampilkan message box yang memberitahukan bahwa permainan telah berakhir dan menampilkan jumlah score yang telah kita kumpulkan.



Source Code Program :

?-
  G_Success=0,
  G_Pen is pen(3,rgb(0,0,0)),
  G_PenW is pen(3,system_color(window)),
  G_White is brush(system_color(window)),
  G_Red is brush(rgb(255,0,0)),
  G_Blue is brush(rgb(0,0,255)),
  G_ThisShoot:=200,
  G_LastShoot:=0,
  window_n( _, _, win_func, "Shooting Circle", 200, 100, 400, 300, _, c, _).

win_func(init) :-
  button( G_Button, _, but_func(_), "Start", 280, 230, 80, 20).
win_func(paint) :-
  text_out(20,20,print(G_Success)).

win_func(mouse_click(X,Y)):-
  G_LastShoot>G_ThisShoot,
  abs((G_X-X)**2+ (G_Y-Y)**2)
  G_Success:=G_Success+1,
  text_out(20,20,print(G_Success)+"   "),
  G_LastShoot:=G_ThisShoot,
  beep.

but_func(press) :-
  G_Time:=20,
  G_Time2:=0,
  G_R:=20,
  G_ThisShoot:=200,
  G_LastShoot:=1000,
  G_Success:=0,
  text_out(20,20,print(G_Success)+"   "),
  G_X:= -100,
  G_Y:= -100,
  enable_window(G_Button, 0),
  G_Timer := set_timer(parent(_), 0.1, time_func).


time_func(end) :-
  G_Time=0, !,
  kill_timer(_, G_Timer),
  message("Game Over","Score Anda adalah "+print(G_Success),i),
  enable_window(G_Button, 1),
  fail.
time_func(end) :-
  G_Time2=0, !,
  pen(G_PenW),
  brush(G_White),
  ellipse(G_X-G_R, G_Y-G_R, G_X+G_R, G_Y+G_R),
  G_X := random(380),
  G_Y := random(260),
  G_Time2 :=G_Time,
  (random(3)=:=0 ->
    G_Time := G_Time - 1),
  G_R := G_Time,
  G_ThisShoot:=G_ThisShoot - 1,
  pen(G_Pen),
  (G_Time mod 2 =:= 0->
    brush(G_Red)
  else
    brush(G_Blue)
  ),
  ellipse(G_X-G_R, G_Y-G_R, G_X+G_R, G_Y+G_R),
  fail.
time_func(end) :-
  G_Time2:=G_Time2 - 1,
  fail.


Nama : Rahmadhan Pratomo
Kelas  : 3IA18
NPM   : 50409024

Tidak ada komentar:

Posting Komentar