Написать систему ниспадающего меню, которая в зависимости от выбора пользователя выводит на экран день и ночь (программа Паскаль)
Вопрос посетителя
Написать систему ниспадающего меню, которая в зависимости от выбора пользователя выводит на экран день и ночь
Ответ эксперта
USES Crt,Graph;
LABEL Ex,New;
VAR Gd,Gm : INTEGER; Av: CHAR;
PROCEDURE DAY; {процедура-солнечное затмение}
VAR X,Y,X1,Y1 : INTEGER; U: REAL;
BEGIN
ClearDevice; SetFillStyle(1,14); SetColor(14);
X:=GetMaxX DIV 2; Y:=GetMaxY DIV 2;
FillEllipse(X,Y,50,50); {солнце}
FOR Gm:=1 TO 150 DO Begin
U:=Random(359);
X1:=Trunc(Random (200)*COS(U))+X; Y1:= Trunc (Random (200)*SIN(U))+Y;
Line(X,Y,X1,Y1); {солнечные лучи}
End;
SetFillStyle(1,8); SetColor(8);
FillEllipse(X-15,Y,50,50); {тень луны}
REPEAT
UNTIL KeyPressed; {задержка до нажатия любой клавиши}
END;
PROCEDURE NOCH; {процедура — лунная ночь со звездами}
VAR R,X,Y,I:INTEGER;
BEGIN
ClearDevice; SetFillStyle (1,15); SetColor (15);
FOR I:=1 TO 50 DO Begin
R:= Random (2);
PutPixel(Random (GetMaxX), Random (GetMaxY),15);
PutPixel(Random (GetMaxX), Random (GetMaxY),15);
FillEllipse(Random (GetMaxX), Random (GetMaxY),R,R);
End;
SetFillStyle (1,15); SetColor (15); FillEllipse (200,100,50,50);
SetFillStyle (1,0); SetColor (0); FillEllipse (180,100,50,50); {луна}
REPEAT
UNTIL KeyPressed; {задержка до нажатия любой клавиши}
END;
BEGIN{основная программа}
Gd:=Detect; InitGraph(Gd,Gm,’C:tp7BGI’);
WHILE true DO Begin
SetFillStyle (1,1); FloodFill(10,10,1); SetFillStyle (1,0);
Bar(215,115,415,365);
SetColor (5); SetFillStyle (1,5);
Bar(200,100,400,350);{меню}
SetTextStyle(7,0,5); SetColor (0);
OutTextXY(237,117,’MENU’); OutTextXY (237,287,’EXIT’);
SetColor (12); OutTextXY (235,115,’MENU’);
SetColor (4); OutTextXY (235,285,’EXIT’);
SetTextStyle (0,0,3); SetColor (0);
OutTextXY (227,207,’D:ДЕНЬ’); OutTextXY (227,247,’N:НОЧЬ’);
SetColor (3); OutTextXY (225,205,’D:ДЕНЬ’); OutTextXY (225,245,’N:НОЧЬ’);
SetColor (15); SetTextStyle (0,0,2);
OutTextXY (100,450,’использовать клавиши D,N,ESC’);
Av:=ReadKey;
CASE Av OF {разветвление программы по нажатию клавиши}
‘D’,’d’ : DAY;
‘N’,’n’ : NOCH;
CHR(27) : GOTO Ex;
End;
End;
Ex: CloseGraph;
END.