Translate this page from Indonesian to the following language!
English French German Spain Italian Dutch Russian Portuguese Japanese Korean Chinese Simplified Arabic

Tuesday, January 18, 2011

Game Don't Make Line versi Aditoy

Akhirnya setelah sekian lama gw ngga blogging lagi gara-gara tugas kuliah dan laporan praktikum yang seabreg, belum lagi yang bikin gw takut di semester ini gara-gara adanya sidang praktikum Prolog! ternyata eh ternyata, setelah sidang yang berlangsung cuma "beberapa menit" saja, ngga nakut-nakutin amat sama apa yang udah gw bayangin sebelum sidang tersebut. Sujud syukur dah gw waktu itu udah dilancarkan sidangnya. Alhamdulillah :)

Gw flashback dulu ya, sebelumnya tugas dari kakak asistennya nyuruh anak-anak kelas 3IA11 untuk membuat sebuah karya tulis yang agak menyerupai Penulisan Ilmiah yang terdapat di kampus gw. Tapi data yang diambil harus tentang sebuah permainan yang berbasis Artificial Intelligence (AI) yang dibuat dengan menggunakan aplikasi Strawberry Prolog. Pas waktu itu juga gw bingung banget mau buat game apaan. Ngga kepikiran sama sekali mau buat game apa sedangkan untuk pemrogramannya aja gw ngga tau apa-apa karena di praktikumnya aja ngga belajar yang kayak beginian. Intinya gw bingung banget mau gimana dah waktu ntu.

Kebetulan ada temen kelasan gw yang bernama Rivan bilang ama gw kayak gini, "ngapain lu pusing-pusing mikirin Prolog. lu download aja aplikasinya. Didalemnya udah ada game-gamenya kok tinggal pilih aja mau game apaan trus tinggal diotak-atik kodingnya". Tanpa pikir panjang lagi langsung aja gw minta tu aplikasi dari temen gw. Yang penting tugas cepet kelar trus dipelajari kodingannya buat siap-siap ngadepin sidang. Haha! Buat agan-agan yang mau download aplikasi Strawberry Prolog, bisa cek ke TKP.

Setelah aplikasi tersebut udah nyampe ke tangan gw, akhirnya gw coba buat pilih-pilih dulu game apaan yang nanti bakal gw ambil buat sidang. Eh akhirnya gw nemuin game yang namanya Don't Make Line!. Gw coba buat mainin itu game sebelum gw pelajarin kodingnya lebih lanjut. Ternyata game tersebut mirip banget kayak game Tic Tac Toe cuma bedanya kalo game Tic Tac Toe kita harus membentuk garis lurus secara horizontal, vertikal, dan diagonal untuk menjadi pemenangnya. Tapi kalo game Don't Make Line ini, jika ada salah satu pemainnya ada yang membentuk sebuah garis lurus secara horizontal, vertikal, dan diagonal maka pemain tersebut dinyatakan kalah.


Kelebihan dari game Don't Make Line ini kita tidak hanya bermain sendiri saja. Akan tetapi terdapat lawannya, yaitu kita melawan komputer. Permainan ini dinyatakan sebagai permainan berbasis kecerdasan buatan atau bahasa kerennya mah Artificial Intelligence (AI) karena pada game ini terdapat komputer yang bermain seolah-olah menyerupai manusia. Jadi pada game ini kita dapat mengadu kecerdasan atau kepandaian dengan komputer.

Game tersebut langsung gw tulis aja dikertas progress biar disetujui oleh kakak asisten labnya. Alhamdulillah disetuji loh, haha! Semenjak itu gw kepikiran terus buat mempelajari kodingannya. Akan tetapi gw harus mengumpulkan mood untuk mempelajarinya karena gw orangnya rada males-malesan sih. Setelah berjalannya waktu, baru deh kekumpul semua itu mood untuk mempelajari kodingan dari game tersebut. Akan tetapi sudah mendekati hari sidang Prolog tersebut. Intinya mah jangan tegang, dibawa santai aja soalnya kalo tegang pasti gabakalan selesai.

Di tempat kost-kostan nya si Rivan, gw ama temen-temen gw yang lain mencoba untuk menyelesaikan tugas tersebut sebelum hari H. Sampe begadangan juga gw jabanin dah yang penting kelar tugasnya. Temen-temen gw yang lain juga pada gitu soalnya. Hahaha! Gw pelajarin bener-bener itu kode-kode program yang ngga gw ngerti sampe pada akhirnya gw nemuin dan mahamin sedikit demi sedikit. Maklum ajalah namanya juga dalam tahap pembelajaran. Hohoho.

Langsung aja kali ya, sebelumnya kita jalankan dulu aplikasi Strawberry Prolog yang tentunya sudah terpasang pada PC/Laptop yang akan kita gunakan. Lalu pilih toolbar Open untuk mencari game Don't Make Line pada direktori yang benar yang terdapat didalam aplikasi tersebut. Jika sudah dibuka, maka akan muncul tampilan kode-kode program game Don't Make Line seperti gambar dibawah ini.


Dari seluruh kode-kode tersebut, hanya beberapa saja yang dapat saya rubah-rubah supaya tampilannya berbeda dengan yang sudah terdapat pada aplikasi tersebut. Kode-kode yang dapat saya rubah diantaranya adalah sebagai berikut :
  • Tampilan jendela permainan
    set(situation([[[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(end_flag(false)),
    pen(2,rgb(0,0,0)),
    window(_,_,win_func(_),"Don't Make Line",200,200,260,300).
  • Pewarnaan
    win_func(paint).
    colour(f):-
    brush(rgb(155,155,155)).
    colour(x):-
    brush(rgb(170,0,255)).
    colour(o):-
    brush(rgb(255,125,255)).

    nb : f=warna papan, x=warna player, o=warna AI
  • Message box
    win_func(mouse_click(X,Y)):-
    beep.
    think(Pos2,Pos):-
    failure(x,Pos),
    message("Maap-Maap Kate Aje Ni Ye...","Masa lawan AI cupu aje lu kalah?!",s),
    set(end_flag(true)), !, fail.
    think(Pos2,Pos):-
    member3(Pos,f,X,Y,Z),
    move(Pos2,Pos,o,X,Y,Z),
    win(x,Pos2,1),
    message("Wa wa wa wa waduuuh...","Yaelah nyerah aja kali daripada buang-buang waktu ane aje.",i).
    think(Pos2,Pos):-
    member3(Pos,f,X,Y,Z),
    move(Pos2,Pos,o,X,Y,Z),
    nolose(x,Pos2,2).
    think(Pos2,Pos):-
    member3(Pos,f,X,Y,Z),
    move(Pos2,Pos,o,X,Y,Z),
    nolose(x,Pos2,0),
    message("Ceileee...","Roman-romannye elu bakal menang nih.",n).
    think(Pos2,Pos):-
    member3(Pos,f,X,Y,Z),
    move(Pos2,Pos,o,X,Y,Z),
    message("Yoi Coy...","/GG banget dah elu kayak Toy yang paling GG.",!),
    set(end_flag(true)).

Dari hasil otak-atik tersebut, hasilnya jadi kayak gini nih.




Haha menarik kan teman-teman sekalian. Sebenernya ada lagi sih tambahanselain kode-kode diatas. Tambahan yang gw maksud itu buat bikin pilihan menu seperti New Game, Option, Help, dll. Cuma sayangnya gw lupa naro backup kode nya dimana. Tapi nanti kalo ketemu pasti gw update di blog ini lagi ato ngga gw kasih link ke artikel gw yang lainnya. Ditunggu aja ya ato ngga berlangganan blog ini via email aja :)

Adit a.k.a Toy