гнущайся под тяжестью растущего плода ветка

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
phoenix85
незнакомец
Сообщения: 3
Зарегистрирован: 01.07.2009 12:22:59

гнущайся под тяжестью растущего плода ветка

Сообщение phoenix85 »

люди, я просто не знаю уже куда обратится..

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

я в паскале полный 0! а лабу надо сдать до выходных...
ничего не могу придумать вообще...

Добавлено спустя 38 минут 33 секунды:
или хотя бы помогите с кодом круга, который перемещается вниз (скажем на пикселов 200) и плавно увеличивается.
Аватара пользователя
trius-strannik
новенький
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск

Сообщение trius-strannik »

phoenix85 писал(а):
Добавлено спустя 38 минут 33 секунды:
или хотя бы помогите с кодом круга, который перемещается вниз (скажем на пикселов 200) и плавно увеличивается.


примитивно так..........


for i:=1 to 200 do
begin
circle(x+i,y,10+i div 10);
........
end
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

trius-strannik писал(а):
phoenix85 писал(а):
Добавлено спустя 38 минут 33 секунды:
или хотя бы помогите с кодом круга, который перемещается вниз (скажем на пикселов 200) и плавно увеличивается.


примитивно так..........


for i:=1 to 200 do
begin
circle(x+i,y,10+i div 10);
........
end

А перед перемещением стирать круг кто будет?
phoenix85
незнакомец
Сообщения: 3
Зарегистрирован: 01.07.2009 12:22:59

Сообщение phoenix85 »

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

Добавлено спустя 3 часа 41 минуту 41 секунду:

Код: Выделить всё

program krug;
uses crt,graph;
var i, j, gd, gm, r:integer; Stage: Integer;


const
   FrameDelay = 50; { Задержка кадра.  }
   NumStages = 100; { Число степеней "зрелости" фрукта. }
   
procedure DrawBranch(Stage: Integer; Draw: Boolean);
begin
   { ... }
   { Здесь надо поместить код рисования ветки с фруктом в зависимости от степени }
   { зрелости фрукта (Stage). В примере это число меняется от 0 до 99, но ты     }
   { можешь сделать так, как будет удобнее. Если Draw = false, то рисовать надо  }
   { черным цветом, если Draw = true, то рисовать надо обычными цветами.         }
   
   { Это просто пример, чтобы убедиться, что все работает: }
   if Draw then SetColor(Red) else SetColor(Black);
   Line(10, 50, 200, 250 + Stage);
end;


begin
   gd := Detect;
   InitGraph(i,j, 'c:\tp\bgi');
   
   { Основной цикл. }
   Stage := 0;
   repeat
      { Стираем ветку. }
      DrawBranch(Stage, false);
      { Переходим на новую стадию наклона. }
      Inc(Stage);
      { Рисуем ветку в новой стадии. }
      DrawBranch(Stage, true);
      { Задержка, чтобы кадры не сменяли друг друга слишком быстро. }
      Delay(FrameDelay);
   until Stage > NumStages;
   


begin
i:=detect;

if graphresult<>grok then
begin

writeln(grapherrormsg(graphresult));
halt;
end;
SetColor(0);i:=5;j:=5;r:=3;
while (j+r<GetMaxY)and(not(keypressed)) do
begin
SetFillStyle(1,12);
fillEllipse(i,j,r,r);
delay(1000);
SetFillStyle(1,0);
fillEllipse(i,j,r,r);
inc(i);
inc(j);
if i mod 5=0 then inc(r);
end;
readkey;
end;
end.




вот, все что получилось, помогите, теперь плиз с веткой (линией), она должна идти вслед за кругом.
Max Rusov
постоялец
Сообщения: 191
Зарегистрирован: 25.04.2009 15:46:03

Сообщение Max Rusov »

А задача не по сопромату случайно? А то вы не на том сосредоточились :)
phoenix85
незнакомец
Сообщения: 3
Зарегистрирован: 01.07.2009 12:22:59

Сообщение phoenix85 »

нет, я же сказал, что по ПАСКАЛю..
если не знаешь как отвечать, зачем пишешь?
не в обиду
Аватара пользователя
trius-strannik
новенький
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск

Сообщение trius-strannik »

Mr.Smart писал(а):
trius-strannik писал(а):
phoenix85 писал(а):
Добавлено спустя 38 минут 33 секунды:
или хотя бы помогите с кодом круга, который перемещается вниз (скажем на пикселов 200) и плавно увеличивается.


примитивно так..........


for i:=1 to 200 do
begin
circle(x+i,y,10+i div 10);
........
end

А перед перемещением стирать круг кто будет?



я же сказал примитивно, к тому же точки стоят... 8)
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

phoenix85 писал(а):gd := Detect;

Вот этого делать не надо. Присваивайте переменным gd и gm реальные значения. Detect присваивает максимально возможное значение для Вашего видеоадаптера, которое Ваш монитор не распознаёт.
phoenix85 писал(а):'c:\tp\bgi'

А Вы твёрдо убеждены, что именно по этому пути лежат шрифты Паскаля для графического режима? :)
phoenix85 писал(а):begin
gd := Detect;
InitGraph(i,j,

Где присвоение переменным i, j значений режима и цветности для графического режима?
phoenix85 писал(а):begin
i:=detect;

А вот это уже совершенно неопознанное наукой явление. :)
phoenix85 писал(а):if graphresult<>grok then

Почему у Вас проверка корректности инициализации графического режима производится не сразу же после этой самой инициализации, а после того, как Вы уже что-то рисуете, не убедившись, что графический режим нормально запустился?
---------------
В общем ошибка на ошибке сидит и ошибкой погоняет... ;)
Ответить