23 / 17 / 6
Регистрация: 18.10.2018
Сообщений: 270
1

Составить программу, которая имитирует блуждающие звезды

08.05.2019, 19:04. Показов 2397. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу, которая имитирует:
а) блуждающие звезды (звезды появляются на некоторое время в выбранном случайным образом месте экрана и исчезают)
б) падение звезд (на фоне звездного неба время от времени некоторые звезды «падают», оставляя за собой светящийся след).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2019, 19:04
Ответы с готовыми решениями:

Составить программу, которая имитирует работу арифметического калькулятора
Составьте программу, которая имитирует работу арифметического калькулятора. Организуйте ввод...

Напишите программу, которая имитирует движение велосипеда
Напишите программу, которая имитирует движение велосипеда. Указание: напишите процедуру...

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

Составить программу, которая имитирует работу секундомера
Составить программу, которая имитирует работу секундомера. Пользователь задает количество минут и...

3
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
08.05.2019, 21:51 2
1.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses graph,crt;
var x,y,i:integer;
begin
initgraph(x,y,'');
randomize;
repeat
for i:=1 to 100 do
 begin
  x:=random(getmaxX);
  y:=random(getmaxY);
  putpixel(x,y,14);
 end;
delay(200);
cleardevice;
until keypressed
end.
Вторую если никто не напишет, то завтра.
1
2373 / 775 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
09.05.2019, 05:04 3
Лучший ответ Сообщение было отмечено Vladislav9784 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
program star;
 
uses
  Crt,Graph;
 
var
  Gd, Gm : SmallInt;  // Переменные для установки графического режима.
  ColorLight: Word; // Переменные для хранения значения кодов цвета.
  x,y: integer;    // Переменные для хранения значений координат.
  stars: array[1..100,1..3] of integer; // Переменная для хранения массива с координатами звезд на экране.
  i,k,j,d: integer;  // Промежуточные переменные для организации циклов.
  n: integer;   //  Переменная для хранения значения количества звезд на экране.
begin
n:= 50;  //  Количество звезд.
ColorLight:= 14;  // Цвет зажегшейся звезды.
 Gd := Detect;
 InitGraph(Gd, Gm, '');   // Установка графического режима.
 if GraphResult <> grOk then
   Halt(1);
 Randomize;
 for i:=1 to n do // Массив заполняется случайными координатами, а экран - звездами.
 begin
  stars[i,1]:= Random(getmaxX);   // Случайный выбор чисел для координаты звезды.
  stars[i,2]:= Random(getmaxY);
  stars[i,3]:= 1;
  Setfillstyle(1, ColorLight);   //  Первоначальная отрисовка звезд на экране.
  SetColor(ColorLight);
  fillEllipse(stars[i,1],stars[i,2],2,2);
 end;
 repeat
  for i:=1 to n do    // Отрисовка мерцающих звезд.
     begin
      if random(50) > 7 then // Рандомный выбор звезд для мерцания.
        begin
         Setfillstyle(1, ColorLight);  //  Отрисовка звезд на экране.
         SetColor(ColorLight);
         fillEllipse(stars[i,1],stars[i,2],2,2);
        end;
     end;
  K:= random(100);   // Случайный выбор чисел для длины трека падения метеора.
  x:= Random(getmaxX); // Случайный выбор чисел для координаты начала падения метеора.
  y:= Random(getmaxY);
   for i:=1 to k do  // Отрисовка падения метеоров
     begin
       putpixel(x+i,y+i,ColorLight);
       delay(1);
     end;
  if random(100)= 0 then  // Отрисовка взрыва сверхновой.
    begin
     i:= random(n+1);
    for j:= 2 to 20 do
      begin
       Setfillstyle(1, 15);
       SetColor(15);
       fillEllipse(stars[i,1],stars[i,2],j,j);
       for d:= 1 to 4 do
         line(stars[i,1],stars[i,2],random(getmaxX),Random(getmaxY));
 
      end;
    delay(100);
    end;
  delay(10);
 //cleardevice;
 ClearViewPort;  // Очищение экрана.
 until keypressed;;
 ReadLn;
CloseGraph;
end.
0
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
09.05.2019, 09:53 4
Лучший ответ Сообщение было отмечено Vladislav9784 как решение

Решение

2.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
uses graph,crt;
var x,y,i,j,k,n,dx,dy:integer;
    z,z1:array[1..2,1..1000]of integer;
begin
initgraph(x,y,'');
randomize;
{создадим массив из 100 звезд}
for i:=1 to 100 do
 begin
  z[1,i]:=random(getmaxX);
  z[2,i]:=random(getmaxY);
  setfillstyle(1,14);
  fillellipse(z[1,i],z[2,i],1,1);
 end;
{будем делать падающие звезды}
k:=0;
repeat
delay(100+random(200));{задержка}
inc(k);{увеличим счетчик}
if k=maxint then k:=1;
if k mod 5=0 then{через каждые 5 падает звезда}
 begin
  i:=1+random(100);{выбираем ее случайно}
  x:=z[1,i];
  y:=z[2,i];
  dx:=-3+random(7);{смещение по х и по y}
  dy:=1;
  n:=1;{пишем ее в массив}
  z1[1,1]:=x;
  z1[2,1]:=y;
  while (y<getmaxY)and(x>0)and(x<getmaxX) do{пока внутри экрана}
   begin
    x:=x+dx;{вычисляем координаты точки и рисуем ее}
    y:=y+dy;
    putpixel(x,y,14);
    inc(n);{увеличиваем размер массива и пишем в него координаты точки}
    z1[1,n]:=x;
    z1[2,n]:=y;
    delay(1);{маленькая задержка}
   end;
  setcolor(0);
  for j:=1 to n do{стираем все точки массива следа}
  putpixel(z1[1,j],z1[2,j],0);
 end;
until keypressed{нажатие любой клавиши - конец}
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2019, 09:53
Помогаю со студенческими работами здесь

Создать программу, которая имитирует работу светофора
Создать программу, которая имитирует работу светофора. Через некоторый отрезок времени, которое...

Написать программу, которая имитирует работу продавца
Здравствуйте. Помогите, пожалуйста, решить задачу. Нужно написать программу, которая имитирует...

Графика, "Блуждающие звезды"
Помогите пожалуйста решить задачку!) Составить программу, имитирующую блуждающие звезды (звезды...

хочу написать программу которая имитирует гармошку (музыкальный инструмент)
появилась такая идея написать программу которая была бы похожа Guitar Pro (для гитары), но для двух...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru