Tampilkan postingan dengan label Strawberry Prolog. Tampilkan semua postingan
Tampilkan postingan dengan label Strawberry Prolog. Tampilkan semua postingan

Kamis, 12 November 2015

Game Strawberry Prolog

Kali ini saya akan membagikan game sederhana Strawberry prolog kepada pembaca. Game ini awalnya adalah game Battle Fire yang saya kembangkan untuk menyelesaikan tugas akhir dan sidang PKB di LabTI.
Dalam game ini saya menambahkan splash screen, loading bar, button menu, background, backsound dan soundeffect.

Dibawah ini adalah tampilan game yang saya buat :









Anda dapat mendownload file lengkapnya disini



Membuat Loading Bar pada Strawberry Prolog


Untuk membuat loading bar seperti gambar diatas, ketiklah listing program berikut :

?-
G_bg is bitmap_image("minion1.bmp",_),
G_bc is bitmap_image("minion2.bmp",_),

%------------------------splash screen--------------------------%
window(G_load,_,fload(_),"Loading...",100,100,800,500),
draw_bitmap(0,0,G_bg,_,_).
fload(init):-
G_batas := 0,
G_X := 175,
G_waktu is set_timer(_,0.050,loading_bar).
loading_bar(end):-
text_out(170,374,print("Loading")),
pen(2,rgb(255,255,255)),
brush(rgb(0,0,0)),
rect(170,390,579,420),
pen(0,rgb(0,0,0)),
brush(rgb(255,255,255)),
rect(175,395,G_X,416),
brush(rgb(255,255,255)),
rect(579,390,628,421),
text_out(585,397,print(G_batas + "%")),
G_batas := G_batas + 1,
G_X := G_X + 4,
(G_batas >= 101 -> wait(1.0),
close_window(G_load).

Membuat Splash Screen pada Strawberry Prolog

Pada kesempatan ini saya akan menjelaskan cara membuat splash screen dengan menggunakan strawberry prolog.
Splash screen adalah tampilan yang muncul pada sebuah program saat program sedang loading, biasanya splash screen muncul pada saat loading pertama kali program dibuka.



untuk membuat splash screen pertama bukalah program strawberry prolog, kemudian buka lembar kerja baru dan pilih strawberry project.

setelah itu ketikkan listing program berikut :

?-
window(G_load,_,fload(_),"loading...",150,25,1000,700),
G_bgload is bitmap_image("D:\\Mobil.bmp",_),
draw_bitmap(0,0,G_bgload,_,_).
fload(paint):-
font(25,50,"times new roman"),
color_text(_,rgb(170,170,170)).
fload(init):-
G_batas:=0,
G_waktu is set_timer(_,0.025, ftimer).
ftimer(end):-
text_out(100,150,print("Loading...")),
text_out(100,190,print(G_batas +"%")),
G_batas := G_batas+1,
G_batas == 101-> wait(1.0),
close_window(G_load).

Membuat Gambar Rumah dan Gedung dengan Strawberry Prolog

Salah satu unsur penting dalam mempelajari strawberry prolog adalah dapat menguasai cara menggunakan titik koordinat untuk meletakkan berbagai bentuk dasar sebuah bangun.
Untuk lebih jelasnya kita dapat membuat gambar rumah sederhana seperti dibawah ini :


Untuk membuat gambar rumah dan gedung dengan strawberry prolog, ketiklah listing program berikut :

?-
window(_,_,win_func(_),"rumahdoni",50,50,1200,650).
win_func(paint):-
%atap
pen(10,rgb(64,0,0)),
line(100,400,200,350,300,400),
%kaki atap
pen(5,rgb(0,0,0)),
line(110,400,110,415),
line(290,400,290,415),
%kotak rumah
pen(8,rgb(0,0,0)),
brush(rgb(128,255,128)),
rect(80,415,320,600),
%ventilasi atap
pen(2,rgb(0,0,0)),
brush(rgb(255,128,192)),
rect(150,385,160,410),
rect(240,385,250,410),
%buletan atap
pen(4,rgb(0,0,0)),
brush(rgb(0,255,255)),
ellipse(180,365,220,400),
%kotak balkon
pen(8,rgb(0,0,0)),
brush(rgb(255,255,128)),
rect(110,430,250,510),
%ventilasi dinding
pen(2,rgb(0,0,0)),
brush(rgb(255,128,192)),
rect(95,442,105,500),
%pintu balkon
pen(2,rgb(0,0,0)),
brush(rgb(192,192,192)),
rect(195,445,233,504),
%jendela balkon
pen(2,rgb(0,0,0)),
brush(rgb(192,192,192)),
rect(132,445,158,490),
rect(158,445,183,490),
%jendela atas
pen(5,rgb(0,0,0)),
brush(rgb(255,255,128)),
rect(258,430,305,500),
pen(2,rgb(0,0,0)),
brush(rgb(192,192,192)),
rect(261,445,281,485),
rect(281,445,302,485),
%kaki balkon
pen(8,rgb(0,0,0)),
line(130,510,130,595),
line(230,510,230,595),
line(270,520,270,595),
line(130,520,315,520),
%pintu bawah
pen(2,rgb(0,0,0)),
brush(rgb(255,255,128)),
rect(160,530,200,594),
%jendela samping pintu
pen(2,rgb(0,0,0)),
brush(rgb(255,255,128)),
rect(138,530,155,585),
rect(205,530,222,585),
%jendela kanan
pen(2,rgb(0,0,0)),
rect(274,520,312,595),
brush(rgb(192,192,192)),
rect(274,538,293,578),
rect(293,538,312,578),
%garis bawah
pen(2,rgb(0,0,0)),
line(230,525,270,525),
line(230,530,270,530),
line(230,535,270,535),
line(230,540,270,540),
line(230,545,270,545),
line(230,550,270,550),
line(230,555,270,555),
line(230,560,270,560),
line(230,565,270,565),
line(230,570,270,570),
line(230,575,270,575),
line(230,580,270,580),
line(230,585,270,585),
line(230,590,270,590),
%garis atas
pen(2,rgb(0,0,0)),
line(110,480,245,480),
line(110,485,245,485),
line(110,490,245,490),
line(110,495,245,495),
line(110,500,245,500),

Kemudian ketikkan juga kode program untuk membuat gedung :

%gedung
%tinggi
pen(8,rgb(0,0,0)),
brush(rgb(192,192,192)),
rect(450,150,650,460),
rect(850,150,1050,460),
%jendelatinggi
pen(2,rgb(0,0,0)),
brush(rgb(128,128,128)),
rect(470,170,630,200),
rect(470,210,630,240),
rect(470,250,630,280),
rect(470,290,630,320),
rect(470,330,630,360),
rect(470,370,630,400),
rect(470,410,630,440),
rect(870,170,1030,200),
rect(870,210,1030,240),
rect(870,250,1030,280),
rect(870,290,1030,320),
rect(870,330,1030,360),
rect(870,370,1030,400),
rect(870,410,1030,440),
%tiang
pen(8,rgb(0,0,0)),
brush(rgb(255,255,255)),
rect(520,100,540,460),
rect(560,100,580,460),
rect(920,100,940,460),
rect(960,100,980,460),
%kotak gedung
pen(8,rgb(0,0,0)),
brush(rgb(255,128,64)),
rect(400,450,600,600),
rect(900,450,1100,600),
pen(8,rgb(0,0,0)),
rect(600,400,900,600),
%atap
pen(8,rgb(0,0,0)),
brush(rgb(255,255,128)),
rect(580,450,920,500),
fill_polygon(570,410,750,350,930,410),
rect(380,500,600,520),
rect(900,500,1120,520),
%jendela kiri
pen(2,rgb(0,0,0)),
rect(415,525,435,585),
rect(445,525,465,585),
rect(475,525,495,585),
rect(505,525,525,585),
rect(535,525,555,585),
rect(565,525,585,585),
rect(415,475,435,485),
rect(445,475,465,485),
rect(475,475,495,485),
rect(505,475,525,485),
rect(535,475,555,485),
%jendela kanan
pen(2,rgb(0,0,0)),
rect(915,525,935,585),
rect(945,525,965,585),
rect(975,525,995,585),
rect(1005,525,1025,585),
rect(1035,525,1055,585),
rect(1065,525,1085,585),
rect(945,475,965,485),
rect(975,475,995,485),
rect(1005,475,1025,485),
rect(1035,475,1055,485),
rect(1065,475,1085,485),
%tiangdepan
pen(5,rgb(0,0,0)),
brush(rgb(128,64,64)),
fill_polygon(650,600,670,600,658,400,662,400),
fill_polygon(830,600,850,600,838,400,842,400),
%pintudepan
pen(2,rgb(0,0,0)),
brush(rgb(255,255,128)),
rect(680,530,820,594),
%buletan
pen(6,rgb(0,0,0)),
brush(rgb(255,128,255)),
ellipse(730,365,770,400).


Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by EwaldoniLase - Premium Blogger Themes | coupon codes