Страница 1 из 1

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

СообщениеДобавлено: 01.07.2009 12:27:59
phoenix85
люди, я просто не знаю уже куда обратится..

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

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

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

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

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


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


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

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

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


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


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

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

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

СообщениеДобавлено: 01.07.2009 15:13:29
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.




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

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

СообщениеДобавлено: 01.07.2009 19:11:19
Max Rusov
А задача не по сопромату случайно? А то вы не на том сосредоточились :)

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

СообщениеДобавлено: 01.07.2009 19:16:07
phoenix85
нет, я же сказал, что по ПАСКАЛю..
если не знаешь как отвечать, зачем пишешь?
не в обиду

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

СообщениеДобавлено: 02.07.2009 10:02:04
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)

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

СообщениеДобавлено: 02.07.2009 11:29:39
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

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