Sabtu, 05 Januari 2013

Contoh Aplikasi Game Tebak Kata Dengan Strawberry Prolog

Tebak Kata  adalah sebuah aplikasi game dengan cara bermainnya menebak huruf hingga menjadi sebuah kata. Pembuatan aplikasi game ini menggunakan pemrograman Strawberry Prolog. Dalam aplikasi ini, pengguna akan menebak sebuah kata yang berhubungan dengan nama-nama komponen komputer. Nama komponen komputer yang tercantum dalam aplikasi ini hanyalah 10 nama komponen dan untuk menyelesaikan permainan ini pengguna juga hanya diberikan nyawa sebanyak 7 kali. Jika melebihi dari 7 kali kesempatan salah menebak huruf, maka pengguna dinyatakan kalah.

Contoh Aplikasi Game Tebak Kata

RULES :
Aturan main (Rules) yang digunakan pada games Tebak Kata Strawberry Prolog  ini adalah sebagai berikut :
1. Dimulai dengan pengguna untuk memasukan huruf pada kotak input yang telah disediakan, pengguna harus menebak kata sesuai jumlah output penginputan pada layar.
2. Pengguna diberi nyawa untuk memasukan huruf sebanyak 7 kali salah untuk mencapai Goal (Tujuan).

GOAL :
Goal atau tujuan yaitu untuk menyelesaikan games Tebak kata ini adalah pengguna harus menebak sebuah kata yang berhubungan dengan nama-nama komponen komputer. Nama komponen komputer yang tercantum dalam aplikasi ini hanyalah 10 nama komponen dan untuk menyelesaikan permainan ini pengguna juga hanya diberikan nyawa sebanyak 7 kali.

Articial Intellegence/Kecerdasan Buatan :
Kecerdasan buatan atau yang sering disebut dengan Articial Intellegence pada game ini terletak pada komputer yang akan bertindak sebagai penghitung kesalahan dimana ketika si pengguna salah memasukan huruf maka komputer akan memberikan output gambar seperti gambar datas.

LISTING PROGRAM
Tebak Kata Strawberry Prolog :
% Program Ini dibuat oleh Kel 4
% Arip, ZamZam, Rizal, Fahmi, Budiman
% Game Kecerdasan Buatan

?- window(_,_,win_func(_),"Tebak Kata",100,100,700,400).

win_func(init):-
G_Masked := "",
G_HangNo := 0,
choose_word,
static(_,_,fail(_),"Masukan huruf:",10,20,100,20),
edit(G_E,_,fail(_),"",110,15,30,30),
button(_,_,butt_func(_),"Coba!",150,15,50,30),
% static(_,_,fail(_),"The word is:",10,100,100,20),
static(G_S,_,fail(_),"",10,120,180,20),
mask_word.
win_func(paint):-
for(I, 1, G_HangNo),
hang_me(I),
fail.

butt_func(press) :-
Letter is get_text(G_E),
New_Mask := "",
check_mask(New_Mask, Letter),
check_masks(New_Mask),
set_text("", G_E),
(G_HangNo=7 ->
hanged
else
display_masked,
(G_Masked = G_Word -> win)
).

check_masks(New_Mask) :-
G_Masked = New_Mask ->
hang
else
G_Masked := New_Mask.

check_mask(New_Mask, Letter):-
for(I, 0, str_length(G_Word)- 1),
sub_string(Let, G_Word, I, 1),
check_sub_mask(New_Mask, Let, Letter, I),
fail.
check_mask(New_Mask, Letter).

check_sub_mask(Mask, Let, Letter, Pos) :-
Let = Letter ->
Mask := Mask + Let
else
sub_string(Sub, G_Masked, Pos, 1),
Mask := Mask + Sub.
check_sub_mask(Mask, Let, Letter, Pos).

choose_word :-
Wrd_Num is random(10),
word(Wrd_Num, Word),
G_Word:=Word.

mask_word :-
G_Masked := "",
for(I, 0, str_length(G_Word)- 1),
G_Masked := G_Masked + "_",
display_masked,
fail.
mask_word.

display_masked :-
Display_Mask := "",
for(I, 0, str_length(G_Masked)- 1),
sub_string(Sub, G_Masked, I, 1),
Display_Mask := Display_Mask + Sub + " ",
set_text(Display_Mask, G_S),
fail.
display_masked.

hang :-
G_HangNo := G_HangNo + 1,
hang_me(G_HangNo).

hang_me(1) :- pen(10, rgb(150, 130, 105)), line(200,250,200,80).
hang_me(2) :- pen(10, rgb(150, 130, 105)), line(200,80,300,80).
hang_me(3) :- pen(2, rgb(150, 130, 105)), line(300,80,300,110).
hang_me(4) :- pen(1, rgb(100, 100, 100)), ellipse(285, 110, 315, 140).
hang_me(5) :- pen(1, rgb(100, 100, 100)), line(300,140,300,190).
hang_me(6) :- pen(1, rgb(100, 100, 100)), line(300,190,280,220), line(300,190,320,220).
hang_me(7) :- pen(1, rgb(100, 100, 100)), line(300,140,280,170), line(300,140,320,170).

hanged :-
G_Masked := G_Word, display_masked,
G_Masked := "",
message("Game Berakhir!", "Kamu Kalah!", !).

win :- message("Selamat!", "Anda Menang!", i).

word(0, "PRINTER").
word(1, "MONITOR").
word(2, "PROSESOR").
word(3, "USB").
word(4, "KEYBOARD").
word(5, "VGA").
word(6, "RAM").
word(7, "SPEAKER").
word(8, "SCANNER").
word(9, "HARDDISK").
word(10, "MOUSE").
Tampilan Program :

Gambar diatas merupakan hasil output dari listing program diatas, namun karena keterbatas sumber informasi dan pengetahuan saya tentang aplikasi bahasa prolog ini, hasil dari game ini tidak terlalu banyak modifikasi dari mulai tombol menu seperti "bantuan, mulai, exit dan lain lain. Mungkin bagi anda yang berminat untuk memodifikasi hasil game saya ini silahkan.
Agen Bola online Agen Bola online

Tidak ada komentar:

Posting Komentar

 

Tutorial Vicahya' - Just Sharing © 2012 | Template by Bamz Display Pagerank