• Как сделать люстру и поместить в нее эту лампочку в паскале?

    uses Crt,graphABC;

    procedure DrawLamp(state: Boolean);
    begin
    setfontsize(20);
    if state = true then
    begin
    setbrushcolor(clblack);
    setfontcolor(clwhite);
    textout(200,450,'True');
    end else
    begin
    setbrushcolor(clwhite);
    setfontcolor(clblack);
    textout(200,450,'False');
    end;
    end;

    procedure Zokol;
    var i: byte;
    begin
    for i:=1 to 10 do
    begin
    if odd(i) then setbrushcolor(clbrown)
    else setbrushcolor(cldkgray);
    ellipse(199,300+(i*10),301,300+(i*10)+20);
    end;
    setbrushcolor(clblack);
    ellipse(230,410,270,430);
    end;

    procedure Dark;
    begin
    clearwindow(clblack);
    Zokol;
    setpencolor(clwhite);
    arc(250,150,100,-60,240);
    line(200,230,200,320);
    line(300,230,300,320);
    floodfill(250,250,clyellow);
    setbrushcolor(clwhite);
    circle(250,150,60);
    end;

    procedure Ligth;
    begin
    clearwindow(clwhite);
    Zokol;
    setpencolor(clblack);
    arc(250,150,100,-60,240);
    line(200,230,200,320);
    line(300,230,300,320);
    end;

    var
    lampState: Boolean;
    key: Char;

    begin
    setwindowsize(500,500);
    hidecursor;
    lampState := False;
    repeat
    if lampState=true then Dark else Ligth;
    DrawLamp(lampState);
    key := readKey;
    if key = 'h' then lampState := Not(lampState);

    until key = #27;
    end.

Ответы 1

  • uses graphABC;const    cx = 200;    cy = 200;    radius = 150;procedure Chandelier(PenColor, BrushColor: Color);begin    SetPenColor(PenColor);    SetBrushColor(BrushColor);    Line(cx, 0, cx, cy - radius);    FillPie(cx, cy, radius, 0, 180);    Ellipse(cx - radius, cy - 30, cx + radius, cy + 30);end;procedure Dark();begin    ClearWindow(clBlack);        Chandelier(clGreen, clDarkGreen);        SetBrushColor(clBlack);    SetFontColor(clWhite);    TextOut(cx - 30, 2 * cy - 50, 'False');end;procedure Light();begin    ClearWindow(clSilver);        SetBrushColor(clLightGoldenrodYellow);    FillPie(cx, cy - radius div 2, 3 * cx, 210, 330);         Chandelier(clGreen, clLime);        SetBrushColor(clYellow);    FillCircle(cx, cy - radius div 2, 35);        SetBrushColor(clLightGoldenrodYellow);    SetFontColor(clBlack);    TextOut(cx - 30, 2 * cy - 50, 'True');end;procedure DrawLamp(state: Boolean);begin    if state then        Light()    else Dark();end;var    LampState: Boolean;    key: Char;begin    SetWindowSize(2 * cx, 2 * cy);    SetFontSize(20);    LampState := False;        repeat        DrawLamp(LampState);        key := ReadChar();        if key = 'h' then            LampState := not LampState;    until key = #27;end.
    • Автор:

      desirae
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years