INITIAL STATE
Tom and Jerry merupakan suatu permainan Reversy atau biasa disebut Othello yang
ada pada Strawbery Prolog. Pada game Othello menggunakan warna hitam putih
sebagai pembeda untuk bidak pemain dan komputer. Sedangkan pada game Tom and
Jerry ini menjelaskan sebuah kotak-kotak
besar 10x10c yang didalamnya terdapat dua bidak yang bericon Tom dan Jerry,
saya mengganti background game dengan tema Tom and Jerry.
Gambar
1: Tampilan Game
Keterangan
gambar :
· Bidak
sebanyak 100 buah.
· Biji Jerry(default).
· Biji
Tom.
· Menu
submenu : Game, Level, Help
· Menu
Level berisikan level dalam permainan.
Gamabar 2a: Level Easy
Gambar 2b : Level Medium
Gambar 2c: Level
Hard
RULES
Rules
atau aturan main yang digunakan pada permainan Tom
and Jerry. Cara bermainnya pun tidak jauh berbeda dengan Othello pada
umumnya. Dan berikut adalah aturan permainan tersebut:
1. Pada
awal permainan diletakkan empat buah bidak berbentuk kotak, yaitu dua bidak
bergambar Jerry sebagai user dan dua bidak bergambar Tom sebagai AI di tengah-tengah papan.
2. Letakkan
disisi bidak dengan cara mengapit bidak lawan yang ada di papan dimana pada
ujung dan pangkalnya harus ada bidak kepunyaan sipemain sebagai syarat untuk
membaliknya agar menjadi kepunyaan sipemain. Dilakukan secara horizontal, vertical
maupun diagonal.
3. Bidak
yang terjepit akan menjadi milik pemain yang menjepitnya.
4. Jika
pada semua kotak sudah terisi bidak kepunyaan pemain dan lawan diantara mereka
mempunyai bidak yang sama banyak maka permainan dinyatakan seri.
5. Kondisi
pemain menang apabila bidak bergambar Jerry lebih banyak dari bidak bergambar Tom kepunyaan komputer dan sampai timer habis.
6. Kondisi
pemain kalah apabila bidak Jerry lebih sedikit dibandingkan bidak Tom (AI) dan
timer habis.
7. Kondisi
dikatakan seri apabila bidak Jerry dan bidak TOM memiliki jumlah yang sama.
8. Pemenang
adalah pemain yang memiliki bidak terbanyak pada papan permainan dan permainan
berakhir.
GOALS
Goal atau tujuan untuk menyelesaikan permainan TOM AND JERRY adalah dengan memenuhi daerah kotak
papan permainan dengan bidak pemain lebih banyak dibandingkan bidak komputer.
Jika seorang pemain tidak dapat meletakan bidak karena seluruh kotak telah
terisi atau tidak ada posisi yang diperbolehkan untuk meletakkan bidak dan
timer habis sesuai level yang dipilih, maka permainan berakhir. Pemenangnya
adalah pemain yang memiliki bidak paling banyak di atas papan. Kondisi seri
dapat terjadi jika skor kedua bidak pemain berjumlah sama.
Pada
game ini juga mempunyai goal atau tujuan untuk dapat memenangkan permainan
dengan mengumpulkan bidak paling banyak dalam tabel yang tersedia. Pemain
dengan bidak Nobitanya banyak maka akan memenangkan permainan.
Pemain
pada game ini kalah apabila memiliki jumlah bidak lebih sedikit dari pada bidak
si lawan.
Kecerdasan buatan dapat diterapkan
atau diimplementasikan kedalam berbagai bentuk aplikasi, yang paling mudah dan
digemari oleh banyak orang misalnya pada sebuah permainan atau games. AI
(Artificial Intelligence) adalah salah satu bagian
ilmu komputer yang membuat agar mesin/komputer dapat melakukan pekerjaan
seperti layaknya dan sebaik yang dilakukan oleh manusia. Permainan ini berbasis
Artificial Intelligience (kecerdasan
buatan). Dan pada game ini manusia dibutuhkan kecerdasan, ketelitian untuk menguji
pemikiran manusia untuk dapat dikatakan cerdas.
·
Konsep AI pada Game
Jenis algoritma yang diterapkan
dalam permainan TOM and JERRY adalah Algoritma Minimax. Algoritma Minimax
merupakan algoritma yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma ini diterapkan dalam permainan yang
melibatkan dua pemain dan permainan yang menggunakan strategi atau logika.
Algoritma
Minimax pada TOM and JERRY diterapkan oleh AI untuk dapat menentukan langkah
apa yang sebaiknya diambil, agar langkah yang diambil tersebut bertujuan untuk
membuat AI memenangkan permainan ini atau minimal membuat skor pemain menjadi
sama.
· Listing
Program
%This game is developed by Elviana
Rumondang P.
%3IA12 - Gunadarma University
?-
N3=0,
pen(2,rgb(0,0,0)),
retractall(my(_,_)),
retractall(your(_,_)),
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]],0)),
fisrt(_).
% layar start game
fisrt(_):-
window(_,_,win_func(_),"Hello Tom and Jerry",300,50,720,650),
Background is bitmap_image("gambar//background.bmp",_),
draw_bitmap(0,0,Background,_,_).
%===Window Utama===
window(_,_,win_func(_),"Hello Tom and Jerry",300,50,720,650).
win_func(paint):-
draw_bitmap(0,0,bitmap_image("gambar//background2.bmp",_),_,_),
draw_bitmap(0,0,bitmap_image("gambar//header.bmp",_),_,_),
fail.
%===Gambar Background===
win_func(paint):-
brush("gambar//background2.bmp"),
rect(50,50,550,550),
for(I,0,11),
X
is I * 50 + 50,
line(X,50,X,550),
line(50,X,550,X),
fail.
%===Lawan (tom)===
win_func(paint):-
brush("gambar//tom.bmp"),
sit(H),
for(J,0,10),
for(I,0,10),
take(H,Line,J),
take(Line,b,I),
X
is I*50 + 55,
Y
is J*50 + 55,
X1
is X + 40,
Y1
is Y + 40,
rect(X,Y,X1,Y1),
fail.
%===Pemain (jerry)===
win_func(paint):-
brush("gambar//jerry.bmp"),
sit(H),
for(J,0,10),
for(I,0,10),
take(H,Line,J),
take(Line,w,I),
X
is I*50 + 55,
Y
is J*50 + 55,
X1
is X + 40,
Y1
is Y + 40,
rect(X,Y,X1,Y1),
fail.
%===Tampilan Menu Utama===
win_func(init)
:-
menu(pop_up, _, _,menu_game(_),
"&Game"),
menu(pop_up, _, _, menu_level(_),
"&Level"),
menu(pop_up, _, _, menu_help(_),
"&Help"),
menu(right, _, _,menu_about(_),"&About"),
window_brush(_, rgb(255,255,255)).
menu_game(init):-
menu(normal, _, _, menu_baru(_),
"&New Game"),
menu(normal, _, _, menu_keluar(_),
"&Exit").
menu_help(init):-
G_Waktu is set_timer(_,1,time_func),
menu(normal, _, _, menu_htp(_),
"&How To Play").
%===Perintah menu Mulai Baru===
menu_baru(press)
:-
G_N:=80,
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]])),
pen(2,rgb(200,200,200)),
update_window(_).
%===Perintah menu Keluar===
menu_keluar(press):-
close_window(_).
win_func(close):-
not(yes_no("Quit","Exit?",?)).
menu_level(init):-
menu(normal, _, _, mudah(_),
"&Easy"),
menu(normal, _, _, sedang(_),
"&Medium"),
menu(normal, _, _, sulit(_),"
&Hard").
mudah(press):-
G_N:=120,
pen(2,rgb(200,200,200)),
Acak
is random(4),
(Acak=0->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=1->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=2->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=3->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
)))),
win_func(paint).
sedang(press):-
G_N:=80,
pen(2,rgb(200,200,200)),
Acak is random(4),
(Acak=0->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=1->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=2->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=3->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
)))),
win_func(paint).
sulit(press):-
G_N:=40,
pen(2,rgb(200,200,200)),
Acak is random(4),
(Acak=0->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=1->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=2->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
else
(Acak=3->
set(sit([[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,b,w,n,n,n,n],[n,n,n,n,w,b,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n]]))
)))),
win_func(paint).
%===Perintah menu How to Play===
menu_htp(press)
:-
message("Rules", "Cara Bermain:
1. Jepitlah bidak othello tom secara
horizontal, vertikal maupun diagonal.
2. Bidak othello yang terjepit akan
menjadi milik user yang menjepitnya.
3. Jika AI tidak dapat meletakkan
bidak, maka gilirannya akan digantikan oleh user.
4. Jika user tidak dapat meletakkan
bidak, maka permainan berakhir dan harus memulai game baru.
5. Pemain dengan jumlah bidak
othello terbanyak maka ia akan menjadi pemenangnya.", i).
%===Perintah menu About===
menu_about(press)
:-
message("About Me","
Elviana Rumondang Pakpahan
from
3IA12
GUNADARMA UNIVERSITY.", i).
%===Kondisi menang atau kalah===
win_func(paint):-
brush(rgb(180,30,110)),
sit(H),
N1
is count_successes(victory(w,H)),
N2
is count_successes(victory(b,H)),
text_out(110,30, "You :
"+print(N1)+" "),
text_out(490,30, " Computer
: "+print(N2)+" "),
(N1>N2, N1+N2<36
->
text_out(50,560, " Info: You have won. "),
beep("suara//win.wav")
else(N1>N2, N1+N2=:=36 ->
ask1
else (N1=\=2, N2=\=2,
N1=N2, N1+N2<36
->
text_out(50,560, " Info: The Game's draw. "),
beep("suara//seri.wav")
else (N1=N2, N1+N2=:=36 ->
ask3
else (N1<N2, N1+N2<36->
text_out(50,560, " Info: You have lost. "),
beep("suara//kalah.wav")
else (N1<N2, N1+N2=:=36 ->
ask2
)))))),
fail.
%===Timer===
time_func(end):-
(G_N==0) ->
kill_timer(_,G_Waktu),
message("Message","Time's up, you're not to fast!!",i), close_window(_)
else
G_N<>=G_N-1,
text_out(560,300,"Time: "+print(G_N)+" "),
beep.
win_func(paint).
ask1:-
message("Tom said ","Okay, you win.",!).
ask2:-
message("Tom said ","You're loser.",!).
ask3:-
message("Tom said","It's draw.",!).
%===Penentuan Daerah yang bisa di
klik===
win_func(mouse_click(X,Y)):-
X1
is (X - 40) // 50,
Y1
is (Y - 40) // 50,
X1
>= 0,
X1
=< 9,
Y1
>= 0,
Y1
=< 9,
sit(Sit1),
insert(X1,Y1,w),
sit(Sit2),
not(Sit1=Sit2),
win_func(paint),
wait(1),
take3(Sit2,n,X2,Y2),
insert(X2,Y2,b),
sit(Sit3),
not(Sit2=Sit3),
win_func(paint).
win_func(mouse_click(X,Y)):-
beep.
insert(X,Y,Who):-%trace,
sit(Sit),
take2(Sit,n,X,Y),
opposit(Who,NewWho),
for(WayX,-1,1),
for(WayY,-1,1),
sit(Sit2),
neighbour(NewWho,X,Y,Sit2,WayX,WayY),
jump(NewWho,X,Y,Sit2,WayX,WayY,NewX,NewY),
replace3(Result,Sit2,Who,X,Y,NewX,NewY,WayX,WayY),
set(sit(Result)),
fail.
insert(X,Y,Who).
neighbour(Who,X,Y,Sit,WayX,WayY):-
X1
is X+
WayX,
Y1
is Y+
WayY,
take2(Sit,Who,X1,Y1).
jump(Who,X,Y,Sit,WayX,WayY,X2,Y2):-
X1
is X+
WayX,
Y1
is Y+
WayY,
opposit(Who,NewWho),
neighbour(NewWho,X1,Y1,Sit,WayX,WayY),
X2
is X1+
WayX,
Y2
is Y1+
WayY.
jump(Who,X,Y,Sit,WayX,WayY,NewX,NewY):-
X1
is X+
WayX,
Y1
is Y+
WayY,
neighbour(Who,X1,Y1,Sit,WayX,WayY),
jump(Who,X1,Y1,Sit,WayX,WayY,NewX,NewY).
take3(Sit,El,0,0):-
take2(Sit,El,0,0).
take3(Sit,El,0,9):-
take2(Sit,El,0,9).
take3(Sit,El,9,0):-
take2(Sit,El,9,0).
take3(Sit,El,9,9):-
take2(Sit,El,9,9).
take3(Sit,El,X,Y):-
take2(Sit,El,X,Y).
take2(Sit,El,X,Y):-
take(Sit,Row,Y),
take(Row,El,X).
replace2(Result,Sit,El,X,Y):-
take(Sit,Line,Y),
replace(NewLine,Line,El,X),
replace(Result,Sit,NewLine,Y).
replace3(Result,Result,Who,X,Y,X,Y,WayX,WayY).
replace3(Result,Sit,Who,X,Y,ToX,ToY,WayX,WayY):-
replace2(ResultP,Sit,Who,X,Y),
X1
is X +
WayX,
Y1
is Y +
WayY,
replace3(Result,ResultP,Who,X1,Y1,ToX,ToY,WayX,WayY).
replace([New,B,C,D,E,F,G,H,I,J],[_,B,C,D,E,F,G,H,I,J],New,0).
replace([A,New,C,D,E,F,G,H,I,J],[A,_,C,D,E,F,G,H,I,J],New,1).
replace([A,B,New,D,E,F,G,H,I,J],[A,B,_,D,E,F,G,H,I,J],New,2).
replace([A,B,C,New,E,F,G,H,I,J],[A,B,C,_,E,F,G,H,I,J],New,3).
replace([A,B,C,D,New,F,G,H,I,J],[A,B,C,D,_,F,G,H,I,J],New,4).
replace([A,B,C,D,E,New,G,H,I,J],[A,B,C,D,E,_,G,H,I,J],New,5).
replace([A,B,C,D,E,F,New,H,I,J],[A,B,C,D,E,F,_,H,I,J],New,6).
replace([A,B,C,D,E,F,G,New,I,J],[A,B,C,D,E,F,G,_,I,J],New,7).
replace([A,B,C,D,E,F,G,H,New,J],[A,B,C,D,E,F,G,H,_,J],New,8).
replace([A,B,C,D,E,F,G,H,I,New],[A,B,C,D,E,F,G,H,I,_],New,9).
take([El,_,_,_,_,_,_,_,_,_],El,0).
take([_,El,_,_,_,_,_,_,_,_],El,1).
take([_,_,El,_,_,_,_,_,_,_],El,2).
take([_,_,_,El,_,_,_,_,_,_],El,3).
take([_,_,_,_,El,_,_,_,_,_],El,4).
take([_,_,_,_,_,El,_,_,_,_],El,5).
take([_,_,_,_,_,_,El,_,_,_],El,6).
take([_,_,_,_,_,_,_,El,_,_],El,7).
take([_,_,_,_,_,_,_,_,El,_],El,8).
take([_,_,_,_,_,_,_,_,_,El],El,9).
victory(Who,[[Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who]]).
opposit(b,w).
opposit(w,b).
GLOSARIUM
· Strawberry Prolog
Strawberry Prolog
adalah bahasa pemrograman Prolog. Sintaksnya sangat dekat dengan
ISO-Prolog tapi itu
memiliki banyak ekstensi yang bukan bagian dari standar. Gagasan
utama dari Strawberry
Prolog adalah sangat mudah digunakan dan itulah mengapa
beberapa universitas
menggunakannya untuk prolog kursus mereka.
·
Algoritma
Algoritma adalah
kumpulan perintah-perintah untuk menyelesaikan suatu masalah.
Algoritma akan dapat
selalu berakhir untuk semua kondisi awal yang memenuhi kriteria.
Algoritma sering
mempunyai langkah pengulangan atau memerlukan keputusan sampai
tugasnya selesai.
· Algoritma minimax
Merupakan basis dari semua permainan berbasis AI seperti permainan catur
misalnya.
AI permainan catur tentunya sudah sangat terkenal dimana AI tersebut
bahkan dapat
mengalahkan juara dunia sekalipun. Pada algoritma minimax, pengecekan
akan seluruh
kemungkinan yang ada sampai akhir permainan
dilakukan.
·
Artificial Intelligence
Kecerdasan
buatan dapat diterapkan atau diimplementasikan kedalam berbagai bentuk
aplikasi,
yang paling mudah dan digemari oleh banyak orang misalnya pada sebuah
permainan
atau games. AI (Artificial
Intelligence) adalah salah satu bagian ilmu
komputer
yang membuat agar mesin/komputer dapat melakukan pekerjaan seperti
layaknya
dan sebaik yang dilakukan oleh manusia.
· Initial States
Initial States
merupakan sebuah kondisi awal pada sebuah object sebelum ada
perubahan keadaan.
· Othello atau Reversy
Permainan yang terdapat
pada Strawberry Prolog. Reversy adalah permainan dengan
memperebutkan daerah
papan dengan cara membalik bidak lawan menjadi bidak
sendiri.
Berikut Link Tugas :
Dan Berikut Postingan dari Tugas Softskill:
1. Artikel Game Racing
2. Script Game Hello Tom&Jerry
3. Listing Game Hello Tom&Jerry
Tidak ada komentar:
Posting Komentar