uses crt,dos,graph;
const
{BUTONUN PASIF OLMA KORDINATLARI}
buton_pasif:array [0..14,0..3] of integer= (
(1,40,0,15),(1,1,1,15), (60,1,1,15),(2,39,0,15),(2,2,1,15), (59,2,1,15),
(1,40,0,8), (60,40,1,8),(60,1,1,8), (2,39,0,8), (59,39,1,8),(59,2,1,8),
(3,38,0,8), (58,38,1,88),(58,3,1,88) );
{BUTONUN AKTIF OLMA KORDINATLARI}
buton_aktif:array [0..17,0..3] of integer= (
(1,40,0,8),(1,1,1,8), (60,1,1,8),(2,39,0,8),(2,2,1,8), (59,2,1,8),
(3,38,0,8),(3,3,1,8), (58,3,1,8),
(1,40,0,15), (60,40,1,15),(60,1,1,15), (2,39,0,15), (59,39,1,15),(59,2,1,15),
(3,38,0,15), (58,38,1,15),(58,3,1,15) );
{BUTONUN YARI AKTIF OLMA KORDINATLARI}
buton_yari_aktif:array [0..9,0..3] of integer= (
(1,1,0,15),(1,40,1,15),(60,40,1,15),(60,1,1,15),(1,1,1,15),
(2,3,0,15),(2,39,1,15),(59,39,1,15),(59,2,1,15),(2,2,1,15)
);
{BUTONUN USTUNE YAZILACAK LEVER ADLARI }
lever_yaz:array[0..9] of string=(
'Lvr 1','Lvr 2','Lvr 3','Lvr 4','Lvr 5','Lvr 6',
'Lvr 7','Lvr 8','Lvr 9','Lvr 10'
);
{ LEE KARAKTERININ GERIYE GIDERKEN KI KORDINATLARI }
lee_geri:array[0..39,0..4]of integer=((17,9,0,0,0),(17,9,1,0,0),
(25,9,0,0,0),(25,9,1,0,0),
(20,12,0,1,0),(17,9,0,1,1),(25,9,0,1,1),(18,17,0,0,0),(23,17,1,0,0),
{g”vde ve bacaklar}
(15,20,0,0,0),(15,25,1,0,0),(10,22,1,0,0),(8,30,1,0,0),(20,32,1,0,0),
(21,36,1,0,0),(29,36,1,0,0),(28,30,1,0,0),(25,25,1,0,0),(25,20,1,0,0),(15,20,1,0,0),
{kollar}
(7,13,0,0,0),(5,16,1,0,0),(15,24,1,0,0),(15,20,1,0,0),(7,13,1,0,0),
(17,27,0,0,0),(17,32,1,0,0),(25,23,1,0,0),(25,19,1,0,0),(17,27,1,0,0),
{ayakkabilar}
(9,21,0,0,0),(7,30,1,0,0),(4,28,1,0,0),(7,18,1,0,0),(9,20,1,0,0),
(21,35,0,0,0),(30,35,1,0,0),(30,37,1,0,0),(21,37,1,0,0),(21,35,1,0,0)
);
{ LEE KARAKTERININ ILERI GIDERKEN KI KORDINATLARI }
lee_ileri:array[0..41,0..4]of integer=(
(11,9,0,0,0),(11,9,1,0,0),(19,9,0,0,0),(19,9,1,0,0),
(14,12,0,1,0),(11,9,0,1,1),(19,9,0,1,1),(12,15,0,0,0),(18,18,1,0,0),
(12,18,1,0,0),(12,15,1,0,0),
{g”vde ve bacaklar}
(09,20,0,0,0),(09,24,1,0,0),(6,30,1,0,0),(6,35,1,0,0),(14,35,1,0,0),
(14,33,1,0,0),(26,30,1,0,0),(23,23,1,0,0),(19,25,1,0,0),(19,20,1,0,0),(09,20,1,0,0),
{kollar}
(27,13,0,0,0),(29,15,1,0,0),(19,25,1,0,0),(19,20,1,0,0),(27,13,1,0,0),
(21,27,0,0,0),(19,30,1,0,0),(7,23,1,0,0),(7,18,1,0,0),(22,27,1,0,0),
{ayakkabilar}
(23,23,0,0,0),(25,30,1,0,0),(28,29,1,0,0),(25,21,1,0,0),(23,23,1,0,0),
(5,36,0,0,0), (14,36,1,0,0),(14,37,1,0,0),(5,37,1,0,0),(5,35,1,0,0)
);
{ HEDEFLARE KOYULACAK KASA NESNESININ ORDINATLARI }
kasa:array[0..44,0..3] of integer=(
(2,38,0,15),(2,2,1,15),(38,2,1,15),(38,38,1,88),(2,38,1,88),
(3,37,0,7), (3,3,1,7), (37,3,1,7), (37,37,1,7), (3,37,1,7),
(4,36,0,7), (4,4,1,7), (36,4,1,7), (36,36,1,7), (4,36,1,7),
(5,35,0,7), (5,5,1,7), (35,5,1,7), (35,35,1,7), (5,35,1,7),
(6,34,0,7), (6,6,1,7), (34,6,1,7), (34,34,1,7), (6,34,1,7),
(7,33,0,7), (7,7,1,7), (33,7,1,7), (33,33,1,7), (7,33,1,7),
(8,32,0,7), (8,8,1,7), (32,8,1,7), (32,32,1,7), (8,32,1,7),
(9,31,0,7), (9,9,1,7), (31,9,1,7), (31,31,1,7), (9,31,1,7),
(10,30,0,88),(10,10,1,88),(30,10,1,88),(30,30,1,15),(10,30,1,15)
);
{ BOXWORLD YAZISININ 'B' KARAKTERI }
iB:array[0..9,0..7] of integer=((1,1,1,1,1,1,1,0),
(1,1,1,1,1,1,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,1,1,1,1,1,0),
(1,1,1,1,1,1,1,0),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,0));
{ BOXWORLD YAZISININ 'O' KARAKTERI }
iO:array[0..9,0..7] of integer=((0,1,1,1,1,1,1,0),
(1,1,1,1,1,1,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,1,1,1,1,1,1),
(0,1,1,1,1,1,1,0));
{ BOXWORLD YAZISININ 'X' KARAKTERI }
iX:array[0..9,0..7] of integer=((1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(0,1,1,0,0,1,1,0),
(0,1,1,0,0,1,1,0),
(0,0,1,1,1,1,0,0),
(0,0,0,1,1,0,0,0),
(0,1,1,1,1,1,1,0),
(0,1,1,0,0,1,1,0),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1));
{ BOXWORLD YAZISININ 'W' KARAKTERI }
iW:array[0..9,0..7] of integer=((1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,1,1,0,1,1),
(1,1,0,1,1,0,1,1),
(1,1,0,1,1,0,1,1),
(0,1,1,0,0,1,1,0),
(0,0,1,0,0,1,0,0));
{ BOXWORLD YAZISININ 'O' KARAKTERI }
iO2:array[0..9,0..7] of integer=((0,1,1,1,1,1,1,0),
(1,1,1,1,1,1,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,1,1,1,1,1,1),
(0,1,1,1,1,1,1,0));
{ BOXWORLD YAZISININ 'R' KARAKTERI }
iR:array[0..9,0..7] of integer=((1,1,1,1,1,1,1,0),
(1,1,1,1,1,1,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,0),
(1,1,0,1,1,0,0,0),
(1,1,0,0,1,1,0,0),
(1,1,0,0,0,1,1,0),
(1,1,0,0,0,0,1,1));
{ BOXWORLD YAZISININ 'L' KARAKTERI }
iL:array[0..9,0..7] of integer=((1,1,0,0,0,0,0,0),
(1,1,0,0,0,0,0,0),
(1,1,0,0,0,0,0,0),
(1,1,0,0,0,0,0,0),
(1,1,0,0,0,0,0,0),
(1,1,0,0,0,0,0,0),
(1,1,0,0,0,0,0,0),
(1,1,0,0,0,0,0,0),
(1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,1));
{ BOXWORLD YAZISININ 'D' KARAKTERI }
iD:array[0..9,0..7] of integer=((1,1,1,1,1,1,1,0),
(1,1,1,1,1,1,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,0,0,0,0,1,1),
(1,1,1,1,1,1,1,1),
(1,1,1,1,1,1,1,0));
label
tekrar_basla,devam_lever,mouse_oku;
var
ks_gr_dn:array [0..3]of integer;
le_gr_dn:array [0..3]of integer;
regs:registers;
m_x,m_y,m_button,mo_x,mo_y,mo_button:integer;
x1,y1,x2,y2:integer;
kx1,ky1,kx2,ky2,kx3,ky3,kx4,ky4,kx5,ky5,kx6,ky6:integer;
K1,K2,K3,K4,K5,K6:BOOLEAN;
cx1,cx2,cx3,cx4,cx5,cx6:integer;
cy1,cy2,cy3,cy4,cy5,cy6:integer;
btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10:boolean;
acilis,btn_ustunde:boolean;
kx,ky:integer;
sx,sy:integer;
yx,yy:integer;
mx,my:integer;
renkkontrol:byte;
s1,s2,s3:string;
gd,gm:integer;
x,y,a,a1,a2,ks:integer;
deg:string;
lever_ata:byte;
tus:char;
cal,oyun_aktif:boolean;
dur:longint;
eniyi_tasima,sizin_tasima:integer;
kx1_boya,kx2_boya,kx3_boya,kx4_boya,kx5_boya,kx6_boya:boolean;
k1_ok,k2_ok,k3_ok,k4_ok,k5_ok,k6_ok:boolean;
bitis,hdf_say:byte;
{ GRAFIK EKRANE GECIS PROCEDUR U }
procedure grafik;
begin
gd:=detect;
initgraph(gd,gm,'c:\progra~1\tpascal\bgi');
if graphresult<>0 then begin write('hata'); readln; halt; end;
end;
function mouseinit:boolean;
var
t:integer;
begin
asm
mov ax,0
int 33h
mov t,ax
end;
if t=0 then
mouseinit:=false else mouseinit:=true;
end;
procedure mousegoster;
begin
asm
mov ax,1
int 33h
end;
end;
procedure mousesakla;
begin
asm
mov ax,2
int 33h
end;
end;
procedure getmousecoords(var x,y,button:integer);
var xx,yy,bb:integer;
begin
asm
mov ax,3
int 33h
mov xx,cx
mov yy,dx
mov bb,bx
end;
x:=xx;
y:=yy;
button:=bb;
end;
{/////////////////// LEVER /////////////////////////////}
{ CIRCLE HEDEFLERININ ICINI GRI VEYA KIRMIZI RENKTE DOLDURUR}
procedure circle_doldur(x,y,r,renk:integer);
var i:integer;
begin
if (getpixel(x+12,y-12)=7) then
begin setfillstyle(1,red);
end
else begin setfillstyle(1,yellow); end;
setcolor(yellow);
fillellipse(x,y,r,r);
end;
procedure lever1;
begin
setfillstyle(1,4);
bar(220,130,440,140);
bar(220,140,230,220);
bar(180,210,230,220);
bar(180,220,190,300);
bar(180,300,230,310);
bar(220,310,230,350);
bar(220,340,470,350);
bar(470,270,480,350);
bar(470,260,520,270);
bar(510,170,520,270);
bar(440,170,510,180);
bar(430,130,440,180);
bar(270,180,390,220);
bar(310,260,350,350);
setcolor(7);
circle(290,280,8); circle_doldur(290,280,8,7);
circle(250,280,8); circle_doldur(250,280,8,7);
circle(290,320,8); circle_doldur(290,320,8,7);
circle(250,320,8); circle_doldur(250,320,8,7);
cx1:=290; cx2:=250; cx3:=290; cx4:=250;
cy1:=280; cy2:=280; cy3:=320; cy4:=320;
k1:=true;k2:=true;k3:=true;k4:=true;
k5:=false;k6:=false;
eniyi_tasima:=27;
hdf_say:=4;
end;
procedure lever2;
begin
setfillstyle(1,4);
bar(200,150,340,160);
bar(200,150,210,290);
bar(200,280,290,290);
bar(280,280,290,360);
bar(240,350,290,360);
bar(240,350,250,450);
bar(240,440,380,450);
bar(370,400,380,450);
bar(370,400,500,410);
bar(490,230,500,410);
bar(440,230,500,240);
bar(440,240,450,320);
bar(330,310,450,320);
bar(330,150,340,320); bar(370,360,410,400);
setcolor(7);
circle(470,260,8); circle_doldur(470,260,8,7);
circle(470,300,8); circle_doldur(470,300,8,7);
circle(470,340,8); circle_doldur(470,340,8,7);
cx1:=470; cx2:=470; cx3:=470;
cy1:=260; cy2:=300; cy3:=340;
k1:=true;k2:=true;k3:=true;
k4:=false;k5:=false;k6:=false;
eniyi_tasima:=31;
hdf_say:=3;
end;
procedure lever3;
begin
setfillstyle(1,4);
bar(240,90,460,100);
bar(240,90,250,140);
bar(120,130,250,140);
bar(120,130,130,350);
bar(120,340,170,350);
bar(160,340,170,470);
bar(160,460,580,470);
bar(570,370,580,470);
bar(490,370,580,380);
bar(490,220,500,380);
bar(450,210,500,220);
bar(450,90,460,210); {}
bar(250,180,290,220); bar(290,140,410,180);
bar(170,180,210,300); bar(210,300,250,340);
bar(210,380,330,420); bar(330,340,370,380);
bar(410,260,450,380); bar(370,220,410,260);
bar(370,420,450,460);
setcolor(7);
circle(270,160,8); circle_doldur(270,160,8,7);
circle(190,320,8); circle_doldur(190,320,8,7);
circle(350,400,8); circle_doldur(350,400,8,7);
circle(430,240,8); circle_doldur(430,240,8,7);
circle(310,280,8); circle_doldur(310,280,8,7);
cx1:=270; cx2:=190; cx3:=350; cx4:=430; cx5:=310;
cy1:=160; cy2:=320; cy3:=400; cy4:=240; cy5:=280;
k1:=true;k2:=true;k3:=true;k4:=true;k5:=true;
k6:=false;
eniyi_tasima:=22;
hdf_say:=5;
end;
procedure lever4;
begin
setfillstyle(1,4);
bar(250,110,470,120);
bar(250,120,260,160);
bar(210,150,260,160);
bar(210,150,220,320);
bar(130,310,210,320);
bar(130,310,140,370);
bar(130,360,430,370);
bar(420,280,430,370);
bar(430,280,470,290);
bar(460,110,470,290);
{} bar(340,120,380,200);
bar(300,240,340,280); bar(340,240,380,320);
setcolor(7);
circle(160,340,8); circle_doldur(160,340,8,7);
circle(200,340,8); circle_doldur(200,340,8,7);
circle(240,340,8); circle_doldur(240,340,8,7);
circle(280,340,8); circle_doldur(280,340,8,7);
circle(320,340,8); circle_doldur(320,340,8,7);
cx1:=160; cx2:=200; cx3:=240; cx4:=280; cx5:=320;
cy1:=340; cy2:=340; cy3:=340; cy4:=340; cy5:=340;
k1:=true;k2:=true;k3:=true;k4:=true;k5:=true;
k6:=false;
eniyi_tasima:=30;
hdf_say:=5;
end;
procedure lever5;
begin
setfillstyle(1,4);
bar(280,120,460,130);
bar(280,120,290,170);
bar(200,160,290,170);
bar(200,160,210,210);
bar(160,200,210,210);
bar(160,200,170,300);
bar(160,290,370,300);
bar(360,290,370,340);
bar(360,330,460,340);
bar(450,250,460,340);
bar(450,250,500,260);
bar(490,200,500,260);
bar(450,200,500,210);
bar(450,120,460,210); bar(330,170,410,210);
setcolor(7);
circle(230,190,8); circle_doldur(230,190,8,7);
circle(230,230,8); circle_doldur(230,230,8,7);
circle(230,270,8); circle_doldur(230,270,8,7);
circle(190,230,8); circle_doldur(190,230,8,7);
circle(190,270,8); circle_doldur(190,270,8,7);
cx1:=230; cx2:=230; cx3:=230; cx4:=190; cx5:=190;
cy1:=190; cy2:=230; cy3:=270; cy4:=230; cy5:=270;
k1:=true;k2:=true;k3:=true;k4:=true;k5:=true;
k6:=false;
eniyi_tasima:=16;
hdf_say:=5;
end;
procedure lever6;
begin
setfillstyle(1,4);
bar(200,130,490,140); bar(290,140,370,180);
bar(200,130,210,340);
bar(160,330,210,340); bar(290,220,410,260);
bar(160,330,170,430); bar(250,260,290,340);
bar(160,420,530,430); bar(410,260,450,340);
bar(530,330,540,430);
bar(490,330,540,340); bar(370,380,410,420);
bar(490,130,500,340);
setcolor(7);
circle(310,280,8); circle_doldur(310,280,8,7);
circle(350,280,8); circle_doldur(350,280,8,7);
circle(390,280,8); circle_doldur(390,280,8,7);
circle(310,320,8); circle_doldur(310,320,8,7);
circle(350,320,8); circle_doldur(350,320,8,7);
circle(390,320,8); circle_doldur(390,320,8,7);
cx1:=310; cx2:=350; cx3:=390; cx4:=310; cx5:=350; cx6:=390;
cy1:=280; cy2:=280; cy3:=280; cy4:=320; cy5:=320; cy6:=320;
k1:=true;k2:=true;k3:=true;k4:=true;k5:=true;k6:=true;
eniyi_tasima:=39;
hdf_say:=6;
end;
procedure lever7;
begin
setfillstyle(1,4);
bar(290,150,470,160);
bar(290,150,300,240);
bar(210,230,300,240);
bar(210,230,220,330);
bar(210,320,340,330);
bar(330,320,340,370);
bar(330,360,430,370);
bar(420,280,430,370);
bar(420,280,470,290);
bar(460,150,470,290);
setcolor(7);
circle(360,260,8); circle_doldur(360,260,8,7);
circle(400,260,8); circle_doldur(400,260,8,7);
circle(320,300,8); circle_doldur(320,300,8,7);
circle(360,300,8); circle_doldur(360,300,8,7);
circle(400,300,8); circle_doldur(400,300,8,7);
cx1:=360; cx2:=400; cx3:=320; cx4:=360; cx5:=400;
cy1:=260; cy2:=260; cy3:=300; cy4:=300; cy5:=300;
k1:=true;k2:=true;k3:=true;k4:=true;k5:=true;
k6:=false;
eniyi_tasima:=13;
hdf_say:=5;
end;
procedure lever8;
begin
setfillstyle(1,4);
bar(200,150,300,160);
bar(200,150,210,200);
bar(160,190,210,200);
bar(160,190,170,290);
bar(160,280,210,290);
bar(200,280,210,330);
bar(200,320,540,330);
bar(530,280,540,330);
bar(530,280,580,290);
bar(570,150,580,290);
bar(440,150,580,160);
bar(440,150,450,240);
bar(290,230,450,240); bar(370,280,410,320);
bar(290,150,300,240);
setcolor(7);
circle(310,260,8); circle_doldur(310,260,8,7);
circle(350,260,8); circle_doldur(350,260,8,7);
circle(390,260,8); circle_doldur(390,260,8,7);
circle(430,260,8); circle_doldur(430,260,8,7);
cx1:=310; cx2:=350; cx3:=390; cx4:=430;
cy1:=260; cy2:=260; cy3:=260; cy4:=260;
k1:=true;k2:=true;k3:=true;k4:=true;k5:=false;
k6:=false;
eniyi_tasima:=18;
hdf_say:=4;
end;
procedure lever9;
begin
setfillstyle(1,4);
bar(290,150,430,160);
bar(290,150,300,200);
bar(210,190,300,200);
bar(210,190,220,290);
bar(210,280,300,290);
bar(290,280,300,370);
bar(290,360,430,370);
bar(420,320,430,370);
bar(420,320,470,330);
bar(460,230,470,330);
bar(420,230,470,240);
bar(420,150,430,240);
setcolor(7);
circle(320,260,8); circle_doldur(320,260,8,7);
circle(400,260,8); circle_doldur(400,260,8,7);
circle(360,220,8); circle_doldur(360,220,8,7);
circle(360,300,8); circle_doldur(360,300,8,7);
cx1:=320; cx2:=400; cx3:=360; cx4:=360;
cy1:=260; cy2:=260; cy3:=220; cy4:=300;
k1:=true;k2:=true;k3:=true;k4:=true;
k5:=false;k6:=false;
eniyi_tasima:=7;
hdf_say:=4;
end;
procedure lever10;
begin
setfillstyle(1,4);
bar(290,120,390,130);
bar(290,130,300,210);
bar(250,200,300,210);
bar(250,200,260,290);
bar(210,280,260,290);
bar(210,280,220,380);
bar(210,370,470,380);
bar(460,280,470,380);
bar(420,280,470,290);
bar(420,200,430,290);
bar(380,200,430,210);
bar(380,120,390,210);
bar(300,290,340,330);
setcolor(7);
circle(320,150,8); circle_doldur(320,150,8,7);
circle(360,150,8); circle_doldur(360,150,8,7);
circle(360,190,8); circle_doldur(360,190,8,7);
circle(400,230,8); circle_doldur(400,230,8,7);
cx1:=320; cx2:=360; cx3:=360; cx4:=400;
cy1:=150; cy2:=150; cy3:=190; cy4:=230;
k1:=true;k2:=true;k3:=true;k4:=true;
k5:=false;k6:=false;
eniyi_tasima:=16;
hdf_say:=4;
end;
{/////////////////////LEVER //////////////////////////////////////}
{ ISTENILEN KORDINATLARA PENCERE CIZER }
procedure pencere(px1,py1,px2,py2:integer);
begin
setcolor(15); moveto(px1,py2); lineto(px1,py1); lineto(px2,py1);
setcolor(88); lineto(px2,py2); lineto(px1,py2);
setcolor(15); moveto(px1+3,py2-4); lineto(px2-4,py2-4); lineto(px2-4,py1+4);
setcolor(88); lineto(px1+3,py1+4); lineto(px1+4,py2-4);
setcolor(7);
for a:=1 to 3 do
begin
moveto(px1+a,py2-a); lineto(px1+a,py1+a); lineto(px2-a,py1+a);
lineto(px2-a,py2-a); lineto(px1+a,py2-a);
moveto(px1+a,py2-a); lineto(px2-a,py2-a); lineto(px2-a,py1+a);
lineto(px1+a,py1+a); lineto(px1+a,py2-a);
end;
end;
procedure cerceve;
begin
setcolor(white);
line(100,75,610,75); line(100,75,100,479);
line(105,474,605,474); line(605,80,605,474);
setcolor(88);
line(100,479,610,479); line(610,75,610,479);
line(105,80,605,80); line(105,80,105,474);
setcolor(7);
rectangle(101,76,609,478); rectangle(102,77,608,477);
rectangle(103,78,607,476); rectangle(104,79,606,475);
end;
{ SECILEN LEVERI TANIR }
procedure lever_goster;
begin
mousesakla;
if lever_ata=0 then lever1;
if lever_ata=1 then lever2;
if lever_ata=2 then lever3;
if lever_ata=3 then lever4;
if lever_ata=4 then lever5;
if lever_ata=5 then lever6;
if lever_ata=6 then lever7;
if lever_ata=7 then lever8;
if lever_ata=8 then lever9;
if lever_ata=9 then lever10;
mousegoster;
end;
{ TANINAN LEVER E AIT BUTONLARI DOSER }
procedure butonlari_dose;
begin mousesakla;
pencere(0,0,640,52);
for x:=0 to 9 do
begin
if lever_ata<>x then
begin
for y:=0 to 14 do
begin
if buton_pasif[y,2]=0 then
moveto(buton_pasif[y,0]+x*63+5,buton_pasif[y,1]+5)
else begin setcolor(buton_pasif[y,3]);
lineto(buton_pasif[y,0]+x*63+5,buton_pasif[y,1]+5);
end;
end;
setfillstyle(1,7); bar(3+x*63+5,3+5,57+x*63+5,37+5);
setcolor(88); outtextxy(10+x*63+5,15+5,lever_yaz[x]);
setcolor(15); outtextxy(10+x*63+6,15+6,lever_yaz[x]);
end
else
begin
setfillstyle(1,7); bar(4+x*63+5,4+5,57+x*63+5,37+5);
setcolor(15); outtextxy(10+x*63+5,15+5,lever_yaz[x]);
setcolor(88); outtextxy(10+x*63+6,15+6,lever_yaz[x]); end;
end;
mousegoster;
END;
{ SECILEN BUTON DISINDAKI AKTIF BUTONLARI PASIF YAPAR}
procedure butonlari_pasifyap;
begin mousesakla;
setfillstyle(1,BLACK); bar(1,1,640,480);
for y:=0 to 17 do
begin
if buton_aktif[y,2]=0 then
moveto(buton_aktif[y,0]+lever_ata*63+5,buton_aktif[y,1]+5)
else
begin
setcolor(buton_aktif[y,3]);
lineto(buton_aktif[y,0]+lever_ata*63+5,buton_aktif[y,1]+5);
end;
end;
setfillstyle(1,7); bar(4+lever_ata*63+5,4+5,57+lever_ata*63+5,37+5);
mousegoster;
end;
{ MOUSE ILE UZERINA GELINEN BUTONLARI YARI AKTIF YAPAR }
procedure butonlari_yari_aktifyap;
begin mousesakla;
for y:=0 to 9 do
begin
if buton_yari_aktif[y,2]=0 then
moveto(buton_yari_aktif[y,0]+lever_ata*63+5,buton_yari_aktif[y,1]+5)
else
begin
setcolor(buton_yari_aktif[y,3]);
lineto(buton_yari_aktif[y,0]+lever_ata*63+5,buton_yari_aktif[y,1]+5);
end;
end;
btn_ustunde:=false; mousegoster;
end;
{ YON TUSLARI ILE KORDINATLARI DEGISTIRILEN KASALARIN
YERINI DEGISTIRIR }
procedure kasa_oynat;
begin bitis:=0; mousesakla;
if k1=true then
begin
if getpixel(cx1,cy1)=red then inc(bitis);
for ks:=0 to 44 do begin
if kasa[ks,2]=0 then
moveto(kasa[ks,0]+kx1,kasa[ks,1]+ky1)
else
begin
setcolor(kasa[ks,3]);
lineto(kasa[ks,0]+kx1,kasa[ks,1]+ky1);
end;
end;
end;
if k2=true then
begin
if getpixel(cx2,cy2)=red then inc(bitis);
for ks:=0 to 44 do
begin
if kasa[ks,2]=0 then
moveto(kasa[ks,0]+kx2,kasa[ks,1]+ky2)
else
begin
setcolor(kasa[ks,3]);
lineto(kasa[ks,0]+kx2,kasa[ks,1]+ky2);
end;
end;
end;
if k3=true then
begin
if getpixel(cx3,cy3)=red then inc(bitis);
for ks:=0 to 44 do
begin
if kasa[ks,2]=0 then
moveto(kasa[ks,0]+kx3,kasa[ks,1]+ky3)
else
begin
setcolor(kasa[ks,3]);
lineto(kasa[ks,0]+kx3,kasa[ks,1]+ky3);
end;
end;
end;
if k4=true then
begin
if getpixel(cx4,cy4)=red then inc(bitis);
for ks:=0 to 44 do
begin
if kasa[ks,2]=0 then
moveto(kasa[ks,0]+kx4,kasa[ks,1]+ky4)
else
begin
setcolor(kasa[ks,3]);
lineto(kasa[ks,0]+kx4,kasa[ks,1]+ky4);
end;
end;
end;
if k5=true then
begin
if getpixel(cx5,cy5)=red then inc(bitis);
for ks:=0 to 44 do
begin
if kasa[ks,2]=0 then
moveto(kasa[ks,0]+kx5,kasa[ks,1]+ky5)
else
begin
setcolor(kasa[ks,3]);
lineto(kasa[ks,0]+kx5,kasa[ks,1]+ky5);
end;
end;
end;
if k6=true then
begin
if getpixel(cx6,cy6)=red then inc(bitis);
for ks:=0 to 44 do
begin
if kasa[ks,2]=0 then
moveto(kasa[ks,0]+kx6,kasa[ks,1]+ky6)
else
begin
setcolor(kasa[ks,3]);
lineto(kasa[ks,0]+kx6,kasa[ks,1]+ky6);
end;
end;
end;
if bitis=hdf_say then
begin
for a:=0 to 63 do
begin
setrgbpalette(yellow,0,a,a);
SETCOLOR(yellow);
outtextxy(150,60,'TEBRiKLER BiR SONRAKi LEVER e GE€EBiLiRSiNiZ');
end;
a:=0; randomize;
repeat
inc(a);
sound(random(1000)*5); delay(1000); nosound;
until (keypressed) or (a=150);
TUS:=#13;
end;
mousegoster;
end;
{ KASALARIN ADIMINA G™RE PUAN ALINMASI }
procedure puan;
begin
kasa_oynat;
setfillstyle(1,BLACK);
bar(10,100,85,160);
bar(10,200,85,280);
pencere(100,75,600,480);
pencere(1,75,95,175);
setcolor(yellow); settextstyle(2,0,4);
outtextxy(25,85, ' ideal ');
outtextxy(12,100,' Adim Sayisi');
setcolor(white); settextstyle(2,0,20);
str(eniyi_tasima,deg);
outtextxy(30,120,deg);
pencere(1,190,95,290);
setcolor(yellow); settextstyle(2,0,4);
outtextxy(27,200,' Sizin ');
outtextxy(05,215,' Adim Sayiniz ');
str(sizin_tasima,deg);
setcolor(white); settextstyle(2,0,20);
outtextxy(30,230,deg);
settextstyle(0,0,0);
pencere(1,305,95,430);
setcolor(yellow); settextstyle(2,0,4);
outtextxy(10,325, 'Hareket > ');
outtextxy(20,340, ' Y”n Tuslari ');
outtextxy(10,360,'Geri > END ');
outtextxy(10,380,'Lever > ENTER ');
outtextxy(10,400,'€ikis > ESC ');
settextstyle(0,0,0);
pencere(100,75,600,480);
pencere(605,75,640,480);
SETCOLOR(yellow);
SETTEXTSTYLE(1,0,1);
outtextxy(616,90, 'T');
outtextxy(615,140,'A');
outtextxy(615,190,'N');
outtextxy(615,240,'S');
outtextxy(617,290,'A');
outtextxy(615,340,'L');
outtextxy(617,390,'I');
outtextxy(615,440,'€');
SETTEXTSTYLE(2,0,4);
setcolor(11); outtextxy(7,465,'Kadir Göksu');
SETTEXTSTYLE(0,0,0);
end;
{ /////////////// programin baslangici \\\\\\\\\\\\\\\\\\\\\\\ }
begin
clrscr;
lever_ata:=15;
if not(mouseinit) then
begin
writeln('mouseinit yok');
halt;
end;
{Grafik Moda ge‡}
grafik;
mousegoster;
getmousecoords(m_x,m_y,m_button);
mousesakla;
setfillstyle(1,BLACK); bar(1,1,640,480);
mousegoster;
acilis:=true;
tekrar_basla:
oyun_aktif:=false;
lever_ata:=15;
mo_x:=m_x;
mo_y:=m_y;
mo_button:=m_button;
{ butonlarin ekrana cizilmesi }
butonlari_dose;
{baslangictaki boxworld yazisinin yazilmasi}
if acilis=true then
begin
acilis:=false;
mousesakla;
setfillstyle(1,yellow);
for A1:=0 to 9 do
for A2:=0 to 7 do
begin
if iB[a1,a2]=1 then bar(50+a2*05 ,200+a1*05,55+a2*05 ,205+a1*05);
if iO[a1,a2]=1 then bar(120+a2*05,200+a1*05,125+a2*05,205+a1*05);
if iX[a1,a2]=1 then bar(190+a2*05,200+a1*05,195+a2*05,205+a1*05);
if iW[a1,a2]=1 then bar(260+a2*05,200+a1*05,265+a2*05,205+a1*05);
if iO2[a1,a2]=1 then bar(330+a2*05,200+a1*05,335+a2*05,205+a1*05);
if iR[a1,a2]=1 then bar(400+a2*05,200+a1*05,405+a2*05,205+a1*05);
if iL[a1,a2]=1 then bar(470+a2*05,200+a1*05,475+a2*05,205+a1*05);
if iD[a1,a2]=1 then bar(540+a2*05,200+a1*05,545+a2*05,205+a1*05);
end;
pencere(30,180,600,275);
mousegoster;
end;
repeat
getmousecoords(m_x,m_y,m_button);
if (mo_x<>m_x) or (mo_y<>m_y) or (mo_button<>m_button) then
begin
mo_x:=m_x; mo_y:=m_y; mo_button:=m_button;
end;
{ BUTON YARI AKTIF IKEN UZERINDEN CIKILDIGINDA PASIF OLMASI }
if mo_button=0 then
begin
if ((mo_x>2) and (mo_x<636) and (mo_y>2) and (mo_y<6)) or
((mo_x>2) and (mo_x<4) and (mo_y>2) and (mo_y<53)) or
((mo_x>2) and (mo_x<636) and (mo_y>47) and (mo_y<53)) or
((mo_x>632) and (mo_x<636) and (mo_y>2) and (mo_y<53)) then
begin
btn1:=false; btn2:=false;btn3:=false;btn4:=false;btn5:=false;
btn6:=false; btn7:=false;btn8:=false;btn9:=false;btn10:=false;
lever_ata:=15; butonlari_yari_aktifyap; butonlari_dose;
end;
if (mo_x>4) and (mo_x<66)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=0;
if btn1=false then
begin
butonlari_dose;
butonlari_yari_aktifyap;
end;
btn1:=true; btn2:=false;btn3:=false;btn4:=false;btn5:=false;
btn6:=false; btn7:=false;btn8:=false;btn9:=false;btn10:=false;
end;
{ BUTONLARIN KOSE KORDINATLARI }
if (mo_x>67) and (mo_x<128)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=1;
if btn2=false then
begin
butonlari_dose;
butonlari_yari_aktifyap;
end;
btn1:=false; btn2:=true;btn3:=false;btn4:=false;btn5:=false;
btn6:=false; btn7:=false;btn8:=false;btn9:=false;btn10:=false;
end;
if (mo_x>130) and (mo_x<192) and (mo_y>6) and (mo_y<48) then
begin lever_ata:=2;
if btn3=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn1:=false; btn2:=false;btn3:=true;btn4:=false;btn5:=false;
btn6:=false; btn7:=false;btn8:=false;btn9:=false;btn10:=false;
end;
if (mo_x>193) and (mo_x<255)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=3;
if btn4=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn1:=false; btn2:=false;btn3:=false;btn4:=true;btn5:=false;
btn6:=false; btn7:=false;btn8:=false;btn9:=false;btn10:=false;
end;
if (mo_x>256) and (mo_x<318)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=4;
if btn5=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn1:=false; btn2:=false;btn3:=false;btn4:=false;btn5:=true;
btn6:=false; btn7:=false;btn8:=false;btn9:=false;btn10:=false;
end;
if (mo_x>319) and (mo_x<381)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=5;
if btn6=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn1:=false; btn2:=false;btn3:=false;btn4:=false;btn5:=false;
btn6:=true; btn7:=false;btn8:=false;btn9:=false;btn10:=false;
end;
if (mo_x>382) and (mo_x<444)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=6;
if btn7=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn1:=false; btn2:=false;btn3:=false;btn4:=false;btn5:=false;
btn6:=false; btn7:=true;btn8:=false;btn9:=false;btn10:=false;
end;
if (mo_x>445) and (mo_x<507)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=7;
if btn8=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn1:=false; btn2:=false;btn3:=false;btn4:=false;btn5:=false;
btn6:=false; btn7:=false;btn8:=true;btn9:=false;btn10:=false;
end;
if (mo_x>508) and (mo_x<570)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=8;
if btn9=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn1:=false; btn2:=false;btn3:=false;btn4:=false;btn5:=false;
btn6:=false; btn7:=false;btn8:=false;btn9:=true;btn10:=false;
end;
if (mo_x>571) and (mo_x<632)and (mo_y>6) and (mo_y<48) then
begin lever_ata:=9;
if btn10=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn1:=false; btn2:=false;btn3:=false;btn4:=false;btn5:=false;
btn6:=false; btn7:=false;btn8:=false;btn9:=false;btn10:=true;
end;
end;
{/////////////////////////////////////////////
//////////////////////////////////////////////////////////////////}
if mo_button=1 then
begin
{ BUTONA TIKLANDIGINDA MOUSE NIN SOL TUSUNUN BIRAKILMASI BEKLENIR }
repeat
getmousecoords(m_x,m_y,m_button);
if (mo_x<>m_x) or (mo_y<>m_y) or (mo_button<>m_button) then
begin
mo_x:=m_x; mo_y:=m_y; mo_button:=m_button;
end;
until mo_button=0;
if (mo_x>4) and (mo_x<66)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then
begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever1;
x1:=272; y1:=225; x2:=x1+30; y2:=y1+30;
kx1:=230; ky1:=181; kx2:=310; ky2:=221;
kx3:=390; ky3:=261; kx4:=430; ky4:=221;
kasa_oynat;
lever_ata:=0;
butonlari_pasifyap; butonlari_dose; oyun_aktif:=true;
sizin_tasima:=0; puan;
end;
end;
if (mo_x>67) and (mo_x<128)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever2;
x1:=212; y1:=165; x2:=x1+30; y2:=y1+30;
kx1:=250; ky1:=200; kx2:=250; ky2:=240; kx3:=290; ky3:=200;
kasa_oynat;
lever_ata:=1;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
if btn2=false then
begin
butonlari_yari_aktifyap;
butonlari_dose;
end;
btn2:=true;
sizin_tasima:=0; puan;
end;
end;
if (mo_x>130) and (mo_x<192) and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever3;
x1:=533; y1:=385; x2:=x1+30; y2:=y1+30;
kx1:=250; ky1:=220; kx2:=330; ky2:=220;
kx5:=290; ky5:=260;
kx3:=250; ky3:=300; kx4:=330; ky4:=300;
kasa_oynat;
lever_ata:=2;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
sizin_tasima:=0;
puan;
end;
end;
if (mo_x>193) and (mo_x<255)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever4;
x1:=423; y1:=125; x2:=x1+30; y2:=y1+30;
kx1:=220; ky1:=200; kx2:=300; ky2:=200; kx3:=380; ky3:=200;
kx4:=260; ky4:=240; kx5:=260; ky5:=280;
kasa_oynat;
lever_ata:=3;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
sizin_tasima:=0;
puan;
end;
end;
if (mo_x>256) and (mo_x<318)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then
begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever5;
x1:=452; y1:=215; x2:=x1+30; y2:=y1+30;
kx1:=290; ky1:=170;
kx2:=250; ky2:=210; kx3:=330; ky3:=210;
kx4:=290; ky4:=250; kx5:=370; ky5:=250;
kasa_oynat;
lever_ata:=4;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
sizin_tasima:=0;
puan;
end;
end;
if (mo_x>319) and (mo_x<381)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever6;
x1:=452; y1:=385; x2:=x1+30; y2:=y1+30;
kx1:=210; ky1:=220; kx2:=330; ky2:=180; kx3:=450; ky3:=220;
kx4:=210; ky4:=340; kx5:=330; ky5:=340; kx6:=450; ky6:=340;
kasa_oynat;
lever_ata:=5;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
sizin_tasima:=0;
puan;
end;
end;
if (mo_x>382) and (mo_x<444)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever7;
x1:=223; y1:=245; x2:=x1+30; y2:=y1+30;
kx1:=300; ky1:=201; kx2:=340; ky2:=201; kx3:=380; ky3:=201;
kx4:=300; ky4:=241; kx5:=260; ky5:=281;
kasa_oynat;
lever_ata:=6;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
sizin_tasima:=0;
puan;
end;
end;
if (mo_x>445) and (mo_x<507)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever8;
x1:=452; y1:=285; x2:=x1+30; y2:=y1+30;
kx1:=210; ky1:=200; kx2:=250; ky2:=240; kx3:=450; ky3:=200;
kx4:=490; ky4:=240;
kasa_oynat;
lever_ata:=7;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
sizin_tasima:=0;
puan;
end;
end;
if (mo_x>508) and (mo_x<570)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever9;
x1:=422; y1:=285; x2:=x1+30; y2:=y1+30;
kx1:=300; ky1:=200; kx2:=340; ky2:=240;
kx3:=340; ky3:=280; kx4:=380; ky4:=280;
kasa_oynat;
lever_ata:=8;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
sizin_tasima:=0;
puan;
end;
end;
if (mo_x>571) and (mo_x<632)and (mo_y>6) and (mo_y<48) then
begin
if mo_button=0 then begin
setfillstyle(1,BLACK); bar(111,90,580,470);
lever10;
x1:=302; y1:=335; x2:=x1+30; y2:=y1+30;
kx1:=340; ky1:=210; kx2:=300; ky2:=250;
kx3:=340; ky3:=290; kx4:=380; ky4:=290;
kasa_oynat;
lever_ata:=9;
if mo_button=0 then
begin
butonlari_pasifyap;
butonlari_dose;
end;
oyun_aktif:=true;
sizin_tasima:=0;
puan;
end;
end;
end;
{ programn her hangi bir annda esc ile ckss saglar }
if keypressed then
begin
tus:=readkey;
if tus=#27 then halt;
end;
until oyun_aktif=true;
{///////////////////////////////////////////////////////////////////////////}
{ LEE NIN BIR TUSA BASILANA KADAR OYNAMASI }
repeat
repeat
lever_goster;
getmousecoords(m_x,m_y,m_button);
if (mo_x<>m_x) or (mo_y<>m_y) or (mo_button<>m_button) then
begin
mo_x:=m_x; mo_y:=m_y; mo_button:=m_button;
end;
if (mo_x>x1-5) and (mo_x<x1+35) and (mo_y>y1-5) and (mo_y<y1+35) then
mousesakla else mousegoster;
setfillstyle(1,BLACK);
bar(x1+2,y1-3,x1+30,y1+33);
dur:=0;
setcolor(yellow);
repeat
inc(dur);
for a:=0 to 39 do
begin
if (lee_geri[a,2]=0) and (lee_geri[a,2]=0) then
moveto(x1+lee_geri[a,0],lee_geri[a,1]+y1-4)
else
lineto(x1+lee_geri[a,0],lee_geri[a,1]+y1-4);
if (lee_geri[a,2]=0) and (lee_geri[a,3]=1) and (lee_geri[a,4]=0) then
circle(x1+lee_geri[a,0],lee_geri[a,1]+y1-4,10)
else
if (lee_geri[a,2]=0) and (lee_geri[a,3]=1) and (lee_geri[a,4]=1) then
circle(x1+lee_geri[a,0],lee_geri[a,1]+y1-4,3)
end;
until (dur=250) or (keypressed);
if keypressed then
begin
tus:=readkey;
if (tus=#75) or (tus=#77) or (tus=#80) or (tus=#72) then
goto devam_lever;
if tus=#13 then goto tekrar_basla;
if tus=#27 then halt;
end;
getmousecoords(m_x,m_y,m_button);
if (mo_x<>m_x) or (mo_y<>m_y) or (mo_button<>m_button) then
begin
mo_x:=m_x;
mo_y:=m_y;
mo_button:=m_button;
end;
if (mo_x>x1-5) and (mo_x<x1+35) and (mo_y>y1-5) and (mo_y<y1+35) then
mousesakla
else
mousegoster;
setfillstyle(1,BLACK); bar(x1+2,y1-3,x1+30,y1+33);
dur:=0; setcolor(yellow);
repeat
inc(dur);
for a:=0 to 41 do
begin
if (lee_ileri[a,2]=0) and (lee_ileri[a,2]=0) then
moveto(x1+lee_ileri[a,0],lee_ileri[a,1]+y1-4)
else
lineto(x1+lee_ileri[a,0],lee_ileri[a,1]+y1-4);
if (lee_ileri[a,2]=0) and (lee_ileri[a,3]=1) and (lee_ileri[a,4]=0) then
circle(x1+lee_ileri[a,0],lee_ileri[a,1]+y1-4,10)
else
if (lee_ileri[a,2]=0) and (lee_ileri[a,3]=1) and (lee_ileri[a,4]=1) then
circle(x1+lee_ileri[a,0],lee_ileri[a,1]+y1-4,3);
end;
until (dur=250) or (keypressed);
if keypressed then
begin
tus:=readkey;
if (tus=#75) or (tus=#77) or (tus=#80) or (tus=#72) then goto devam_lever;
if tus=#13 then goto tekrar_basla;
if tus=#27 then halt;
end;
until keypressed;
tus:=readkey;
devam_lever:
if tus=#13 then oyun_aktif:=false;
setfillstyle(1,BLACK);
bar(x1+2,y1-3,x1+34,y1+33);
{ LEE NIN SOL A GITMASI }
if tus=#75 then
begin
if (getpixel((x1-7),y1+1)=7) and (getpixel((x1-7)-40,y1+1)=BLACK) then
begin
inc(sizin_tasima);
puan;
cal:=true;
le_gr_dn[0]:=x1; le_gr_dn[1]:=y1; le_gr_dn[2]:=1;
if ((x1-7)-40+10>kx1)and((x1-7)-40-10<kx1)and((y1+1)+10>ky1)and((y1+1)-10<ky1) then
begin
ks_gr_dn[0]:=kx1;
ks_gr_dn[1]:=ky1;
ks_gr_dn[2]:=1;
ks_gr_dn[3]:=1;
kx1:=kx1-40;
x1:=x1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1-7)-40+10>kx2)and((x1-7)-40-10<kx2)and((y1+1)+10>ky2)and((y1+1)-10<ky2) then
begin
ks_gr_dn[0]:=kx2;
ks_gr_dn[1]:=ky2;
ks_gr_dn[2]:=2;
ks_gr_dn[3]:=1;
kx2:=kx2-40;
x1:=x1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1-7)-40+10>kx3)and((x1-7)-40-10<kx3)and((y1+1)+10>ky3)and((y1+1)-10<ky3) then
begin
ks_gr_dn[0]:=kx3;
ks_gr_dn[1]:=ky3;
ks_gr_dn[2]:=3;
ks_gr_dn[3]:=1;
kx3:=kx3-40;
x1:=x1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1-7)-40+10>kx4)and((x1-7)-40-10<kx4)and((y1+1)+10>ky4)and((y1+1)-10<ky4) then
begin
ks_gr_dn[0]:=kx4;
ks_gr_dn[1]:=ky4;
ks_gr_dn[2]:=4;
ks_gr_dn[3]:=1;
kx4:=kx4-40;
x1:=x1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1-7)-40+10>kx5)and((x1-7)-40-10<kx5)and((y1+1)+10>ky5)and((y1+1)-10<ky5) then
begin
ks_gr_dn[0]:=kx5;
ks_gr_dn[1]:=ky5;
ks_gr_dn[2]:=5;
ks_gr_dn[3]:=1;
kx5:=kx5-40;
x1:=x1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1-7)-40+10>kx6)and((x1-7)-40-10<kx6)and((y1+1)+10>ky6)and((y1+1)-10<ky6) then
begin
ks_gr_dn[0]:=kx6;
ks_gr_dn[1]:=ky6;
ks_gr_dn[2]:=6;
ks_gr_dn[3]:=1;
kx6:=kx6-40;
x1:=x1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
if getpixel(kx6+14,y1+14)=7 then
kx6_boya:=true;
end;
end;
kasa_oynat;
if (getpixel((x1-7),y1+1)=BLACK) then
x1:=x1-40;
end;
{ LEE NIN SAG A GITMASI }
if tus=#77 then
begin
if (getpixel((x1+36)+8,y1+1)=7) and (getpixel((x1+36)+48,y1+1)=BLACK) then
begin
inc(sizin_tasima);
puan; cal:=true;
le_gr_dn[0]:=x1;
le_gr_dn[1]:=y1;
le_gr_dn[2]:=1;
if ((x1+36)+3+10>kx1)and((x1+36)+3-10<kx1)and((y1-1)+10>ky1)and((y1+1)-10<ky1) then
begin
ks_gr_dn[0]:=kx1;
ks_gr_dn[1]:=ky1;
ks_gr_dn[2]:=1;
ks_gr_dn[3]:=1;
kx1:=kx1+40;
x1:=x1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+36)+3+10>kx2)and((x1+36)+3-10<kx2)and((y1-1)+10>ky2)and((y1+1)-10<ky2) then
begin
ks_gr_dn[0]:=kx2;
ks_gr_dn[1]:=ky2;
ks_gr_dn[2]:=2;
ks_gr_dn[3]:=1;
kx2:=kx2+40;
x1:=x1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+36)+3+10>kx3)and((x1+36)+3-10<kx3)and((y1-1)+10>ky3)and((y1+1)-10<ky3) then
begin
ks_gr_dn[0]:=kx3;
ks_gr_dn[1]:=ky3;
ks_gr_dn[2]:=3;
ks_gr_dn[3]:=1;
kx3:=kx3+40;
x1:=x1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+36)+3+10>kx4)and((x1+36)+3-10<kx4)and((y1-1)+10>ky4)and((y1+1)-10<ky4) then
begin
ks_gr_dn[0]:=kx4;
ks_gr_dn[1]:=ky4;
ks_gr_dn[2]:=4;
ks_gr_dn[3]:=1;
kx4:=kx4+40;
x1:=x1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+36)+3+10>kx5)and((x1+36)+3-10<kx5)and((y1-1)+10>ky5)and((y1+1)-10<ky5) then
begin
ks_gr_dn[0]:=kx5;
ks_gr_dn[1]:=ky5;
ks_gr_dn[2]:=5;
ks_gr_dn[3]:=1;
kx5:=kx5+40;
x1:=x1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+36)+3+10>kx6)and((x1+36)+3-10<kx6)and((y1-1)+10>ky6)and((y1+1)-10<ky6) then
begin
ks_gr_dn[0]:=kx6;
ks_gr_dn[1]:=ky6;
ks_gr_dn[2]:=6;
ks_gr_dn[3]:=1;
kx6:=kx6+40;
x1:=x1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
end;
kasa_oynat;
if (getpixel((x1+36)+8,y1+1)=BLACK) then
x1:=x1+40;
end;
{ LEE NIN UST E GITMASI }
if tus=#72 then
begin
setcolor(red);
if (getpixel(x1+3,(y1-3)-8)=7) and (getpixel((x1+3),(y1-3)-48)=BLACK) then
begin
inc(sizin_tasima);
puan;
cal:=true;
le_gr_dn[0]:=x1;
le_gr_dn[1]:=y1;
le_gr_dn[2]:=1;
if ((x1+3)+10>kx1)and((x1+3)-10<kx1)and((y1-3)-40+10>ky1)and((y1-3)-40-10<ky1) then
begin
ks_gr_dn[0]:=kx1;
ks_gr_dn[1]:=ky1;
ks_gr_dn[2]:=1;
ks_gr_dn[3]:=1;
ky1:=ky1-40;
y1:=y1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+3)+10>kx2)and((x1+3)-10<kx2)and((y1-3)-40+10>ky2)and((y1-3)-40-10<ky2) then
begin
ks_gr_dn[0]:=kx2;
ks_gr_dn[1]:=ky2;
ks_gr_dn[2]:=2;
ks_gr_dn[3]:=1;
ky2:=ky2-40;
y1:=y1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+3)+10>kx3)and((x1+3)-10<kx3)and((y1-3)-40+10>ky3)and((y1-3)-40-10<ky3) then
begin
ks_gr_dn[0]:=kx3;
ks_gr_dn[1]:=ky3;
ks_gr_dn[2]:=3;
ks_gr_dn[3]:=1;
ky3:=ky3-40;
y1:=y1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+3)+10>kx4)and((x1+3)-10<kx4)and((y1-3)-40+10>ky4)and((y1-3)-40-10<ky4) then
begin
ks_gr_dn[0]:=kx4;
ks_gr_dn[1]:=ky4;
ks_gr_dn[2]:=4;
ks_gr_dn[3]:=1;
ky4:=ky4-40;
y1:=y1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+3)+10>kx5)and((x1+3)-10<kx5)and((y1-3)-40+10>ky5)and((y1-3)-40-10<ky5) then
begin
ks_gr_dn[0]:=kx5;
ks_gr_dn[1]:=ky5;
ks_gr_dn[2]:=5;
ks_gr_dn[3]:=1;
ky5:=ky5-40;
y1:=y1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+3)+10>kx6)and((x1+3)-10<kx6)and((y1-3)-40+10>ky6)and((y1-3)-40-10<ky6) then
begin
ks_gr_dn[0]:=kx6;
ks_gr_dn[1]:=ky6;
ks_gr_dn[2]:=6;
ks_gr_dn[3]:=1;
ky6:=ky6-40;
y1:=y1-40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
end;
kasa_oynat;
if (getpixel(x1+3,(y1-3)-8)=BLACK) then
y1:=y1-40;
end;
{ LEE NIN ALT A GITMASI }
if tus=#80 then
begin
if (getpixel(x1+4,(y1-3)+44)=7) and (getpixel((x1+4),(y1-3)+84)=BLACK) then
begin
inc(sizin_tasima);
puan;
cal:=true;
le_gr_dn[0]:=x1;
le_gr_dn[1]:=y1;
le_gr_dn[2]:=1;
if ((x1+4)+10>kx1)and((x1+4)-10<kx1)and((y1-4)+40+10>ky1)and((y1-4)+40-10<ky1) then
begin
ks_gr_dn[0]:=kx1;
ks_gr_dn[1]:=ky1;
ks_gr_dn[2]:=1;
ks_gr_dn[3]:=1;
ky1:=ky1+40;
y1:=y1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+4)+10>kx2)and((x1+4)-10<kx2)and((y1-4)+40+10>ky2)and((y1-4)+40-10<ky2) then
begin
ks_gr_dn[0]:=kx2;
ks_gr_dn[1]:=ky2;
ks_gr_dn[2]:=2;
ks_gr_dn[3]:=1;
ky2:=ky2+40;
y1:=y1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+4)+10>kx3)and((x1+4)-10<kx3)and((y1-4)+40+10>ky3)and((y1-4)+40-10<ky3) then
begin
ks_gr_dn[0]:=kx3;
ks_gr_dn[1]:=ky3;
ks_gr_dn[2]:=3;
ks_gr_dn[3]:=1;
ky3:=ky3+40;
y1:=y1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+4)+10>kx4)and((x1+4)-10<kx4)and((y1-4)+40+10>ky4)and((y1-4)+40-10<ky4) then
begin
ks_gr_dn[0]:=kx4;
ks_gr_dn[1]:=ky4;
ks_gr_dn[2]:=4;
ks_gr_dn[3]:=1;
ky4:=ky4+40;
y1:=y1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+4)+10>kx5)and((x1+4)-10<kx5)and((y1-4)+40+10>ky5)and((y1-4)+40-10<ky5) then
begin
ks_gr_dn[0]:=kx5;
ks_gr_dn[1]:=ky5;
ks_gr_dn[2]:=5;
ks_gr_dn[3]:=1;
ky5:=ky5+40;
y1:=y1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
if ((x1+4)+10>kx6)and((x1+4)-10<kx6)and((y1-4)+40+10>ky6)and((y1-4)+40-10<ky6) then
begin
ks_gr_dn[0]:=kx6;
ks_gr_dn[1]:=ky6;
ks_gr_dn[2]:=6;
ks_gr_dn[3]:=1;
ky6:=ky6+40;
y1:=y1+40;
setfillstyle(1,BLACK);
bar(x1-1,y1-3,x1+36,y1+34);
end;
end;
kasa_oynat;
if (getpixel(x1+4,(y1-4)+44)=BLACK) then
y1:=y1+40;
end;
if tus=#79 then
begin
if (ks_gr_dn[2]=1) and (ks_gr_dn[3]=1)then
begin
setfillstyle(1,black);
bar(kx1,ky1,kx1+40,ky1+40);
kx1:=ks_gr_dn[0];
ky1:=ks_gr_dn[1];
x1:=le_gr_dn[0];
y1:=le_gr_dn[1];
dec(sizin_tasima);
kasa_oynat;
puan;
ks_gr_dn[3]:=0;
end;
if (ks_gr_dn[2]=2) and (ks_gr_dn[3]=1) then
begin
setfillstyle(1,black);
bar(kx2,ky2,kx2+40,ky2+40);
kx2:=ks_gr_dn[0];
ky2:=ks_gr_dn[1];
x1:=le_gr_dn[0];
y1:=le_gr_dn[1];
dec(sizin_tasima);
kasa_oynat;
puan;
ks_gr_dn[3]:=0;
end;
if (ks_gr_dn[2]=3) and (ks_gr_dn[3]=1) then
begin
setfillstyle(1,black);
bar(kx3,ky3,kx3+40,ky3+40);
kx3:=ks_gr_dn[0];
ky3:=ks_gr_dn[1];
x1:=le_gr_dn[0];
y1:=le_gr_dn[1];
dec(sizin_tasima);
kasa_oynat;
puan;
ks_gr_dn[3]:=0;
end;
if (ks_gr_dn[2]=4) and (ks_gr_dn[3]=1) then
begin
setfillstyle(1,black);
bar(kx4,ky4,kx4+40,ky4+40);
kx4:=ks_gr_dn[0];
ky4:=ks_gr_dn[1];
x1:=le_gr_dn[0];
y1:=le_gr_dn[1];
dec(sizin_tasima);
kasa_oynat;
puan;
ks_gr_dn[3]:=0;
end;
if (ks_gr_dn[2]=5) and (ks_gr_dn[3]=1) then
begin
setfillstyle(1,black);
bar(kx5,ky5,kx5+40,ky5+40);
kx5:=ks_gr_dn[0];
ky5:=ks_gr_dn[1];
x1:=le_gr_dn[0];
y1:=le_gr_dn[1];
dec(sizin_tasima);
kasa_oynat;
puan;
ks_gr_dn[3]:=0;
end;
if (ks_gr_dn[2]=6) and (ks_gr_dn[3]=1) then
begin
setfillstyle(1,black);
bar(kx6,ky6,kx6+40,ky6+40);
kx6:=ks_gr_dn[0];
ky6:=ks_gr_dn[1];
x1:=le_gr_dn[0];
y1:=le_gr_dn[1];
dec(sizin_tasima);
kasa_oynat;
puan;
ks_gr_dn[3]:=0;
end;
kasa_oynat;
end;
if tus=#13 then
begin
lever_ata:=15;
goto tekrar_basla;
end;
until tus=#27;
mousesakla;
closegraph;
end.
kadir göksu
0537 7145725