ВУЗ:
Составители:
Рубрика:
{установка шрифта, направления и размера символов}
OutTextXY(160, 50, 'Рисуем звездное небо');
Rectangle(110, 90, 520, 380); {рисование рамки }
Randomize; {инициализация датчика случайных чисел}
Repeat {цикл прерывается нажатием любой клавиши}
PutPixel(Random(GetMaxX-250)+120, Random(GetMaxY-210)+100,
Random(15)); {вывод пикселя в области, ограниченной рамкой}
Delay(5) {задержка}
until KeyPressed;
Key:=ReadKey; ClearDevice; {очистка графического экрана}
{---------------------------------------------------------------}
SetColor(White); {цвет рисования}
OutTextXY(140, 30, 'Рисуем случайные эллипсы');
Rectangle(100, 70, 560, 420); { рисование рамки }
MaxX := GetMaxX;
MaxY := GetMaxY;
Radius := MaxY div 10;
SetLineStyle(0, 0, 1); {толщина и стиль линии}
SetViewPort(101, 71, 559, 419, ClipOn); {установка окна внутри
рамки}
Randomize; {инициализация датчика случайных чисел}
Repeat {цикл прерывается нажатием любой клавиши}
SetBkColor(Black); {цвет фона }
SetColor(Random(13)+1); {цвет рисования}
SetFillStyle(Random(12), Random(13)+1); {образец и цвет штриховки}
FillEllipse(Random(MaxX), Random(MaxY), {координаты центра эллипса}
Random(Radius), Random(Radius)); {полуоси эллипса}
until KeyPressed;
Key:=ReadKey;
ClearDevice; {очистка графического экрана}
{------------------------------------------------------------------}
SetColor(White); SetViewPort(1, 1, GetMaxX, GetMaxY, ClipOn);
OutTextXY(140, 20, 'Рисуем случайные секторы');
Rectangle(90, 60, 570, 420); {рисование рамки}
SetViewPort(92, 62, 569, 419, ClipOn); {установка окна внутри рамки}
Repeat {цикл прерывается нажатием любой клавиши}
SetFillStyle(Random(12), Random(13)+1); {изменение штриховки и
цвета}
Ugol := Random(360); {угол сектора}
Sector(Random(MaxX-200), Random(MaxY-180), Random(Ugol), Ugol,
Random(Radius*2), Random(Radius*2)); {рисование сектора}
until KeyPressed;
ClearViewPort; {очистка окна}
CloseGraph; {закрытие графического режима}
END.
Пример 8.10. Программа изображает планету, вращающуюся вокруг Солнца
на фоне мерцающих звезд и расходящейся галактики.
Перемещение и изменение размеров
изображений на экране можно
организовать по разному. Так, в примере
8.6 эффект движения изображения
достигается следующим образом:
выводится изображение, затем оно
стирается с экрана с помощью
процедуры ClearViewPort, повторно
выводится с некоторым перемещением
и т.д.
В примере 8.7 применяется другой
способ. Сначала на экран выводится рисунок, затем тот же рисунок повторно
{установка шрифта, направления и размера символов} OutTextXY(160, 50, 'Рисуем звездное небо'); Rectangle(110, 90, 520, 380); {рисование рамки } Randomize; {инициализация датчика случайных чисел} Repeat {цикл прерывается нажатием любой клавиши} PutPixel(Random(GetMaxX-250)+120, Random(GetMaxY-210)+100, Random(15)); {вывод пикселя в области, ограниченной рамкой} Delay(5) {задержка} until KeyPressed; Key:=ReadKey; ClearDevice; {очистка графического экрана} {---------------------------------------------------------------} SetColor(White); {цвет рисования} OutTextXY(140, 30, 'Рисуем случайные эллипсы'); Rectangle(100, 70, 560, 420); { рисование рамки } MaxX := GetMaxX; MaxY := GetMaxY; Radius := MaxY div 10; SetLineStyle(0, 0, 1); {толщина и стиль линии} SetViewPort(101, 71, 559, 419, ClipOn); {установка окна внутри рамки} Randomize; {инициализация датчика случайных чисел} Repeat {цикл прерывается нажатием любой клавиши} SetBkColor(Black); {цвет фона } SetColor(Random(13)+1); {цвет рисования} SetFillStyle(Random(12), Random(13)+1); {образец и цвет штриховки} FillEllipse(Random(MaxX), Random(MaxY), {координаты центра эллипса} Random(Radius), Random(Radius)); {полуоси эллипса} until KeyPressed; Key:=ReadKey; ClearDevice; {очистка графического экрана} {------------------------------------------------------------------} SetColor(White); SetViewPort(1, 1, GetMaxX, GetMaxY, ClipOn); OutTextXY(140, 20, 'Рисуем случайные секторы'); Rectangle(90, 60, 570, 420); {рисование рамки} SetViewPort(92, 62, 569, 419, ClipOn); {установка окна внутри рамки} Repeat {цикл прерывается нажатием любой клавиши} SetFillStyle(Random(12), Random(13)+1); {изменение штриховки и цвета} Ugol := Random(360); {угол сектора} Sector(Random(MaxX-200), Random(MaxY-180), Random(Ugol), Ugol, Random(Radius*2), Random(Radius*2)); {рисование сектора} until KeyPressed; ClearViewPort; {очистка окна} CloseGraph; {закрытие графического режима} END. Пример 8.10. Программа изображает планету, вращающуюся вокруг Солнца на фоне мерцающих звезд и расходящейся галактики. Перемещение и изменение размеров изображений на экране можно организовать по разному. Так, в примере 8.6 эффект движения изображения достигается следующим образом: выводится изображение, затем оно стирается с экрана с помощью процедуры ClearViewPort, повторно выводится с некоторым перемещением и т.д. В примере 8.7 применяется другой способ. Сначала на экран выводится рисунок, затем тот же рисунок повторно
Страницы
- « первая
- ‹ предыдущая
- …
- 105
- 106
- 107
- 108
- 109
- …
- следующая ›
- последняя »