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_blue
Tidak ada komentar:
Posting Komentar