Manual book

768 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
768
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Manual book

  1. 1. INITIAL STATE : Initial State Yang digunakan sebagai acuan untuk membuat programSnake adalah, pembuatan papan permainanya, disini saya menggunakan papan 2dimensi dengan garis pembatas disetiap sisinya. Kemudian saya membuat sebuahtitik berwarna hijau sebagai ular dan sebuah titik berwarna merah sebagaimakanannya. Kemudian kami menambahkan sebuah garis setiap berhasilmelewati level selanjutnya.RULE : Aturan main (Rule) yang digunakan pada games snack ini adalah sebagaiberikut: 1. User sebuah titik, setiap user berhasil memakan makanannya user akan bertambah panjang sesuai jumlah makanan yang ia makan. 2. Komputer diberi pembelajaran untuk menentukan letak makanan. 3. Setiap menyelesaikan sebuah level maka akan bertambah cepat dan terdapat halangan. 4. Pada mode DEMO, computer diberi kepintaran untuk menyelesaikan setiap level tanpa dibantu user.GOAL: Goal untuk menyelesaikan games snake ini adalah berhasil memakansemua makanan yang terdapat pada setiap level.
  2. 2. Level 1: Menyelesaikan 3 makananLevel 2: Menyelesaikan 4 makananLevel 3: Menyelesaikan 5 makanan
  3. 3. Level 4: Menyelesaikan 6 makananLevel 6: Menyelesaikan 7 makananInstalasi Strawberry Prolog: Strawberry Prolog merupakan sebuah bahasa pemrograman logika.Memiliki object oriented language. Pada prolog ini tidak terdapat prosedur, hanyaterdapat kumpulan data yang akan diolah. Untuk menggunakan strawberry prologtidak dilakukan instalasi. Programmer dapat meng-unduhnya secara gratis diwebsite resminya. Namun karena penggunaannya yang gratis, pada strawberryprolog ini, games snake tidak dapat membentuk sebuah file execute (exe). Jadiprogram dapat dijalankan dengan membuka file strawberry prolog (spj) didalamstrawberry prolog itu sendiri
  4. 4. Untuk membuka file spj-nya, pilih pada menu bar FILE → OPEN kemudian pilihfile snake.Untuk menjalankan games-nya dapat menggunakan shortcut F5. Atau pada menubar pilih RUN → RUN. Hasilnya dapat dilihat pada output dibawah ini.
  5. 5. OUTPUT :Menyelesaikan setiap levelJika hasilnya Kalah:
  6. 6. Listing :?- G_Demo:=0, G_Level:=1, go_to_level(G_Level), array(snakeX,100,0), % the name of the array is aconstant array(snakeY,100,0), G_PenRed:=pen(5,rgb(255,0,0)), G_Pen0:=pen(5,system_color(window)), G_Pen:=pen(5,rgb(0,100,50)), window(G_Win,_,snake_func(_),"Snake",10,10,606,430).snake_func(paint):- pen(G_PenRed), apple(X,Y), ellipse(10*X,10*Y,10*X+10,10*Y+10), fail.snake_func(paint):- pen(G_pen), h(X,Y1,Y2), line(10*X,10*Y1,10*X,10*Y2), fail.snake_func(paint):- pen(G_pen), v(Y,X1,X2), line(10*X1,10*Y,10*X2,10*Y), fail.snake_func(paint):- pen(G_Pen), line(20,20,570,20,570,350,20,350,20,20).snake_func(key_down(38,_)):- G_Xp:=0, G_Yp:= -1.snake_func(key_down(40,_)):- G_Xp:=0, G_Yp:=1.snake_func(key_down(37,_)):- G_Xp:= -1, G_Yp:=0.snake_func(key_down(39,_)):-
  7. 7. G_Xp:=1, G_Yp:=0.snake_func(init):- G_Timer:= set_timer(_, G_Speed, time_func), menu(normal,_,_,new_game(_),"New Game"), menu(normal,_,_,demo(_),"Demo").time_func(end):- (G_Demo=1 -> apple(A1,A2), ((G_X - A1)*G_Xp>=0,not(G_Xp=0)-> G_Xp:= 0, G_Yp:= ((G_Y - A2)=<0 -> 1 else -1) ), ((G_Y - A2)*G_Yp>=0,not(G_Yp=0)-> G_Yp:= 0, G_Xp:= ((G_X - A1)=<0-> 1 else -1) ), Xn:=G_X+G_Xp, Yn:=G_Y+G_Yp, (out(Xn,Yn)-> (G_Xp=0-> G_Yp:= 0, G_Xp:= ((G_X - A1)=<0-> 1 else -1) else G_Xp:= 0, G_Yp:= ((G_Y - A2)=<0-> 1 else -1) ) ) ), pen(G_Pen), ellipse(10*G_X,10*G_Y,10*G_X+10,10*G_Y+10), move_tail, snakeX(0):=G_X, snakeY(0):=G_Y, G_X:=G_X+G_Xp, G_Y:=G_Y+G_Yp, pen(G_Pen0),ellipse(10*snakeX(G_SL+1),10*snakeY(G_SL+1),10*snakeX(G_SL+1)+10,10*snakeY(G_SL+1)+10), (in_body(G_X,G_Y); out(G_X,G_Y)-> kill_timer(_,G_Timer), message("Sorry!!!!!!","Game over",s) ), apple(G_X,G_Y), (G_Apples=:=0 ->
  8. 8. G_Level:=G_Level+1, go_to_level(G_Level), kill_timer(_,G_Timer), G_Timer:= set_timer(_, G_Speed, time_func) else G_Apples := G_Apples - 1, G_SL:=G_SL+1, retract(apple(G_X,G_Y)), add_apple(I,J), pen(G_PenRed), ellipse(10*I,10*J,10*I+10,10*J+10) ), fail.move_tail:- for(I,G_SL,0,-1), snakeX(I+1):=snakeX(I), snakeY(I+1):=snakeY(I), fail.move_tail.add_apple(X,Y):- X is 3+random(52), Y is 3+random(30), not(out(X,Y);in_body(X,Y)),!, assert(apple(X,Y)).add_apple(X,Y):- add_apple(X,Y).in_body(X,Y):- for(I,0,G_SL- 1), X=:=snakeX(I), Y=:=snakeY(I).out(X,Y):- X<2; X>55; Y<2; Y>34.out(X,Y):- %proverka dali ne presicha liniite h(X,Y1,Y2), Y>=Y1, Y=<Y2.out(X,Y):- v(Y,X1,X2), X>=X1, X=<X2.
  9. 9. level(1,0.2,2,[]).level(2,0.1,3,[v(20,10,50)]).level(3,0.07,4,[h(30,5,30)]).level(4,0.09,5,[h(30,5,30),v(20,10,50)]).level(5,0.09,5,[h(10,5,30),h(20,5,30),h(30,5,30)]).level(6,0.1,2,[h(10,2,30),h(20,5,35),h(30,2,30),h(40,5,35),h(50,2,30)]).go_to_level(L):- G_X:=10, G_Y:=10, G_Xp:=1,G_Yp:=0, G_SL:=0, retractall(apple(_, _)), %maha iabalkite otminaloto nivo retractall(v(_, _, _)), retractall(h(_, _, _)), add_apple(_,_), %add_apple(_,_), %add_apple(_,_), %add_apple(_,_), %add_apple(_,_), (level(L,Speed,Apples,Lines)-> add_lines(Lines), G_Apples:=Apples, G_Speed:=Speed else kill_timer(_,G_Timer), message("Well, how you done this","It looks likethat you won." ,!), fail ),update_window(_).add_lines([]).add_lines([H|T]):- assert(H), add_lines(T).new_game(press):- G_Level:=1, go_to_level(G_Level), (kill_timer(_,G_Timer)-> true ), G_Timer:= set_timer(_, G_Speed, time_func).demo(press):-
  10. 10. G_Demo:= 1 - G_Demo,(G_Demo= 1-> modify_menu(G_Win,2,normal,"Stop &demo")else modify_menu(G_Win,2,normal,"&Demo")),draw_menu_bar(G_Win).

×