Срочно нужна помощь!!!

Glu4it

Member
Помогите мне из это сделать куб, чтоб плавал как тарелка только по всему экрану и чтоб звездочек не было!!!
uses graph, crt;
const
r = 20;
pause = 50;
var
d,m,e,xm,ym,x,y,lx,ly,rx,ry,
size,i,dx,dy,width,height:integer;
saucer:pointer;
label
loop;
begin
d:=detect;
initgraph(d,m,'');
e:=graphresult;
if e<>grok then
writeln(grapherrormsg(e))
else
begin
x:=r*5;
y:=r*2;
xm:=getmaxx div 4;
ym:=getmaxy div 4;

ellipse(x,y,0,360,r,r div 3+2);
ellipse(x,y-4,190,357,r,r div 3);
line(x+7,y-6,x+10,y-12);
line(x-7,y-6,x-10,y-12);
circle(x+10,y-12,2);
circle(x-10,y-12,2);
floodfill(x+1,y+4,white);

lx:=x-r-1;
ly:=y-14;
rx:=x+r+1;
ry:=y+r div 3+3;
width:=rx-lx+1;
height:=ry-ly+1;
size:= imagesize(lx,ly,rx,ry);
getmem(saucer,size);
getimage(lx,ly,rx,ry,saucer^);

putimage(lx,ly,saucer^,xorput);

rectangle(xm,ym,3*xm,3*ym);
setviewport(xm+1,ym+1,3*xm-1,3*ym-1,clipon);
xm:=2*xm;
ym:=2*ym;
for i:= 1 to 200 do
putpixel(random(xm), random(y), white);

x:=xm div 2;
y:=ym div 2;
dx:=10;
dy:=10;
{Osnovnoi zukl}
repeat
putimage(x,y,saucer^,xorput);
delay(5000);
putimage(x,y,saucer^,xorput);

loop:
x:=x+dx;
y:=y+dy;

if (x<0) or (x+width+1>xm) or
(x<0) or (y+height+1>ym) then
begin
x:=x-dx; y:=y-dy;
dx:=getmaxx div 10 - random(getmaxx div 5);
dy:= getmaxy div 30 - random(getmaxy div 15);
goto loop
end;
until keypressed;
if readkey=#0 then x:= ord(readkey);
closegraph;
end;
end.
 

Glu4it

Member
это было взято с книги, а делать нужно по такому принципу
 

dreamer

Member
До чего ленивый народ, уже сам переделать готовое не может...
Просьба в разделах задавать вопросы, высказывать мысли, затевать обсуждения и делиться опытом. А просить сделать что-то за тебя в специальных темах.
 

Glu4it

Member
что если у меня не получается? типа я не пробовал...
 

dreamer

Member
что если у меня не получается? типа я не пробовал...
Если пробовал то у тебя должны появлятся конкретные вопросы, потому что ты сталкивался к конкретными проблемами.
Возможно ты взял для себя слишком сложную задачу за раз. Тогда попробуй начать с простого:
1. Сделай программу которая просто рисует прямоугольник на экране.
2. Сделай цикл в котором экран будет очищаться а прямоугольник рисоваться уже в сдругом месте.
3. Попробуй нарисовать куб
4. Нарисуй анимированый куб.
5. Начинай бороться с мерцанием и т.д.

Когда у тебя появятся вопросы конкретно по проблеме на конкретном этапе - милости просим.
 
Зверху