Game Engine
: Strawberry Prolog
Prolog diambil
dari bahasa Perancis programmation Enogique (pemrograman logika).
Bahasa ini diciptakan oleh Alain Colmerauer dan Robert
Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan
suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih
rangkaian perintah untuk dijalankan komputer.
Prolog adalah bahasa
pemrograman logika atau disebut juga bahasa non prosedural. Prolog
disebut sebagai object oriented language atau declarative language. Dalam
prolog tidak terdapat prosedur, tetapi hanya tampilan data-data object yang
akan diolah dengan relasi antar object yang membentuk suatu aturan.
Aturan-aturan ini disebut heuristikdan diperlukan dalam mencari suatu
jawaban, dengan kata lain, prolog dalam prolog adalah database. Strawberry
Prolog adalah dialek dari bahasa pemrograman Prolog. Sintaksnya sangat dekat
dengan ISO-Prolog tetapi memiliki banyak ekstensi yang bukan bagian dari
standar.
Penerapan PROLOG ini cukup banyak
diterapkan pada bidang-bidang tertentu, berikut contoh penerapannya :
·
Sistem Pakar (Expert System)
·
Pengolahan Bahasa Alami (Natural
Language Processing)
·
Robotika
·
Pengenalan Pola (Pattern
Recognition)
·
Pembelajaran (Learning).
PEMBUATAN GAME
Prolog memiliki beberapa contoh game yang
dapat dikembangkan. Diantaranya adalah tic tac toe. Game ini akan dibuat lebih
menarik dari sisi grafis dan rintangannya. Bila game tictactoe pada awalnya
hanya 3X3 nantinya akan dibuat 12X12 agar lebih menantang.
%===========splash
screen===================
window(G_Splash, _, windowS(_),"Ahmad
Faiz",420,200,420,320).
windowS(init):- % set timer
G_batas := 0,
G_waktu is set_timer(_,0.10,fungsi_timer).
windowS(paint):-
draw_bitmap(0,0,G_x,_,_).
fungsi_timer(end):- %fungsi timer
G_batas := G_batas +5,
(G_batas >= 100 -> close_window(G_Splash),
window(G_splash,_,window_awal(_),"splash",420,180,500,400)).
Maksud dari potongan perintah diatas adalah program akan
membuat sebuah spash screen dengan judul Ahmad Faiz, lebar window nya adalah
420 dan panjangnya 320. Dalam spash screen tersebut memuat sebuah gambar yang
di deklarasikan dengan G_splash.
%============windows
awal======================
window_awal(init):-
close_window(G_splash),
window(G_menu, _,
daftar_menu(_),"MASHA AND THE BEAR", 150, 10, 970, 700).
daftar_menu(init):-
menu(pop_up,
_,_,menu_bar(_),"Pilihan"),
menu(normal, _,_,cara_main(_),"Cara
Main"),
menu(normal,
_,_,about(_),"About"),
button(_,_,mulai(_),"Mulai",400,530,150,50),
button(_,_,cara_main(_),"Cara
Main",200,530,150,50),
button(_,_,keluar(_),"Keluar",600,530,150,50).
Maksud dari potongan program diatas adalah program akan
membuat window baru bernama MASHA AND THE BEAR dengan panjang 970 dan lebar 700
pixel. Didalam window tersebut terdapat menu bar yang terdiri dari Menu_bar,
cara_main dan about. Didalam window tersebut juga terdapat tiga buah button
yaitu mulai, cara main dan keluar.
%===========mulai================
mulai(press):-
close_window(G_menu),
execute("Audio/lagu.exe"),
set(pos([[f,f,f,f,f,f,f,f,f,f,f,f],
[f,f,f,f,f,f,f,f,f,f,f,f], [f,f,f,f,f,f,f,f,f,f,f,f],
[f,f,f,f,f,f,f,f,f,f,f,f],
[f,f,f,f,f,f,f,f,f,f,f,f], [f,f,f,f,f,f,f,f,f,f,f,f],
[f,f,f,f,f,f,f,f,f,f,f,f],
[f,f,f,f,f,f,f,f,f,f,f,f], [f,f,f,f,f,f,f,f,f,f,f,f],
[f,f,f,f,f,f,f,f,f,f,f,f],
[f,f,f,f,f,f,f,f,f,f,f,f], [f,f,f,f,f,f,f,f,f,f,f,f]])),
set(lose_flag(false)),
brush(system_color(window)),
window( G_main, _, win_func(_), "MASHA
AND THE BEAR", 150, 10, 950, 700).
Maksud dari perintah diatas adalah jika perintah mulai
pilih maka akan menutup window tersebut dan membuka window baru dan membuka
file lagu.exe. window tersebut memiliki panjang 950 dan lebar 700.
%=====================icon================
write_mark(x, X1, Y1, X2, Y2)
:-
draw_bitmap(X1,Y1,bitmap_image("Pictures//masha.bmp",_),_,_).
write_mark(o, X1, Y1, X2, Y2)
:-
draw_bitmap(X1,Y1,bitmap_image("Pictures//bear.bmp",_),_,_).
win_func(paint) :-
draw_bitmap(0,0,G_bgplay,_,_),
Maksud dari perintah diatas adalah program akan
memasukkan gambar masha.bmp dan bear.bmp dalam folder Pictures yang nantinya
kedua gambar itu akan menjadi icon dari permainan tersebut.
%===============Button===============
about(press):-
message("About","
Game ini dibuat oleh:
AHMAD
FAIZ
50412429
UNIVERSITAS GUNADARMA
2014 ", i).
write("OK"), nl.
cara_main(press):-
window(G_how,_,win_how(_),"Cara Bermain",150,
10, 970, 700).
Maksud dari perintah diatas adalah jika perintah about
diklik maka akan muncul message informasi pengembang. Begtu juga jika anda klik
cara_main maka akan muncul window baru berisi cara bermain.
%===========Memanggil Button===========
daftar_menu(init):-
menu(pop_up,
_,_,menu_bar(_),"Pilihan"),
menu(normal,
_,_,cara_main(_),"Cara Main"),
menu(normal,
_,_,about(_),"About"),
button(_,_,mulai(_),"Mulai",400,530,150,50),
button(_,_,cara_main(_),"Cara Main",200,530,150,50),
button(_,_,keluar(_),"Keluar",600,530,150,50).
Jika potongan program sebelumnya hanya mendeskipsikan
bagian bagiannya saja, maka potongan program diatas bertugas untuk memanggil
perintah-perintah diatas dengan inisialnya.
%========Kondisi menang kalah===========
think(Pos) :-
victory(x, Pos),
!,
set(lose_flag(true)),
execute("Audio\\taskill.bat"),
beep("Audio\\horaa.wav"),
message("Unbelievable","Anda
menang...",!),
set(lose_flag(true)),
execute("Audio\\taskill.bat"),
beep("Audio\\Boo.wav"),
message("Sorry","Yah kalah...",s),
beep("Audio\\klik.wav"),
Maksud dari potongan program diatas adalah jika pemain
dapat memenangkan perandingan maka akan muncul message "Anda
menang..." sedangkan jika AI yang menang maka akan muncul message "Yah
kalah...".
Sumber:
- http://budiazizkirana.blogspot.com/2013/04/strawberry-prolog.html
- https://gigihsoak.wordpress.com/2012/04/25/membuat-game-sederhana-menggunakan-strawberry-prolog/
0 komentar:
Posting Komentar