Witam!
Zacząłem pisać grę w Dev-Pascalu w której poruszamy się prostokątem i zestrzeliwujemy przeszkody. Zrobiłem planszę, ograniczyłem zasób ruchów prostokąta( nie wychodzi po za planszę), strzela(1.niestety tylko z środka, początkowo chciałem aby strzelał z jednego i drugiego końca, lecz nie potrafię tego zrobić; 2.gdy strzelam, strzał rusza się razem z prostokątem - jeśli wystrzelę pocisk w danym miejscu i zacznę poruszać się w prawo, pocisk robi to analogicznie), i moim mankamentem są przeszkody, które mają być kółkami.. Gdy próbowałem je zrobić, kółka nie spadały w dół, tylko mnożyły się obok siebie. Czy jest ktoś w stanie napisać 'te przeszkody'? Oto mój dotychczasowy kod :
uses graph, crt,wincrt;
var karta,tryb : smallint;
x1,y1,i,x2,y2,x11,y11,x22,y22,t,p1,p2,p3,x111,x222,p11,p22,lx1,ly1,lx2,ly2,l2x1,l2y1,l2x2,l2y2,l3x1,l3y1,l3x2,l3y2,xo,yo,ro,x,k,w: integer;
q : char;
begin
karta:=detect;
initgraph(karta,tryb, '');
t:=0;
k:=0;
lx1:=100;
ly1:=500;
lx2:=800;
ly2:=500;
l2x1:=100;
l2y1:=500;
l2x2:=100;
l2y2:=0;
l3x1:=800;
l3y1:=500;
l3x2:=800;
l3y2:=0;
setcolor(white);
line(lx1,ly1,lx2,ly2);
line(l2x1,l2y1,l2x2,l2y2);
line(l3x1,l3y1,l3x2,l3y2);
i:=1; {do petli zeby się wykonywala caly czas}
x1:=400;
x2:=500;
y1:=450; {prostokąt}
y2:=470;
setfillstyle(1,blue);
bar(400,450,500,470);
x11:=450;
x22:=450;
y11:=449; {strzal}
y22:=419;
p1:=450; {zmienna pomocnicza do strzal}
p2:=501;
p3:=430;
repeat
if keypressed then
begin
q:=readkey;
if q=#77 then {prawo}
begin
setfillstyle(1, black);
bar(x1,y1,x2,y2);
x1:=x1+14;
x2:=x2+14;
setfillstyle(1,blue);
bar(x1,y1,x2,y2);
end;
if q=#75 then {lewo}
begin
setfillstyle(1,black);
bar(x1,y1,x2,y2);
x1:=x1-14;
x2:=x2-14;
setfillstyle(1,blue);
bar(x1,y1,x2,y2);
end;
if x1<=101 then
begin
setfillstyle(1, black);
bar(x1,y1,x2,y2);
x1:=101; {ograniczenie ruchów prostokąta}
x2:=200;
y1:=450;
y2:=470;
setcolor(white);
line(100,450,100,470);
setfillstyle(1, blue);
bar(x1,y1,x2,y2);
x1:=x1+1;
x2:=x2+1;
y1:=450;
y2:=470;
end;
if x2>=799 then
begin
setfillstyle(1, black);
bar(x1,y1,x2,y2);
x1:=700;
x2:=799;
y1:=450;
y2:=470; {ograniczenie ruchów prostokąta}
setcolor(white);
line(800,470,800,450);
setfillstyle(1, blue);
bar(x1,y1,x2,y2);
x1:=x1-1;
x2:=x2-1;
y1:=450;
y2:=470;
end;
if (q=#75) then
begin {strzalki}
p1:=p1-10;
end;
if (q=#77) then
begin
p1:=p1+10;
end;
if (q=#32) and (t=0) then
begin {pocisk}
x11:=p1;
x22:=p1;
t:=1;
end;
end;
if (t=1) then
begin
delay(1);
setcolor(black);
line(x11,y11,x22,y22);
x11:=(x1+x2) div 2;
x22:=(x1+x2) div 2;
y11:=y11-1;
y22:=y22-1;
setcolor(blue);
line(x11,y11,x22,y22);
end;
if y11=0 then
begin
t:=0;
y11:=449;
y22:=419;
end;
until i=2;
readkey;
closegraph;
end.