game tebak kata

10
KECERDAS AN BUATAN GAME TEBAK KATA MASITHA 3 D4 IT B 7411040059

description

coding + description

Transcript of game tebak kata

Page 1: game tebak kata

KECERDASAN BUATAN

GAME TEBAK KATA

MASITHA 3 D4 IT B7411040059

Page 2: game tebak kata

MASITHA3 D4 IT B / 7411040059KECERDASAN BUATAN

KECERDASAN BUATAN

GAME TEBAK KATA

ATURAN PERMAINAN :

pemain memasukkan huruf satu persatu dalam kotak penginputan yang disediakan untuk mengecek keberadaan huruf yang tersembunyi. Jika dalam penginputan huruf tersebut terdapat kesalahan, maka komputer akan melakukan aksi membuat bentuk gambar orang yang sedang digantung dengan satu persatu objek hingga tujuh kali kesalahan, yang kemudian permainan tersebut akan berakhir atau kalah (game over).

SOFTWARE YANG DIGUNAKAN :

Strawberry Prolog

SCREENSHOT :

No Keterangan Picture1 Tampilan pertama permainan

2 Tampilan ketika telah menginput huruf

3 Tampilan ketika salah saat menginputkan huruf

Page 3: game tebak kata

MASITHA3 D4 IT B / 7411040059KECERDASAN BUATAN

4 Tampilan ketika inputan huruf semua benar (game menang)

5 Tampilan ketika inputan huruf semua salah (game kalah)

Page 4: game tebak kata

MASITHA3 D4 IT B / 7411040059KECERDASAN BUATANSOURCE CODE DAN PENJELASAN :

Jendela layar Untuk membuat nama judul dan ukuran form program “550” untuk panjang “400” untuk lebar form.

?- window( title("Tebak Kata"), size(550,400)).

Buat fungsi init untuk menginisialisasiwin_func(init):-G_Masked := "",G_HangNo := 0, untuk mencetak tampilan kesalahan penginputan orang dari 0

Buat penjelasan prosedur untuk memilih katachoose_word,static(_,_,fail(_),"Masukkan Huruf :",10,20,150,20), untuk menempatkan posisi kata masukkan hurufedit( handle(G_E), pos(150,15), size(50,30)), untuk mengedit posisi letak tempat penginputan dan ukuran tempat penginputan hurufbutton(_,_,butt_func(_),"Check!",210,15,50,30), untuk membuat tombol Check dan penentuan letak posisi tombol tersebut.

Buat penjelasan tentang posisi jarak tampilan orang kemudian akhiri dengan perintah prosedur mask_word (tampilan orang dari kesalahan penginputan kata)static(G_S,_,fail(_),"",10,120,180,20),mask_word.

Buat fungsi paint (untuk menggambar objek orang) jika terdapat kesalahan penginputan huruf. Kemudian lakukan perulangan hingga G_HangNowin_func(paint):-for(I, 1, G_HangNo),hang_me(I),fail.

Buat fungsi untuk menutup program, dengan memberikan kotak dialog pertanyaan yes atau no.win_func(close) :-not( yes_no("","Kamu Mau Keluar?", ?)).

Buat fungsi press (untuk menekan tombol Check) yang gunanya dalam penginputan teks atau huruf pada kotak/tempat yang disediakan ketika tombol di klik maka akan berfungsi menaruh huruf yang telah di input ke dalam objek output “ _ _ _ “ (garis bawah).

Page 5: game tebak kata

MASITHA3 D4 IT B / 7411040059KECERDASAN BUATAN

Gunakan variabel check_mask dengan tipe New_Mask dan Letter (untuk menginputan dalam kotak penginputan.

Selanjutnya buat pernyataan check_masks dengan tipe New_Mask (untuk menaruh setiap teks atau huruf yang telah diinput.

Lakukan kondisi jika dalam penginputan huruf salah hingga 7x maka game menyatakan kalah/berhenti (dengan memberikan bentuk orang di gantung).

Buat fungsi jika setiap kata yang diinput sesuai dengan objek output yang disediakan tanpa salah input hingga 7x, maka game akan menang.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 ->HangedElsedisplay_masked,(G_Masked = G_Word -> win)).

Buat menu File pada menu bar dengan memanggil fungsi init. Di dalam menu File terdapat pilihan untuk Main Baru, Cara Bermain, dan menu Keluar. Buat separator atau membatasi pilihan Keluar dari pilihan Main Baru dan Cara Bermain. menu_file(init) :-menu( normal,_,_,menu_newGame(_),"Main Baru"),menu( normal, _, _, menu_about(_), "Cara Bermain...."),menu( separator, _, _, fail(_), _),menu( normal, _, _, menu_exit(_), "Keluar").

Pada pilihan Main Baru, buat fungsi press dengan menyatakan variabel menu_newGame. Buat variabel G_Word := 0, dengan memanggil fungsi choose_word, artinya untuk mengacak kata baru. Sedangkan variabel G_Masked := 0, dengan memanggil fungsi mask_word, artinya untuk menginput kata baru. Dan variabel G_HangNo := 0, artinya untuk menghapus/memulai dari 0 bentuk orang yang digantung. Kemudian tutup dengan menggunakan perintah update_window(_). untuk memperbarui data.menu_newGame(press):-G_Word := 0, choose_word,

Page 6: game tebak kata

MASITHA3 D4 IT B / 7411040059KECERDASAN BUATAN

G_Masked := 0, mask_word,G_HangNo := 0,update_window(_).

Selanjutnya pada pilihan Cara Bermain, buat fungsi press dalam variabel menu_about. Gunakan perintah message informasi (menampilkan pesan/kotak dialog) untuk menampilkan cara bermain dalam kotak dialog tersebut.menu_about(press) :-message("Cara Main", "- Masukkan satu demi satu huruf kecil, lalu kemudian check! \n" + "- Jika salah melakukan penginputan huruf, maka komputer \n" + " akan menampilkan orang dengan bagian 7x, setelah itu akan \n" + " game over \n" + "- Untuk memulai kembali buka menu File, kemudian pilih Main Baru \n" + "- Untuk keluar dari game ini buka menu File, kemudian pilih Exit \n" + " atau pilih tanda (X) pada program ini",i).

Pada pilihan Keluar, buat fungsi press dalam variabel menu_exit. Untuk keluar dari program/game gunakan perintah close(_).menu_exit(press) :-close(_).

-------------------------------------MEMBUAT BENTUK ORANG YANG SEDANG DIGANTUNG-------------------------

Dalam pernyataan check_mask(New_Mask) :- , yang artinya adalah pembaruan tampilan bentuk orang yang digantung jika keadaan penginputan huruf salah.check_masks(New_Mask) :-G_Masked = New_Mask ->HangElseG_Masked := New_Mask.

Dalam pernyataan check_mask(New_Mask, Letter) :- , buat perulangan kata untuk setiap penginputan teks atau huruf yang salah.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).

Page 7: game tebak kata

MASITHA3 D4 IT B / 7411040059KECERDASAN BUATAN

Dalam pernyataan check_sub_mask(Mask, Let, Letter, Pos) :- , untuk menambah atau melakukan aksi satu persatu setiap objek untuk membentuk tampilan orang yang sedang digantung jika dalam keadaan penginputan teks/huruf salah.check_sub_mask(Mask, Let, Letter, Pos) :-Let = Letter ->Mask := Mask + LetElsesub_string(Sub, G_Masked, Pos, 1),Mask := Mask + Sub.check_sub_mask(Mask, Let, Letter, Pos).

Buat fungsi choose_word untuk mengacak (random) hingga 37 kata dari data yang ada.choose_word :- Wrd_Num is random(37),word(Wrd_Num, Word),G_Word:=Word.

Buat fungsi mask_word untuk menampilkan output (garis bawah “ _ _ _ _ “) dalam setiap penginputan teks. Jika salah penginputan teks maka akan memanggil fungsi display_masked. mask_word :- G_Masked := "",for(I, 0, str_length(G_Word)- 1),G_Masked := G_Masked + "_",display_masked,fail. mask_word.

Buat fungsi display_masked untuk menampilkan bentuk orang yang sedang digantung. 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.

Buat fungsi hang untuk menampilkan gambar satu persatu objek bentuk orang yang sedang digantung jika dalam setiap penginputan huruf salah. hang :-G_HangNo := G_HangNo + 1,

Page 8: game tebak kata

MASITHA3 D4 IT B / 7411040059KECERDASAN BUATAN

hang_me(G_HangNo).

Buat gambar jika keadaan penginputan salah. Tiap satu persatu objek dengan menggunakan perintah pen yang diberikan pewarnaan dengan pembuatan garis (tiang, tali, dan badan) atau elipse (untuk pembuatan kepala) sehingga akan terlihat menjadi gambar/bentuk orang yang sedang digantung. 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).

Buat fungsi hanged dengan menyatakan variabel G_Masked := G_Word, display_masked, yang artinya jika kalah selain menampilkan bentuk orang, juga akan menampilkan jawaban dari kata yang tersembunyi. Dan akan menampilkan pesan atau kotak dialog yang menyatakan bahwa permainan kalah. hanged :- G_Masked := G_Word, display_masked, G_Masked := "", message("Game Over!", "Kamu Kalah. Jika Kamu Pintar, Lakukan Lagi.", !).

Jika benar maka akan menampilkan pesan atau kotak dialog yang menyatakan bahwa permainan menang. win :- message("Selamat Anda Menang!", "HORE! Kamu Menang :)))", i).

Berikut buat 10 kata dari data yang disimpan dalam program ini.word(0, "bonus").word(1, "bermain").word(2, "mandi").word(3, "singapura").word(4, "transportasi").word(5, "helm").word(6, "kalajengking").word(7, "doraemon").word(8, "emas").word(9, "merica").word(10, "gunting").