Thursday, May 15, 2014

Game Take The Crown

Penjelasan Game:
Permainan Take The Crown ini mengadaptasi dari permainan Matches(memindahkan korek api), dengan megubah korek api menjadi mahkota putri, menambahkan tampilan background, menambah beberapa menu, waktu dan suara.
Komponen dari permainan ini:
  1. Gambar latar/Tampilan Jendela Utama
  1. Gambar Mahkota
  1. Waktu
  1. Tampilan menu
Menu terdiri dari 4 bagian:
·      New Game, terdiri dari Crown1,2&3 yang memiliki bentuk permainan crown yang berbeda.
·      Help, berisi informasi mengenai cara permainan ini dimainkan.
·      About Me, berisi tentang biodata pembuat.
·      Exit, untuk keluar dari permainan.
  1. Suara
Terdapat beberapa suara pendukung untuk menambah agar permainan semakin menarik. Suara tambahan tersebut berada di file Sound. Terdiri dari suara start, menu, info, klik, klik2, win, lose, dan bye.
  1. Tampilan Jendela Utama
Crown 1:
Crown 2:
Crown 3:
Tampilan Help:

Tampilan About Us:


Permainan Take The Crown ini memiliki beberapa peraturan, yakni:
  1. Dapat dimainkan oleh satu orang. Memulai permainannya pemain harus mengklik menu New Game dan memilih crown yang diinginkan.
  2. Setelah memilih crown yang diinginkan, pemain akan melakukan permainan dengan jumlah waktu yang telah ditentukan.
  3. Untuk mengambil crown, pemain hanya mengklik crown yang diinginkan.
  4. Pemain dapat mengambil crown  sebanyak yang diinginkan tapi hanya dalam satu tumpukan saja.
  5. AI menghalangi pemain untuk mencapai goal(tujuan).
         Saat permainan berakhir, jika pemain memenangkan permainan maka akan tampil jendela pesan sebagai berikut.
         Namun jika pemain kalah dalam permainan maka akan tampil jendela pesan sebagai berikut.
         Namun, bila anda telah kehabisan waktu dalam permainan maka akan ada tampilan jendela sebagai berikut.

Software yang dipakai:
            Software yang kami pakai yaitu Strawberry Prolog. Strawberry prolog merupakan sebuah bahasa pemrograman prolog. Aplikasi ini dikembangkan oleh institut matematika dan informatika. Strawberry prolog mudah digunakan karena menggunakan bahasa program yang biasa digunakan.

Cara membuatnya:
            Dalam Strawberry prolog ini saya hanya mengembangkan game yang sudah ada kemudian ditambahkan beberapa opsi. Seperti suara, background, gambar dan waktu.
            Pembuatan game ini tinggal memasukkan beberapa listing program kedalamnya seperti dibawah ini:
% Program Utama
?-
  G_Take_Last=0,
  G_ikon is bitmap_image("image\\Crown.bmp",_),
  %G_Yellow is brush(rgb(255,200,0)),
  %G_Red is brush(rgb(255,0,0)),
  G_White is brush(rgb(255,255,255)),
  G_bekgrond is bitmap_image("image\\BG3.bmp",_),
  window_n( G_Main, _, win_func, "Take The Crown", 80,80,1000,400,_,_,rgb(255,255,255)).

Pertama, kita deklarasikan dulu G_Take_Last dengan 0, G_Ikon dengan gambar yang berada di folder yang telah kita buat dan memasukan gambar dengan nama gambarnya, G_White ketika dia mengambil crown akan tertutup blok putih, G_bekrond merupakan gambar yang akan menjadi background dan disimpan di folder yang sama dengan G_ikon. Window_n merupakan pembuatan jendela game ini dengan titik x1 80, x2 1000, y1 80 dan y2 400 dengan warna putih.

% Tampilan menu list
win_func(init) :-
  beep("Sound\\start.wav"),
  menu( pop_up, _, _, menu_new(_), "&New Game"),
  menu( normal, _, _, menu_help(_), "&Help"),
  menu( normal, _, _, menu_about(_), "&About Me"),
  menu( normal, _, _, menu_exit(_), "&Exit").

Disini, kami membuat tampilan menu list dengan menu New Game, Help, About Me dan Exit. Disini kami juga menambahkan suara Start, jadi ketika kita me-run game ini, akan ada suara awal. Ketika di menu New Game, maka akan ada menu lagi didalamnya, makanya dia bertuliskan pop_up, sedangkan Help, About Me dan Exit hanya berbentuk menu normal.

menu_new(init) :-
  menu( normal, _, _, menu_crwn1(_), "&Crown 1"),
  menu( normal, _, _, menu_crwn2(_), "&Crown 2"),
  menu( normal, _, _, menu_crwn3(_), "&Crown 3"),
  G_timer is set_timer(_,1,time_func).

Nah ini merupakan menu di dalam New Game, ada Crown 1, Crown 2 dan Crown 3. G_timer merupakan lama waktu yang akan digunakan nantinya.

% Waktu
time_func(end):-
(G_waktu==0) ->
kill_timer(_,G_timer),
message("Time's out","Sorry!!",i),
close_window(_)
else
G_waktu:=G_waktu-1,
font(15,30,"cinnamon cake"),
text_out(520,50,"Time: "+print(G_waktu)+"    "),
beep.

Didalam waktu, ketika G_waktu==0 maka waktu akan habis dan akan ada tulisan Time’s Out, lalu dia akan keluar dari permainan. Dan ketika permainan sedang berlangsung G_waktu:=G_waktu-1 jadi ketika waktu yang ditentukan di game akan berkurang 1 dst. Font menggunakan Cinnamont Cake dengan ukuran 15, lalu akan ada textnya keluar di jendela.

% Menu Crown
menu_crwn1(press) :-
  G_waktu:=20,
  (G_Comp_First=0->
    set(pos([1,2,3,4,3,2,1]))
  else
    Pos=[1,2,3,4,3,2,1],
    N is 2*random(3),
    el(Pos,A, N),
    A2 is A - 1,
    replace(Pos2, Pos, A2, N),
    set(pos(Pos2))),
  update_window(_).

Untuk Crown 1 kami memberikan waktu sekitar 20 detik. Tampilan menu crownnya ditentukan dalam set(pos([1,2,3,4,3,2,1])).

menu_crwn2(press) :-
  G_waktu:=10,
  (G_Comp_First=0->
    set(pos([4,3,2,1,2,3,4]))
  else
    Pos=[4,3,2,1,2,3,4],
    N is 2*random(3),
    el(Pos,A, N),
    A2 is A - 1,
    replace(Pos2, Pos, A2, N),
    set(pos(Pos2))),
  update_window(_).

Untuk Crown 2 kami memberikan waktu sekitar 10 detik. Tampilan menu crownnya ditentukan dalam set(pos([4,3,2,1,2,3,4])).

menu_crwn3(press) :-
  G_waktu:=10,
  (G_Comp_First=0->
    set(pos([3,4,3,2,3,4,3]))
  else
    Pos=[3,4,3,2,3,4,3],
    N is 2*random(3),
    el(Pos,A, N),
    A2 is A - 1,
    replace(Pos2, Pos, A2, N),
    set(pos(Pos2))),
  update_window(_).

Untuk Crown 3 kami memberikan waktu sekitar 10 detik. Tampilan menu crownnya ditentukan dalam set(pos([3,4,3,2,3,4,3])).

% Gambar Crown
 
% Mengambil Crown

% Mouse Diklik
win_func(mouse_click(X,Y)):-
  beep.

Ketika mouse di klik, akan ada suara beep.

% Program Game

% Tampilan Menang atau Kalah
end(Flag):-
  Flag=G_Take_Last->
  beep("sounds\\lose.wav"),
    message("Sorry","You lost this game.",i),
      kill_timer(_)
  else
  beep("sounds\\win.wav"),
      G_timer:=0,
    message("Congratulations","You are the winner",i).

Ketika ada tampilan menang maka akan ada tulisan “Congratulation Youre the winner”. Jika kalah maka akan ada tulisan “Sorry You lost this game”

% Tentang Saya
menu_about(press):-
    message("About Me"," Game                : Take The Crown
\n Kelas                : 3IA13
\n Modified By      : Nurul Arsyil Q (55411388) & Ragil Wiradiputra (55411757)
\n UNIVERSITAS GUNADARMA", i).

Ketika menu About Us di klik maka akan ada tampilan biodata.

% Menu Help
menu_help(press) :-
  message("Help","Click under the matches which you want to take. You can take how much you want but only from one column.", i).

Ketika menu Help di klik maka akan ada tampilan “Click under the matches which you want to take. You can take how much you want but only from one column”

% Menu Exit
menu_exit(press) :-
  close_window(_).

Ketika menu Exit di klik, maka kita akan keluar dari jendela game tersebut.


No comments:

Post a Comment