Sabtu, 27 Desember 2014

FUT 15 Android

Kabar baik pada para penggemat Bola dimana saja. Pada tahun ini EA Sports mengeluarkan game sepakbola barunya, yaitu FIFA Ultimate Team 15 dimana pemain-pemainnya telah diperbaharui dari versi game sebelumnya.
Pada FUT 15 ini kita bisa membuat sebuah tim sendiri seperti yang kita inginkan, kita bahkan bisa memakai Logo dan Jersey dari team - team yang berbeda. Bahkan nama teamnya pun dibuat oleh kita sendiri. Berikut adalah sedikit tampilannya :




Dan bagi kalian yang ingin memainkan gamenya bisa langsung download di Play Store Google
FUT 15

PROJECT PROLOG TIC TAC TOE 16 X 16

Pada praktikum sebelumnya saya mendapatkan tugas untuk mengembangkan suatu game dari bahasa pemrograman bernama "Strawberry Prolog".
Apakah "Strawberry Prolog" itu ?
Prolog adalah bahasa pemrograman logika atau disebut juga sebagai bahasa non-procedural. Nama Prolog merupakan singkatan dari “Programming in Logic“.

Game yang saya kembangkan adalah game Tic - Tac - Toe 4x4 menjadi berukuran 16x16. Dikarenakan masalah koneksi saya tidak bisa menampilkan screenshotnya dan oleh karena itu maka saya akan langsung ke source codenya, berikut adalah source codenya :

win_deep(0).
nolose_deep(0).

?-

window(G_loading,_,window_awal(_),"Tick-Tack-Toe 16 x 16", 250, 200,800,400).

window_awal(init):-
    G_batas := 0,
    G_G := 1,
    G_L := "L" + G_G,
    G_X := 205,
    G_Loading1 is set_timer(_,0.1,loading_bar),
    animate(_,_,fail(_),"video/Dillo.avi", 680, 280),
    execute("audio//loading.exe").

loading_bar(end):-
    draw_bitmap(0,0,bitmap_image("pictures\\"+ G_L +".bmp",_),_,_),
    G_G := G_G + 1,
    G_L := "L" + G_G,
    text_out(375,200,print("LOADING")),
    text_out(390,220,print(G_batas + "%")),
    pen(5,rgb(0,0,255)),
    brush(rgb(255,255,255)),
    rect(200,250,609,300),
    pen(0,rgb(0,0,0)),
    brush(rgb(0,0,0)),
    rect(205,255,G_X,297),
    G_batas := G_batas + 1,
    G_X := G_X + 4,
    (G_batas >= 101 ->
    close_window(G_loading),
    window(G_menu, _, daftar_menu(_),"Tick-Tack-Toe 16 x 16", 250, 200, 800, 400)),
    (G_G >= 40 -> G_G :=1).

window_awal(close):-
    execute("audio\\LoadingClose.bat"),
    close_window(G_loading).
 
daftar_menu(init):-
    menu(pop_up, _,_,menu_bar(_),"Pilihan"),
    menu(normal, _,_,about(_),"About"),
    button(_,_,mulai(_),"Mulai",10,10,50,50),
    button(_,_,cara_main(_),"Cara Main",100,10,80,50),
    button(_,_,keluar(_),"Keluar",220,10,50,50),
    execute("audio//backsound.exe").  

daftar_menu(paint):-
    draw_bitmap(0,0,bitmap_image("Pictures//background.bmp",_),_,_),
    fail.

menu_bar(init):-
    menu(normal,_,_,mulai(_),"Mulai"),
    menu(normal,_,_,keluar(_),"Keluar").
about(press):-
    message("About", "Tick Tack Toe 16 x 16\nDikembangkan oleh :\nPerdi Atmaja"
,n).



menu_back(press):-
    close_window(G_main),
    window(G_menu, _, daftar_menu(_),"Tick-Tack-Toe 16 x 16", 250, 200, 800, 400).

cara_main(press):-
    message("Cara Main","Susunlah ke 16 pin yang ada secara Horizontal, Vertical, dan Diagonal",n).


mulai(press):-
    close_window(G_menu),
    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], [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(_), "Tick-Tack-Toe 16 x 16", 250, 0, 800, 720).

keluar(press):-
    yes_no("Keluar", "Yakin ingin keluar ?",?),
    close_window(G_menu).

win_func(init):-
    menu(normal,_,_,menu_back(_),"Menu").

put_mark(Mark) :-
   pos(Current_Pos),
   member(Current_Pos, L, Y),
   member(L, Mark, X),
   X1 is 40 + 35*X, Y1 is 40 + 35*Y, X2 is X1 + 30, Y2 is Y1 +30,
   write_mark(Mark, X1, Y1, X2, Y2),
   fail.
put_mark(_).

write_mark(x, X1, Y1, X2, Y2) :-
  rect(X1, Y1, X2, Y2),
  draw_bitmap(X1,Y1,bitmap_image("Pictures\\pemain.bmp",_),_,_).
write_mark(o, X1, Y1, X2, Y2) :-
  rect(X1, Y1, X2, Y2),
  draw_bitmap(X1,Y1,bitmap_image("Pictures\\komputer.bmp",_),_,_).

win_func(paint) :-
   draw_bitmap(0,0,bitmap_image("Pictures\\background1.bmp",_),_,_),
   fail.

win_func(paint) :-
   pen(1, rgb(255, 255, 255)),
   line(35,35,600,35),
   line(35,35,35,600),
   line(600,35,600,600),
   line(35,600,600,600),
   line(73,35,73,600),
   line(107,35,107,600),
   line(143,35,143,600),
   line(177,35,177,600),
   line(212,35,212,600),
   line(247,35,247,600),
   line(282,35,282,600),
   line(318,35,318,600),
   line(353,35,353,600),
   line(387,35,387,600),
   line(422,35,422,600),
   line(457,35,457,600),
   line(492,35,492,600),
   line(527,35,527,600),
   line(562,35,562,600),
   line(35,73,600,73),
   line(35,107,600,107),
   line(35,143,600,143),
   line(35,177,600,177),
   line(35,212,600,212),
   line(35,247,600,247),
   line(35,282,600,282),
   line(35,318,600,318),
   line(35,353,600,353),
   line(35,387,600,387),
   line(35,422,600,422),
   line(35,457,600,457),
   line(35,492,600,492),
   line(35,527,600,527),
   line(35,562,600,562),

   put_mark(x),
   put_mark(o),
   fail.


win_func(mouse_click(X, Y)) :-
  lose_flag(false),
  X>30, Y>30,
  X<600, Y<600,
  X1 is (X - 30)//35,
  Y1 is (Y - 30)//35,
  pos(Current_Pos),
  member(Current_Pos, L, Y1),
  member(L, f, X1),
  !,
  replace(L2, L, x, X1),
  replace(Current_Pos2, Current_Pos, L2, Y1),
  set(pos(Current_Pos2)),
  not(win_func(paint)),
  beep("audio//Heavy Machine Gun.wav"),
  think(Current_Pos2).

win_func(mouse_click(X, Y)) :-
  beep.

think(Pos) :-
  victory(x, Pos), !,
  set(lose_flag(true)),
  message("Unbelievable","You are the winner.",!),
  window(G_menu, _, daftar_menu(_),"Tick-Tack-Toe 16 x 16", 250, 200, 800, 400),
  update_window(_).

think(Pos) :-
  try_to_win(Pos), !.

think(Pos) :-
  retractall(last_good_move(_)), try_nolose(Pos).

think(_) :-
  last_good_move(Sit2), !,
  set(pos(Sit2)),
  not(win_func(paint)),
  beep("Audio\\ok.wav").

think(Pos) :-
  message("Congratulations", "You have some chance in this game.", n),
  move(o, Pos, Sit2),
  nolose(x, Sit2, 0), !, % Tries to make the lose farther
  set(pos(Sit2)),
  not(win_func(paint)),
  beep("Audio\\ok.wav").

think(Pos) :-
  move(o, Pos, Sit2),
  set(pos(Sit2)),
  not(win_func(paint)),
  beep("Audio\\ok.wav").

try_nolose(Pos) :-
  move(o, Pos, Sit2),
  nolose_deep(Deep),
  nolose(x, Sit2, Deep),
  set(last_good_move(Sit2)),
  random(3)=:=0, !, fail. % this makes the game more interesting

try_to_win(Pos) :-
  move(o, Pos, Sit2),
  is_it_win(Sit2).

is_it_win(Sit2) :-
  victory(o, Sit2),
  set(pos(Sit2)),
  not(win_func(paint)),
  beep("Audio\\ok.wav"),
  set(lose_flag(true)),
  message("Sorry","You cannot win against the AI.",s),
  close_window(G_main),
  window(G_menu, _, daftar_menu(_),"Tick-Tack-Toe 16 x 16", 250, 200, 800, 400),
  update_window(_).

is_it_win(Sit2) :-
  win_deep(Deep),
  win(x, Sit2, Deep),
  set(pos(Sit2)),
  not(win_func(paint)),
  beep("Audio\\ok.wav"),
  message("Advice","Give up. Don't lose my time.",i).

member([Element, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], Element, 0).
member([_, Element, _, _, _, _, _, _, _, _, _, _, _, _, _, _], Element, 1).
member([_, _, Element, _, _, _, _, _, _, _, _, _, _, _, _, _], Element, 2).
member([_, _, _, Element, _, _, _, _, _, _, _, _, _, _, _, _], Element, 3).
member([_, _, _, _, Element, _, _, _, _, _, _, _, _, _, _, _], Element, 4).
member([_, _, _, _, _, Element, _, _, _, _, _, _, _, _, _, _], Element, 5).
member([_, _, _, _, _, _, Element, _, _, _, _, _, _, _, _, _], Element, 6).
member([_, _, _, _, _, _, _, Element, _, _, _, _, _, _, _, _], Element, 7).
member([_, _, _, _, _, _, _, _, Element, _, _, _, _, _, _, _], Element, 8).
member([_, _, _, _, _, _, _, _, _, Element, _, _, _, _, _, _], Element, 9).
member([_, _, _, _, _, _, _, _, _, _, Element, _, _, _, _, _], Element, 10).
member([_, _, _, _, _, _, _, _, _, _, _, Element, _, _, _, _], Element, 11).
member([_, _, _, _, _, _, _, _, _, _, _, _, Element, _, _, _], Element, 12).
member([_, _, _, _, _, _, _, _, _, _, _, _, _, Element, _, _], Element, 13).
member([_, _, _, _, _, _, _, _, _, _, _, _, _, _, Element, _], Element, 14).
member([_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Element], Element, 15).

replace([Element, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O], [_, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O], Element, 0).
replace([A, Element, B, C, D, E, F, G, H, I, J, K, L, M, N, O], [A, _, B, C, D, E, F, G, H, I, J, K, L, M, N, O], Element, 1).
replace([A, B, Element, C, D, E, F, G, H, I, J, K, L, M, N, O], [A, B, _, C, D, E, F, G, H, I, J, K, L, M, N, O], Element, 2).
replace([A, B, C, Element, D, E, F, G, H, I, J, K, L, M, N, O], [A, B, C, _, D, E, F, G, H, I, J, K, L, M, N, O], Element, 3).
replace([A, B, C, D, Element, E, F, G, H, I, J, K, L, M, N, O], [A, B, C, D, _, E, F, G, H, I, J, K, L, M, N, O], Element, 4).
replace([A, B, C, D, E, Element, F, G, H, I, J, K, L, M, N, O], [A, B, C, D, E, _, F, G, H, I, J, K, L, M, N, O], Element, 5).
replace([A, B, C, D, E, F, Element, G, H, I, J, K, L, M, N, O], [A, B, C, D, E, F, _, G, H, I, J, K, L, M, N, O], Element, 6).
replace([A, B, C, D, E, F, G, Element, H, I, J, K, L, M, N, O], [A, B, C, D, E, F, G, _, H, I, J, K, L, M, N, O], Element, 7).
replace([A, B, C, D, E, F, G, H, Element, I, J, K, L, M, N, O], [A, B, C, D, E, F, G, H, _, I, J, K, L, M, N, O], Element, 8).
replace([A, B, C, D, E, F, G, H, I, Element, J, K, L, M, N, O], [A, B, C, D, E, F, G, H, I, _, J, K, L, M, N, O], Element, 9).
replace([A, B, C, D, E, F, G, H, I, J, Element, K, L, M, N, O], [A, B, C, D, E, F, G, H, I, J, _, K, L, M, N, O], Element, 10).
replace([A, B, C, D, E, F, G, H, I, J, K, Element, L, M, N, O], [A, B, C, D, E, F, G, H, I, J, K, _, L, M, N, O], Element, 11).
replace([A, B, C, D, E, F, G, H, I, J, K, L, Element, M, N, O], [A, B, C, D, E, F, G, H, I, J, K, L, _, M, N, O], Element, 12).
replace([A, B, C, D, E, F, G, H, I, J, K, L, M, Element, N, O], [A, B, C, D, E, F, G, H, I, J, K, L, M, _, N, O], Element, 13).
replace([A, B, C, D, E, F, G, H, I, J, K, L, M, N, Element, O], [A, B, C, D, E, F, G, H, I, J, K, L, M, N, _, O], Element, 14).
replace([A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, Element], [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, _], Element, 15).

victory(Who, [[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who,Who]]).
victory(Who, [[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who]]).
victory(Who, [[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who]]).
victory(Who, [[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who],[_,_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_],[_,_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_],[_,_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_],[_,_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_],[_,_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_],[_,_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_],[_,_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_],[_,_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_],[_,_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_],[_,_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_],[_,_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_],[_,_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_],[_,_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_],[_,Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_],[Who,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]]).

win( o, Sit, Deep) :- move(o, Sit, Sit2), win(x, Sit2, Deep).
win( x, Sit, _) :- victory(o, Sit).
win( x, Sit, 0) :- !, fail.
win( x, Sit, Deep) :- Deep1 is Deep - 1, not(nowin( x, Sit, Deep1)).

nowin(x, Sit, _) :- not(move(Sit)). % the last move belongs to O
nowin(x, Sit, Deep) :- move(x, Sit, Sit2), nowin(o, Sit2, Deep).
nowin( o, Sit, _) :- victory(x, Sit).
nowin(o, Sit, Deep) :- not(win(o, Sit, Deep)).

lose( x, Sit, Deep) :- move(x, Sit, Sit2), lose(o, Sit2, Deep).
lose( o, Sit, _) :- victory(x, Sit).
lose( o, Sit, 0) :- !, fail.
lose( o, Sit, Deep) :- Deep1 is Deep - 1, not(nolose( o, Sit, Deep1)).

nolose(o, Sit, Deep) :- move(o, Sit, Sit2), nolose(x, Sit2, Deep).
nolose( x, Sit, _) :- victory(o, Sit).
nolose(x, Sit, _) :- not(move(Sit)). % the last move belongs to O
nolose(x, Sit, Deep) :- not(lose(x, Sit, Deep)).

move(P, Sit, Sit2) :-
  member(Sit, L, Y),
  member(L, f, X),
  replace(L2, L, P, X),
  replace(Sit2, Sit, L2, Y).

move(Sit) :-
  member(Sit, L, _),
  member(L, f, _).

daftar_menu(close):-
    execute("audio\\Close.bat"),
    close_window(G_menu).