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

07.19
Doni

Posted in:
0 komentar:
Posting Komentar