STRAWBERRY PROLOG: Membuat Timer dan Splash Screen

posting ini akan membahas tentang membuat timer dari strawberry prolog dan splash screen yang menggunakan fungsi timer di dalamnya.

pertama, buat window dahulu dengan code berikut
?- window(G_pertama,_,window_awal(_),"Window Timer", 250,200,800,400).
kemudian dilanjutkan dengan code berikut
window_awal(init):-
    G_detik := 0,
    G_waktu is set_timer(_,1.0,fungsi_timer).

  • G_detik adalah inisialisasi nilai awal yang nantinya akan ditampilkan
  • G_waktu adalah variabel yang menginisialisasi timer
  • 1.0 adalah pergerakan waktu dalam satuan detik, 1.0 berarti pergerakan waktu 1 detik. bisa kalian ganti dengan angka lain.
  • fungsi_timer adalah nama fungsi dari timer yang dibuat

lanjutkan dengan code berikut
fungsi_timer(end):-
    text_out(350,200,print("loading: " + G_batas)),
     G_batas := G_batas + 1.

  • fungsi_timer adalah nama fungsi dari timer yang dibuat
  • text_out artinya menampilkan teks dengan koordinat (350,200), print artinya teks yang ditampilkan, loading adalah teks normal yang akan tampil, sedangkan + G_batas adalah nilai integer yang akan berubah ubah sesuai pergerakan detik dengan langkah G_batas = G_batas + 1. artinya akan terus bertambah 1 setiap pergerakan detik.

maka output yang akan tampil seperti ini
timer1
timer 1
waktu tersebut tidak akan berhenti dan akan terus bertambah, sekarang saya akan menjelaskan bagaimana mengakses waktu tersebut agar bisa berhenti.

buat 1 button terlebih dahulu di init yang sebelumnya dibuat, init pada window ini adalah window_awal(init) jadi serperti ini
window_awal(init):-
    G_batas := 0,
    G_waktu is set_timer(_,1.0,fungsi_timer),
    button(_,_,button_berhenti(_),"Stop",250,200,70,30).
penjelasan button sudah dibahas sebelumnya, sekarang buat fungsi dari button tersebut
button_berhenti(press):-
    kill_timer(parent(_), G_waktu).
ketika button_berhenti ditekan, maka fungsi G_waktu akan dimatikan sehingga G_batas tidak bertambah lagi.

outputnya seperti ini


timer2
stop timer
sudah bisa distop waktunya, sekarang kita akan membuat splash screen. konsep dari splash screen adalah ketika waktu memenuhi suatu kondisi yang telah ditetapkan, maka window akan close dan akan muncul window baru.
lanjutan dari program di atas, hapus button terlebih dahulu sehingga yang tampil hanya loading, keseluruhan code jadi seperti ini
?- window(G_pertama,_,window_awal(_),"Window Timer", 250,200,800,400).

window_awal(init):-
    G_batas := 0,
    G_waktu is set_timer(_,1.0,fungsi_timer).

fungsi_timer(end):-
    text_out(350,200,print("loading: " + G_batas)),
     G_batas := G_batas + 1.
setelah itu, kita harus membuat 1 kondisi, jika G_batas = 100 maka window akan ditutup kemudian muncul window baru dengan menggunakan if else di dalam fungsi_timer(end) jadi code seperti ini
fungsi_timer(end):-
    text_out(350,200,print("loading: " + G_batas)),
    G_batas := G_batas + 1,
    (G_batas >= 100 –> 
    close_window(G_pertama),
    window(G_kedua,_,window_baru(_),"Window Timer 2", 100,200,300,400)).
if else pada prolog berada di dalam kurung. jika G_batas lebih dari atau sama dengan 100 maka window awal akan close dan muncul window baru .

output seperti ini
timer3
splash screen
timer4
window 2

Comments

Popular posts from this blog

cheat plants vs zombies menggunakan cheat engine

STRAWBERRY PROLOG: Membuat Garis (Line)

DOWNLOAD: Emulator PlayStation 1 (PS1) for Windows