Написать систему ниспадающего меню, которая в зависимости от выбора пользователя выводит на экран день и ночь (программа Паскаль)

Вопрос посетителя

Написать систему ниспадающего меню, которая в зависимости от выбора     пользователя выводит на экран день и ночь

Ответ эксперта

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.

image_pdfСкачать ответimage_printРаспечатать решение

Добавить комментарий

Похожие вопросы от пользователей