Уменьшить программу - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Уменьшите программу пожалуйста.

Решение задачи: «Уменьшить программу»

textual
Листинг программы
{$reference System.Core.dll}
uses System.Linq, GraphABC;
 
const
  R = 40;
  HalfR = R div 2;
  K = 1000000000;
  D = 4;
 
var
  X, Y: Integer;
  Finished := false;
begin
  CenterWindow;
  x := HalfR; y := HalfR;
  var Dirx := 1;
  var Diry := 1;
  var Kol := 0;
  SetSmoothing(false);
  LockDrawing;
  
  repeat
    Window.Clear;
    Finished := Kol > K;
    Setpencolor(Finished ? clBlue : clRandom);
    DrawPolygon(Enumerable.Range(0, 8).Select((i :integer) -> 
                new Point(x - D * Ord(Finished) + Round(HalfR * sin(Pi / 8 + Pi / 4 * i)),
                          y - D * Ord(Finished) - Round(HalfR * cos(Pi / 8 + Pi / 4 * i)))).ToArray());
    Redraw;
    if Finished then Continue;
    
    if  x >= Windowwidth - HalfR Then DirX := -1;
    DirY := (Y >= Windowheight - HalfR) ? -1 : (Y <= HalfR) ? 1 : DirY;
    DirX := (X >= WindowWidth - HalfR) ? -1 : (X <= HalfR) ? 1 : DirX;
    
    Inc(Kol, Ord(X <= HalfR));
    x := x + dirx * d;
    y := y + diry * d;
    sleep(10);
  until Finished;
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы