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 :
0 Response to "Menu dan Timer pada Strawberry Prolog"
Posting Komentar