Kamis, 12 November 2015

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).


0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

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