Menu dan Timer pada Strawberry Prolog

Program prolog kali ini membahas tentang pembuatan menu dan timer. Pertama saya akan menjelaskan tentang menu dulu, dan seperti biasa , saya membagi program dalam beberapa blok agar mudah di baca ,berikut penjelasannya :


 Listing Program
Menu
?-
G_N := 10,
window(_,_,win_func(_),"Pertemuan 3",50,20,500,500).

win_func(init):-
menu(pop_up,_,_,menu_game(_),"&Menu"),
menu(pop_up,_,_,level(_),"&Level"),
menu(right,_,_,help_menu(_),"&Help").
win_func(paint):-
draw_bitmap(0,0,G_Background,_,_).

help_menu(press):-
shell_execute("help.txt").
menu_game(init):-
menu(normal,_,_,keluar(_),"&Keluar").
win_func(close):-
not(yes_no("exit","anda yakin mau keluar",?)).
keluar(press):-
close_window(_).  

Timer:
?-

G_N=6,
window(_,_,win_func(_),"Timer",200,100,400,300).

win_func(paint):-
     G_waktu is set_timer(_,1,time_func).

time_func(end):-
     (G_N=:=0->
          kill_timer(_,G_waktu),
          message("Pesan","Waktu Habis",!),
          close_window(_)
     else
          G_N<>=G_N-1),
          Angka is printq(G_N),
          text_out(185,120,Angka).






Penjelasan Program


Menu

?-
G_N := 10,
window(_,_,win_func(_),"Pertemuan 3",50,20,500,500).

Tanda ?- adalah sintak wajib yang harus di tulis saat menggunakan prolog. Sedangkan G_N adalah variable yang di beri nilai 10. Selanjutnya ada listing yang bergunakan menampilkan window. Dengan fungsi yan g bernam,a win_func(_) dan koordinatnya.

win_func(init):-
menu(pop_up,_,_,menu_game(_),"&Menu"),
menu(pop_up,_,_,level(_),"&Level"),
menu(right,_,_,help_menu(_),"&Help").

Nah fungsi win_func(_) yang tadi sudah di dklarasikan, akan memanggil atau menempatkan fungsi lain seperti menu , level dan help. Ada sedikit perbedaan dengan pop up dan right pada fungsi menu/level dan help. Perbedaan nya hanya pada letak jika help di letakkan pada sisi kanan dari windows.

win_func(paint):-
draw_bitmap(0,0,G_Background,_,_).

=Fungsi win_func berfungsi untuk menempatkan gambar yang berekstensi bmp. Dengan perintah draw_bitmap maka gambar di panggil.

help_menu(press):-
shell_execute("help.txt").

= perintah di atas berfungsi untuk memberi nilai pada fungsi help, jadi jika menu help di pilih maka akan menampilkan help.txt. yang akan terbuka pada text editor di computer anda.

menu_game(init):-
menu(normal,_,_,keluar(_),"&Keluar").

=menu_game ini di gunkan untk memanggi fungsi keluar.

win_func(close):-
not(yes_no("exit","anda yakin mau keluar",?)).

Namun sebelum keluar anda akan di Tanya , jika anda benar2 ingin keluar dari permainan. Akan muncul 2 button yaitu yes/no jika anda memilih yes maka akan keluar permainan. Jika tidak maka anda akan tetap di permainan.

keluar(press):-
close_window(_).
Seperti di jelaskan di atas jika anda memilih yes maka akan keliuar dengan memanggil fungsi close _windows


Timer
?-
G_N=6,
window(_,_,win_func(_),"Timer",200,100,400,300).

Tanda ?- adalah sintak wajib yang harus di tulis saat menggunakan prolog. Sedangkan G_N adalah variable yang di beri nilai 6. Selanjutnya ada listing yang bergunakan menampilkan window. Dengan fungsi yang bernama win_func(_) dan koordinatnya.


win_func(paint):-
     G_waktu is set_timer(_,1,time_func).

Lalu fungsi win_func yang tadi sudah di deklarasikan akan di beri nilai. Diatas terdapat perintah untuk mengatur fungsi time_func dengan memiliki interval 1 detik

time_func(end):-
     (G_N=:=0->
          kill_timer(_,G_waktu),
          message("Pesan","Waktu Habis",!),
          close_window(_)
     else
          G_N<>=G_N-1),
          Angka is printq(G_N),
          text_out(185,120,Angka).

Ada 2 percabangan yaitu ketika variable G_N sama dengan 0 maka timer akan berhenti dan muncul pesan “waktu habis” lalu menutup windows. Jika prenyataan pertama tidak memenuhi mak akan masuk ke percabangan ke 2 I mana variabke G_N akan terus berkurang 1 angka setiap detiknya. Ketika waktu berkurang nilai variable g_n akan di tampilkan pada koordinat yang sudah di tentukan.


Output

Menu

Pada program menu akan tampil 2 menu yang sudah di buat dengan listing program di atas. Yaitu menu dan exit. Jika kita klik menu exit maka akan muncul pesan berikut



Timer

Nilai G_N yang tadi di berikan akan terus berkurang hingga bernilai 0, Program Timer ketika waktu habis ( G_N = 0)








Bagikan :





Artikel Terkait

0 Response to "Menu dan Timer pada Strawberry Prolog"

Posting Komentar