Home

Selasa, 18 Juni 2013

Game Tictactoe Menggunakan Strawberry Prolog

Game tictactoe ini dibuat menggunakan game pemograman Strawberry Prolog, untuk membuatnya kita harus memasukkan listing game tersebut dan membuild game tersebut. Berikut Listing Game Tictactoenya:
%Game TicHartLane (TicTacToe4x4) ini dirancang ulang oleh Rizky Zakaria.
%3IA05 – Universitas Gunadarma
?-
%===Window Utama===
   set(pos([[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( _, _, win_func(_), “TicHartLane(4×4)”, 300, 150, 308, 368).
%===Gambar Background===
win_func(paint):-
brush(“TicHartLane//raisa.bmp”),
rect(29,29,269,269),
fail.
%===Tampilan Menu Utama===
win_func(init) :-
menu(pop_up, _, _,menu_game(_), “&Game”),
menu(normal, _, _, menu_htp(_), “&Cara Bermain”),
menu(right,_,_,menu_about(_),”a&bout”),
window_brush(_, rgb(90, 90, 90)).
menu_game(init):-
menu(normal, _, _, menu_baru(_), “&Mulai”),
menu(normal, _, _, menu_keluar(_), “&Keluar”).
%===Perintah menu Mulai===
menu_baru(press):-
set(pos([[f,f,f,f], [f,f,f,f], [f,f,f,f], [f,f,f,f]])),
update_window(_).
%===Perintah menu Keluar===
menu_keluar(press):-
close_window(_).
%===Perintah menu about===
menu_about(press) :-
message(“About This Game”,”
TicHartLane (TicTacToe(4×4)) dirancang ulang oleh:
Stephanus Anggoro R
3IA05
Universitas Gunadarma
-Game ini hanya untuk eksperimen-”, i).
%===Perintah menu Cara Bermain===
menu_htp(press):-
message(“Caranya”,”Cara Bermain:
1. Anda sebagai user (x) harus mengalahkan ai (o),
   dengan cara atur (x) secara horizontal/vertikal/
   diagonal.
2. Anda akan menang bila (x) lebih banyak yaitu 4 (x)
   dari (o) sesuai dengan arah horizontal/vertikal
   /diagonal.”, i).
Kemudian kita buat tampilan game tictactoenya:
Gambar

Setelah itu kita mainkan game tersebut untuk menentukan menang, kalah dan serinya.
Cara bermain TicHartLane ini sama saja dengan permainan tictactoe yang lainnya, yaitu sebagai berikut:
  1. User pertama kali meletakkan (X) di kolom/baris yang dimanapun yang tersedia.
  2. Kemudian selanjutnya AI meletakkan (O) di kolom/baris dimanapun yang tersedia.
  3. Dari user dan AI sama-sama menghadang langkah alat bantunya agar kalah.
  4. User maupun AI harus mengikuti langkah-langkah peletakan (X) / (O) sesuai 1  garis horizontal/vertikal maupun diagonal.
Goal menang dan kalah untuk menyelesaikan permainan TicHartLane adalah:
  1. Kondisi menang: Jika (X)/(O) memenuhi 1garis penuh (horizontal/vertikal maupun diagonal) maka dianggap menang dan AI kalah.
  2. Kondisi kalah: Jika pemain (User) tidak dapat memenuhi (X) 1garis penuh maka dianggap kalah dan AI menang.
Untuk kondisi menang berikut gambarnya:
Gambar
Dan ada kondisi seri juga, berikut gambar dengan kondisi seri:
Gambar
Dan berikut kondisi gambar kalahnya:
Gambar
Game tictactoe ini menggunakan konsep AI dalam permainan ini adalah algoritma minimax yaitu menggunakan strategi – strategi didalam permainan yang mungkin dilakukan oleh komputer agar dapat mengalahkan kemampuan bermain user. Selain algoritma minimax yang dipakai, ada algoritma greedy adalah algortima yang mudah diimplementasikan untuk memecahkan persoalan-persoalan yang membutuhkan suatu optimasi, optimasi disini adalah bagaimana kita mengatur langkah-langkah yang tepat agar sesuai dengan yang kita harapkan.