Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2020, 19:20   #1
Сyberbitch
Пользователь
 
Регистрация: 09.12.2019
Сообщений: 12
По умолчанию Полёт самолёта

Вечер добрый господа и дамы.
Мне была поставлена следующая задача: "Написать программу, которая рисует полет самолета. Раскрасть свой рисунок."
С координатами у меня всё плохо. Одна надежда на вас.
Сyberbitch вне форума Ответить с цитированием
Старый 22.01.2020, 19:42   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Цитата:
Сообщение от Сyberbitch Посмотреть сообщение
С координатами у меня всё плохо.
Полет самолета можно нарисовать в виде кривой линии на карте (трек). Можно нарисовать сам самолет сбоку на 2D плоскости. Можно реализовать 3D сцену. Вам что конкретно нужно?
Arigato вне форума Ответить с цитированием
Старый 22.01.2020, 20:06   #3
Сyberbitch
Пользователь
 
Регистрация: 09.12.2019
Сообщений: 12
По умолчанию

Arigato, Простой,зацикленный полёт самолёта от начала и до конца формы.
А самолёт нарисовать с помощью графических примитивов.
Сyberbitch вне форума Ответить с цитированием
Старый 22.01.2020, 20:31   #4
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Так вот есть готовый проект >>Имитация полета крылатой ракеты на OpenGL WinApi C++
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 22.01.2020, 20:55   #5
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

https://js1k.com/2011-trail/demo/992
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 22.01.2020, 21:07   #6
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

сильно, ТС оценит..
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 22.01.2020, 22:44   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Вот такой получился:

Код:
var
  x: integer = 0;
  f: integer = 15;

procedure TForm1.draw(x,y: integer; fan: integer; del: boolean);
const flag: array[0..2] of tcolor=(clWhite,clBlue,clRed);
var i: integer;
begin
  if del then begin
    Canvas.Pen.Color := Color;
    Canvas.Brush.Color := Color;
  end else begin
    Canvas.Pen.Color := clBlack;
    Canvas.Brush.Color := clTeal;
  end;
  with Canvas do begin
    MoveTo(x,y);
    LineTo(x-40,y-20);
    LineTo(x-140,y-20);
    LineTo(x-160,y-35);
    LineTo(x-160,y);
    LineTo(x,y);
    LineTo(x+2,y);
    MoveTo(x+2,y-fan);
    LineTo(x+2,y+fan);
    for i:=0 to 4 do
      Ellipse(x-50-i*20-5,y-15,x-50-i*20+5,y-5);
    for i:=0 to 2 do begin
      if not del then Pen.Color:=flag[i];
      MoveTo(x-145,y-18+i*2);
      LineTo(x-155,y-18+i*2);
      MoveTo(x-145,y-18+i*2+1);
      LineTo(x-155,y-18+i*2+1);
    end;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var y: integer;
begin
  y:=clientheight div 2;
  draw(x,y,f,true);
  inc(x,2);
  if x>clientwidth+200 then x:=-200;
  dec(f,3);
  if f<-14 then f:=15;
  draw(x,y,f,false);
end;
airplane.png

Последний раз редактировалось Arigato; 22.01.2020 в 22:50.
Arigato вне форума Ответить с цитированием
Старый 23.01.2020, 07:57   #8
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

Pavia, игрушка огонь :D
Алексей1153 вне форума Ответить с цитированием
Старый 25.01.2020, 10:49   #9
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

а если ещё ему показать как музыку включать в файл ресурса *.res. героическая чтоб играла на фоне...
и сбоку бегунок с минимальной и максимальной отметсками 20 и 200 - высоту самолёта регулировать.
Код:
y:= Trackbar.Position;
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 25.01.2020 в 11:42.
NetSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
полёт пули в игре html5+JS Artc221 Общие вопросы Web 1 17.10.2018 05:45
Lazarus(Graph) смоделировать полёт стрелы до мишени. Люди добрые, помогите пожалуйста! Станислав12345 Помощь студентам 7 05.12.2016 17:29
помогите сделать сортировку во второй табличке по марке самолёта... DIzza Помощь студентам 0 18.06.2009 22:07
Полёт Бумеранга - Pascal Alter Паскаль, Turbo Pascal, PascalABC.NET 12 25.06.2008 20:07