Pengantar Teknologi Game: Pert1

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:





0 komentar:

Posting Komentar

 
Copyright © #GEEZERS