Sabtu, 13 Juni 2015

Dokumentasi Game

Game ini menceritakan sebuah penyergapan yang dilakukan oleh tim kopassus yang mendapatkan laporan bahwa terdapat seorang terroris yang bersembunyi di suatu pedesaan. Maka dengan sigap dan cepat tim tersebut meluncur ke lokasi dan melakukan penangkapan. Namun dalam proses penangkapan, terroris tersebut melakukan perlawanan dengan menggunakan senjata api. Maka terjadilah sebuah peperangan antara seorang anggota kopassus dan seorang tersangka terroris. Saat menjalankan permainan ini muncul tampilan awal berupa splash screen yang berisi sebuah gambar dan loading,lalu setelah beberapa detik masuk ke form yang berisi menu game. Dalam form ini terdapat beberapa button pilihan sebelum kita memulai permainan,diantaranya adalah start jika anda sudah siap bermain, how to play jika anda belum mengetahui cara bermain dan ingin tahu cara bermainnya,about untuk melihat profil saya dan exit jika anda ingin keluar permainan. Game ini melatih bagaimana strategi anda dalam menembak terroris tersebut. Dengan cara bermain merunduk untuk menghindar dari tembakan musuh, berdiri dan menembak musuh saat musuh berdiri hingga darah musuh tersebut habis sebelum waktu selesai atau bagaimana supaya darah lawan lebih sedikit dari darah kita saat waktu berperang telah habis. Terdapat 3 tingkatan kesulitan yang dapat dipilih di menu level yaitu mudah, normal dan susah. Semakin tinggi levelnya maka strategi lawan dalam menembak akan semakin mahir dan bisa mengalahkan kita. Jangan biarkan itu terjadi. Jika gagal atau seimbang terus berlatih strategi kita dalam melawan terroris tersebut sampai anda bisa memenangkan peperangan di tingkat kesulitan susah.

 1. Permainan berlangsung selama 30 detik 2. Pemain menggunakan tombol atas untuk berdiri, tombol bawah untuk menunduk dan tombol spasi untuk menembak. 3. Menembak hanya dapat dilakukan ketika pemain atau komputer berdiri. 4. 1 detik setelah pemain atau komputer menembak, pemain atau komputer akan otomatis menunduk untuk menghindari tembakan beruntun serta lag pada permainan. 5. Jika pemain menembak tepat pada saat computer berdiri maka life komputer berkurang satu, jika komputer menembak tepat pada saat pemain berdiri maka life pemain berkurang satu 6. 1 detik setelah pemain atau komputer tertembak, pemain atau komputer akan otomatis menunduk untuk menghindari terkena tembakan beruntun serta lag pada permainan. 7. Pada detik 0 permainan akan berakhir dan perhitungan life akan berjalan. 8. Jika pada detik 0 life pemain lebih dari life komputer maka pemain dinyatakan menang. 9. Jika pada detik 0 life pemain kurang dari life komputer maka pemain dinyatakan kalah. 10. Jika pada detik 0 life pemain sama dengan life komputer maka permainan dinyatakan seri. Tujuan dari permainan ini adalah membuat life terus berkurang sehingga ketika permainan berakhir life musuh kurang dari life pemain.

 AI : Kecerdasan buatan pada game ini adalah respon pada komputer. Komputer dapat mengecek keadaan pemain apakah sedang berdiri atau tidak, ketika pemain berdiri komputer akan menembak. Komputer dapat melakukan pengecekan ini pada saat berdiri maupun pada saat menunduk. Jika pemain hanya diam saja tidak mau berdiri maka komputer yang akan berdiri untuk memancing pemain berdiri pula. Algoritma: Algoritma yang digunakan dalam game ini adalah Forward Chaining. Metode Forward Chaining adalah metode pencarian atau teknik pelacakan ke depan yang dimulai dengan informasi yang ada dan penggabungan rule untuk menghasilkan suatu kesimpulan atau tujuan. Pelacakan maju ini sangat baik jika bekerja dengan permasalahan yang dimulai dengan rekaman informasi awal dan ingin dicapai penyelesaian akhir, karena seluruh proses akan dikerjakan secara berurutan maju. Forward chaining merupakan metode inferensi yang melakukan penalaran dari suatu masalah kepada solusinya. Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan menyatakan konklusi. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining. Tipe sistem yang dapat dicari dengan Forward Chaining : 1. Sistem yang dipersentasikan dengan satu atau beberapa kondisi. 2. Untuk setiap kondisi, sistem mecari rule-rule dalam knowledge base untuk rule-rule yang berkorespondensi dengan kondisi dalam bagian IF 3. Setiap rule dapat menghasilkan kondisi baru dari konklusi yang diminta pada bagian THEN. Kondisi baru ini ditambahkan ke kondisi lain yang sudah ada. 4. Setiap kondisi yang ditambahkan ke sistem akan diproses. Jika ditemui suatu kondisi baru dari konklusi yang diminta, sistem akan kembali ke langkah 2 dan mencari rule-rule dalam knowledge base kembali. Jika tidak ada konklusi baru, sesi ini berakhir.

deklarasi variable, impor gambar, dan pembuatan jendela permainan---------% ?- G_darah1:=350,%------------darah untuk polisi G_darah2:=200,%------------darah untuk teroris G_aksi_red:=0, G_aksi_blue:=0, G_level:=1, G_life_red:=10, G_life_blue:=10, G_zero:=0, G_splashsc is bitmap_image("gambar//logo.bmp",_), G_Polisinembak1 is bitmap_image("gambar//Polisinembak1.bmp",_), G_Polisinunduk1 is bitmap_image("gambar//Polisinunduk1.bmp",_), G_Polisiketembak1 is bitmap_image("gambar//Polisiketembak1.bmp",_), G_Terorisnembak2 is bitmap_image("gambar//Terorisnembak2.bmp",_), G_Terorisnunduk2 is bitmap_image("gambar//Terorisnunduk2.bmp",_), G_Terorisketembak2 is bitmap_image("gambar//Terorisketembak2.bmp",_), G_Pelurubiru is bitmap_image("gambar//pelurubiru.bmp",_), G_Pelurumerah is bitmap_image("gambar//pelurumerah.bmp",_), G_Dorblue is bitmap_image("gambar//dor_blue.bmp",_), G_Dorred is bitmap_image("gambar//dor_red.bmp",_), G_Tembok is bitmap_image("gambar//Tembok.bmp",_), G_Timeup is bitmap_image("gambar//timeup.bmp",_), G_white is bitmap_image("gambar//white.bmp",_), G_timeblock is bitmap_image("gambar//timeblock.bmp",_), G_cleantime is bitmap_image("gambar//cleantimeup.bmp",_), G_wall is bitmap_image("gambar//back.bmp",_), %-------------------------------SPLASH-------------------------------- window(G_splash,_,window_spl(_),"HIT ME",(150,50,800,420)). window_spl(paint):- draw_bitmap(0,0,G_splashsc,_,_). window_spl(init):- G_batas1 := 1, G_waktu is set_timer(_,1,fungsi_timer1). fungsi_timer1(end):- G_batas1 := G_batas1 +1, (G_batas1 = 3 -> close_window(G_splash), window(G_splash2,_,window_splash2(_),"Hit Me",150,50,800,420)). %============================== TIMER ====================================% window(G_splash2,_,window_splash2(_),"Hit Me",(150,50,800,420)). window_splash2(paint):- draw_bitmap(0,0,G_wall,_,_). window_splash2(init):- G_batas := 1, G_waktu is set_timer(_,0.01,fungsi_timer). fungsi_timer(end):- text_out(350,300,print("Loading : " + G_batas)), G_batas := G_batas +1, (G_batas = 100 -> close_window(G_splash2), window(G_form1,_,window1(_),"HIT ME",150,50,800,420)). %---------------------------- WINDOW 1 ------------------------------% window(G_form1,_,window1(_),"HIT ME",150,50,800,420). window1(paint):- draw_bitmap(0,0,G_wall,_,_), fail. window1(init):- execute("musik//bb.exe"), button(_,_,mulai(_),"Start Game",280,150,200,40), button(_,_,help(_),"How To Play",280,200,200,40), button(_,_,about(_),"About Me",280,250,200,40), button(_,_,keluar(_),"Exit",280,300,200,40), fail. keluar(press):- message("HIT ME", "Jangan Lupa Memainkannya lagi ya ",!), execute("musik\\gg.bat"), close_window(G_form1). about(press):- shell_execute("AboutMe.html"). help(press):- shell_execute("help.html"). mulai(press):- window(G_form2,_,window2(_),"HIT ME",100,50,800,420), close_window(G_form1). %----------------menggambar posisi awal dengan menggunakan fungsi paint-------------------- %----------------mendeklarasikan fungsi inisialisasi yang berisi menu dan timer--------------------- window2(paint):- G_aksi_red:=0, G_aksi_blue:=0, G_life_red:=99, G_life_blue:=99, draw_bitmap( 0, 140, G_Polisinunduk1, _, _), draw_bitmap( 610, 140, G_Terorisnunduk2, _, _), draw_bitmap( 170, 220, G_Tembok, _, _), draw_bitmap( 550, 220, G_Tembok, _, _), font(10,20,"Times New Roman"), text_out(10, 20, "Kopassus"), text_out(680, 20, "Terroris"), pen(20,rgb(100,0,0)), line(20,50,G_darah1,50),%-------darah polisi line(G_darah2+200,50,750,50), %----------- darah terroris fail. window2(init):- menu( pop_up, _, _, menu_pilihan(_),"&Pilihan"), menu( pop_up, G_Menu, _, menu_level(_), "&Level"), menu( normal, _, _, menu_bantuan(_), "&Help"), menu( normal, _, _, menu_tentang(_), "&About"), message("HIT ME", "Untuk Memulai Tekan Pilihan > Mulai",!). menu_pilihan(init):- menu(normal,_,_,mulai_game(_),"&Mulai"), menu(normal,_,_,main_menu(_),"&Main Menu"), menu(normal,_,_,menu_exit(_),"&Exit"). menu_exit(press):- message("Andy Kembara", "Jangan Lupa Memainkannya lagi ya ",!), execute("musik\\gg.bat"), close_window(_). main_menu(press):- close_window(G_form2), execute("musik\\gg.bat"), window(G_form1,_,window1(_),"HIT ME",150,50,800,420). menu_level(init):- menu(normal,_,_,mudah(_),"&Easy"), menu(normal,_,_,normal(_),"&Normal"), menu(normal,_,_,susah(_),"&Hard"). menu_bantuan(press):- shell_execute("help.html"). menu_tentang(press):- shell_execute("AboutMe.html"). %----mendeklarasikan inisialisasi per level (mudah, normal, dan susah)-------% %---------------------inisiasi level default (mudah) ------------------------% mulai_game(press):- G_time is set_timer(_,1,time_func), fail. %--Penerapan untuk level mudah mudah(press):- message("level","Anda memilih level mudah",i), G_aksi_red:=0, G_aksi_blue:=0, G_life_red:=99, G_life_blue:=99, G_level:=1, G_time:=30, draw_bitmap( 0, 140, G_Polisinunduk1, _, _), draw_bitmap( 610, 140, G_Terorisnunduk2, _, _), draw_bitmap( 170, 220, G_Tembok, _, _), draw_bitmap( 550, 220, G_Tembok, _, _). %-- Penerapan untuk level normal normal(press):- message("level","Anda memilih level normal",i), G_aksi_red:=0, G_aksi_blue:=0, G_life_red:=99, G_life_blue:=99, G_level:=2, G_time:=30, draw_bitmap( 0, 140, G_Polisinunduk1, _, _), draw_bitmap( 610, 140, G_Terorisnunduk2, _, _), draw_bitmap( 170, 220, G_Tembok, _, _), draw_bitmap( 550, 220, G_Tembok, _, _). %-- Penerapan untuk level susah susah(press):- message("level","Anda memilih level susah",i), G_aksi_red:=0, G_aksi_blue:=0, G_life_red:=99, G_life_blue:=99, G_level:=3, G_time:=30, draw_bitmap( 0, 140, G_Polisinunduk1, _, _), draw_bitmap( 610, 140, G_Terorisnunduk2, _, _), draw_bitmap( 170, 220, G_Tembok, _, _), draw_bitmap( 550, 220, G_Tembok, _, _). %-------------menjalankan fungsi timer----------------% time_func(end):- G_time=0-> G_time:=0 else G_time:=G_time-1, T:=printq(G_time), font(20,40,"Arial"), text_out(350,280,T), %---Penerapan fungsi AI dari komputer dalam satuan detik (G_time=29-> G_level=3-> musuhcek(_)), (G_time=29-> G_level=2-> musuhnunduk(_)), (G_time=29-> G_level=1-> musuhberdiri(_)), (G_time=28-> G_level=3-> musuhcek(_)), (G_time=28-> G_level=2-> musuhberdiri(_)), (G_time=28-> G_level=1-> musuhberdiri(_)), (G_time=27-> G_level=3-> musuhcek(_)), (G_time=27-> G_level=2-> musuhcek(_)), (G_time=27-> G_level=1-> musuhnunduk(_)), (G_time=26-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=26-> G_level=2-> musuhcek(_)), (G_time=26-> G_level=1-> musuhcek(_)), (G_time=25-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=25-> G_level=2-> musuhcek(_)), (G_time=25-> G_level=1-> musuhberdiri(_)), (G_time=25-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=25-> G_level=2-> musuhcek(_)), (G_time=25-> G_level=1-> musuhberdiri(_)), (G_time=24-> G_level=3-> musuhnunduk(_)), (G_time=24-> G_level=2-> musuhcek(_)), (G_time=24-> G_level=1-> musuhberdiri(_)), (G_time=23-> G_level=3-> musuhcek(_)), (G_time=23-> G_level=2-> musuhcek(_)), (G_time=23-> G_level=1-> musuhberdiri(_)), (G_time=22-> G_level=3-> musuhcek(_)), (G_time=22-> G_level=2-> musuhcek(_)), (G_time=22-> G_level=1-> musuhberdiri(_)), (G_time=21-> G_level=3-> musuhnunduk(_)), (G_time=21-> G_level=2-> musuhcek(_)), (G_time=21-> G_level=1-> musuhberdiri(_)), (G_time=20-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=20-> G_level=2-> musuhcek(_)), (G_time=20-> G_level=1-> musuhberdiri(_)), (G_time=19-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=19-> G_level=2-> musuhcek(_)), (G_time=19-> G_level=1-> musuhberdiri(_)), (G_time=18-> G_level=3-> musuhcek(_)), (G_time=18-> G_level=2-> musuhcek(_)), (G_time=18-> G_level=1-> musuhberdiri(_)), (G_time=17-> G_level=3-> musuhcek(_)), (G_time=17-> G_level=2-> musuhcek(_)), (G_time=17-> G_level=1-> musuhberdiri(_)), (G_time=16-> G_level=3-> musuhnunduk(_)), (G_time=16-> G_level=2-> musuhcek(_)), (G_time=16-> G_level=1-> musuhberdiri(_)), (G_time=15-> G_level=3-> musuhcek(_)), (G_time=15-> G_level=2-> musuhcek(_)), (G_time=15-> G_level=1-> musuhberdiri(_)), (G_time=14-> G_level=3-> musuhcek(_)), (G_time=14-> G_level=2-> musuhcek(_)), (G_time=14-> G_level=1-> musuhberdiri(_)), (G_time=13-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=13-> G_level=2-> musuhcek(_)), (G_time=13-> G_level=1-> musuhberdiri(_)), (G_time=12-> G_level=3-> musuhnunduk(_)), (G_time=12-> G_level=2-> musuhcek(_)), (G_time=12-> G_level=1-> musuhberdiri(_)), (G_time=11-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=11-> G_level=2-> musuhcek(_)), (G_time=11-> G_level=1-> musuhberdiri(_)), (G_time=10-> G_level=3-> musuhnunduk(_)), (G_time=10-> G_level=2-> musuhcek(_)), (G_time=10-> G_level=1-> musuhberdiri(_)), (G_time=9-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=9-> G_level=2-> musuhcek(_)), (G_time=9-> G_level=1-> musuhberdiri(_)), (G_time=8-> G_level=3-> musuhnunduk(_)), (G_time=8-> G_level=2-> musuhcek(_)), (G_time=8-> G_level=1-> musuhberdiri(_)), (G_time=7-> G_level=3-> musuhcek(_)), (G_time=7-> G_level=2-> musuhcek(_)), (G_time=7-> G_level=1-> musuhberdiri(_)), (G_time=6-> G_level=3-> musuhcek(_)), (G_time=6-> G_level=2-> musuhcek(_)), (G_time=6-> G_level=1-> musuhberdiri(_)), (G_time=5-> G_level=3-> musuhcek(_)), (G_time=5-> G_level=2-> musuhcek(_)), (G_time=5-> G_level=1-> musuhberdiri(_)), (G_time=4-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=4-> G_level=2-> musuhcek(_)), (G_time=4-> G_level=1-> musuhberdiri(_)), (G_time=3-> G_level=3-> musuhberdiri(_), musuhcek(_)), (G_time=3-> G_level=2-> musuhcek(_)), (G_time=3-> G_level=1-> musuhberdiri(_)), (G_time=2-> G_level=3-> musuhnunduk(_)), (G_time=2-> G_level=2-> musuhcek(_)), (G_time=2-> G_level=1-> musuhberdiri(_)), (G_time=1-> G_level=3-> musuhcek(_)), (G_time=1-> G_level=2-> musuhcek(_)), (G_time=1-> G_level=1-> musuhberdiri(_)), (G_time=0 -> G_time:=0, draw_bitmap( 310, 20, G_Timeup, _, _), (G_life_bluemessage("Kalah","Anda kalah, Sebaiknya latih dulu cara respon anda ya",i)), (G_life_blue>G_life_red->message("Menang","Selamat Anda Menang, kemampuan anda untuk menembak teroris begitu hebat!",i)), (G_life_blue=G_life_red->message("Seri","Seimbang, Good!Tidak apa-apa, latih terus kemampuan anda",i)), execute("musik\\gg.bat"), close_window(_)). %--Statement untuk memberikan fungsi respon pada komputer musuhberdiri(_):- G_aksi_red:=1, draw_bitmap( 610, 150, G_Terorisnembak2, _, _). musuhnunduk(_):- G_aksi_red:=0, draw_bitmap( 610, 140, G_Terorisnunduk2, _, _). musuhcek(_):- G_aksi_blue=1-> G_aksi_red:=1, draw_bitmap( 610, 150, G_Terorisnembak2, _, _), wait(0.1), draw_bitmap(550,197,G_Dorred,_,_), G_aksi_red:=2, afterfire_red(_). %-------------------peluru keluar dari senapan-------------- afterfire_blue(_):- wait(0.1), beep("sound//shoot"), draw_bitmap( 360, 195, G_Pelurubiru, _, _), efektembak1(_), wait(0.2), draw_bitmap( 0, 140, G_Polisinunduk1, _, _), draw_bitmap( 168, 192, G_white, _, _), G_aksi_blue:=0. afterfire_red(_):- wait(0.1), beep("sound//shoot2"), draw_bitmap( 370, 192, G_Pelurumerah, _, _), efektembak2(_), wait(0.2), draw_bitmap( 610, 140, G_Terorisnunduk2, _, _), draw_bitmap( 295, 193, G_white, _, _), G_aksi_red:=0. %------------------Efek Tembak (kena atau tidak)----------------------------------------- efektembak1(_):- G_aksi_red=1-> wait(0.2), draw_bitmap( 610, 150, G_Terorisketembak2, _, _), draw_bitmap( 240, 192, G_white, _, _), wait(1), draw_bitmap( 610, 140, G_Terorisnunduk2, _, _), G_life_red:=G_life_red-5, G_darah2:=G_darah2+30, %<<<< pen(20,rgb(255,128,128)), line(G_darah2+200,50,400,50),%<<<< G_aksi_red:=0. efektembak2(_):- G_aksi_blue=1-> wait(0.2), draw_bitmap( 0, 150, G_Polisiketembak1, _, _), draw_bitmap( 235, 192, G_white, _, _), wait(1), draw_bitmap( 0, 140, G_Polisinunduk1, _, _), G_life_blue:=G_life_blue-1, G_darah1:=G_darah1-30, %<<<< pen(20,rgb(255,128,128)), line(G_darah1,50,350,50),%<<<< G_aksi_blue:=0. %------------------membuat tentara player berdiri, menunduk, menembak--------------------- window2(key_down(38,_)):- G_aksi_blue:=1, draw_bitmap( 0, 150, G_Polisinembak1, _, _). window2(key_down(40,_)):- wait(0.8), G_aksi_blue:=0, draw_bitmap( 0, 140, G_Polisinunduk1, _, _). window2(key_down(32,_)):- G_aksi_blue=1-> draw_bitmap(165,197,G_Dorblue,_,_), G_aksi_blue:=2, afterfire_blue(_), wait(0.6). 

 Strawberry Prolog Strawberry Prolog merupakan sebuah bahasa pemrograman logika yang memiliki Object Oriented Language. Pada prolog ini tidak terdapat prosedur, hanya terdapat kumpulan data yang akan diolah. Untuk menggunakan strawberry prolog tidak dilakukan instalasi (portable). Jadi program dapat dijalankan dengan membuka file strawberry prolog (spj) di dalam strawberry prolog itu sendiri dan pada program aplikasi yang gratis (light edition) tidak dapat membuat project game tersebut menjapi program execute atau membuatnya menjadi file ber-extencion exe, dan untuk membuat menjadi program execute digunakan aplikasi strawberry professional edition yang berbayar. AI Artificial Intelegent ( Kecerdasan Buatan) Suatu kecerdasan yang ditunjukkan oleh suatu entitas buatan. Dimana suatu kecerdasan yang diciptakan dan dimasukkan ke dalam suatu mesin (Komputer) dapat melakukan pekerjaan seperti yang dapat dilakukan oleh manusia. Algoritma Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.

Tidak ada komentar:

Posting Komentar