singlepost

Pascal. Движещаяся картинка << На главную или назад  

Помогите найти ошибки, пожалуйста.
Может у кого ещё есть какие анимации в Pascale или Basice
Кидайте их сюда, буду признательна.

program rak(input,output);
uses crt,graph;
var a,b,c,d:integer;

procedure plosadka;
begin
setcolor(red);
setfillstyle(5,red);
line(0,450,650,450);
floodfill(0,470,red);
end;

procedure raketa;
begin
for a:=1 to 300 do begin
setcolor(blue);
setfillstyle(9,blue);
line(300,300-a,320,320-a);
line(300,300-a,280,320-a);
line(280,320-a,280,350-a);
line(320,320-a,320,350-a);
line(320,350-a,340,400-a);
line(280,350-a,260,400-a);
line(260,400-a,340,400-a);
floodfill(300,370-a,blue);
setcolor(red);
setfillstyle(1,red);
circle(300,330-a,10);
floodfill(300,330-a,red);
delay(100);
setcolor(green+blue);
setfillstyle(9,green+blue);
line(300,300-a,320,320-a);
line(300,300-a,280,320-a);
line(280,320-a,280,350-a);
line(320,320-a,320,350-a);
line(320,350-a,340,400-a);
line(280,350-a,260,400-a);
line(260,400-a,340,400-a);
floodfill(300,370-a,green+blue);
setcolor(green+blue);
setfillstyle(9,green+blue);
circle(300,330-a,10);
floodfill(300,330-a,green+blue);
end;
end;

begin
clrscr;
initgraph(a,b,'a:\bgi');
delay(3000);
setbkcolor(green+blue);
plosadka;
raketa;
delay(100);
readkey;
end.


41 ответов в теме “Pascal. Движещаяся картинка”

  1. 1
    Анастасия Дементьева ответил:

    uses Graph, CRT;
    const
    PauseTime = 30;
    Count = 90;
    var
    grDriver: Integer;
    grMode: Integer;
    ErrCode: Integer;
    i, j, k : integer;
    10 Key : word;
    BEGIN
    grDriver := Detect;
    InitGraph(grDriver, grMode, 'e:\program\bp\bgi');
    ErrCode := GraphResult;
    if ErrCode <> grOk then Halt(1);

    Line(50, 50, 150, 200);
    Line(150, 50, 50, 200);
    Line(50, 50, 150, 50);
    Line(50, 200, 150, 200);
    20 SetFillStyle(SolidFill, DarkGray);
    Bar(45, 45, 155, 49);
    Bar(45, 201, 155, 206);
    repeat
    for j := Count to 125 do
    begin
    for i := Round((2*j+50)/3)+1 to Round((2*j-550)/(-3))-1 do
    PutPixel(i, j, Yellow);
    end;
    for k := 199 downto 199-Count do
    30 for i := Round((2*k-550)/(-3))+1 to Round((2*k+50)/3)-1 do
    PutPixel(i, k, Black);
    k := ord(ReadKey);
    if k = 0 then k := ord(ReadKey);
    if k = 27 then Break;
    j := 199;
    k := Count;
    Randomize;
    while (j > 199-(125-Count)) and (k < 125) do
    begin
    40 for i := j downto 125 do
    if Random(10) < 6 then
    PutPixel(100, i, Black) else PutPixel(100, i, Yellow);
    for i := Round((2*j-550)/(-3))+1 to Round((2*j+50)/3)-1 do
    PutPixel(i, j, Yellow);
    for i := Round((2*k+50)/3)+1 to Round((2*k-550)/(-3))-1 do
    PutPixel(i, k, Black);
    for i := Round((2*(k+1)+50)/3)+1 to Round((2*(k+1)-550)/(-3))-1 do
    PutPixel(i, k+1, Black);
    Delay(PauseTime);
    50dec(j);
    inc(k, 2);
    end; {while}
    for i := j downto 125 do
    PutPixel(100, i, Black);
    k := ord(ReadKey);
    if k = 0 then k := ord(ReadKey);
    until k = 27;
    CloseGraph;
    END.

    Это уже другое.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.