Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Программа закат - сходит сума...


Автор: flashg 14.8.2005, 22:12
я плохо разбираюсь в програмирование

вот на основе нескольких примеров (их изучение) я объеденил

две проги дом и поляна была удалена остался фон а от второй взял солнце

а задание у меня такое
В виде мультфильма представить картину медленного захода солнца за линию горизонта с изменением освещения пейзажа.

вот код - и ошибка в программе
(это третия версия уже)

исправил ошибки
постоянный задний фон - фон сменяется

а вот не удалось устранить бесконечность выполнения программы и новая ошибка - солнце оставляет след
также надо всю эту процедуру с посадкой замедлить.

код
Код

uses crt,graph;
const a:array [1..9] of byte=(10,9,5,3,11,7,8,10,11);
var GrDriver,GrMode,i,g,j:integer;
f:word;

procedure dom;
const
cga=1;
begin
     line(0,300,getmaxX,300);
     SetBkColor(f);
     i:=50; j:=50;
     while i<300 do
     begin
         setcolor(yellow);
          setfillstyle(1,yellow);
          fillellipse(i,j,40,40);
          delay(2000);
          setcolor(f);
          setfillstyle(1,f);
          fillellipse(i,j,40,40);
          i:=i+random(3);
          j:=j+random(2);
     end;
end;

procedure fon (f:word);
Begin
     SetBkColor(f);
     SetFillStyle(1,f);
     SetColor(f);
End;

BEGIN
     GrDriver:=cGA; GrMode:=cGAHi;
     initgraph(GrDriver,GrMode,'c:\pascal\BGI'); {прописать расположение паскаля}
     if GraphResult<>grOK then halt(1);
     for f:=1 to 9 do
        begin
              fon(a[f]);
              dom;
              delay(100);
              delay(100);
         end;
closegraph;
end.
     readln;


помогите я уже не знаю что делать smile

Автор: Гость_007 29.8.2005, 22:11
ты попробуй программировать под WINDOWS smile

Автор: programs 7.9.2005, 20:22
Цитата(flashg @ 14.8.2005, 22:12)
я плохо разбираюсь в програмирование

вот на основе нескольких примеров (их изучение) я объеденил

две проги дом и поляна была удалена остался фон а от второй взял солнце

а задание у меня такое
В виде мультфильма представить картину медленного захода солнца за линию горизонта с изменением освещения пейзажа.

вот код - и ошибка в программе
(это третия версия уже)

исправил ошибки
постоянный задний фон - фон сменяется

а вот не удалось устранить бесконечность выполнения программы и новая ошибка - солнце оставляет след
также надо всю эту процедуру с посадкой замедлить.

код
Код

uses crt,graph;
const a:array [1..9] of byte=(10,9,5,3,11,7,8,10,11);
var GrDriver,GrMode,i,g,j:integer;
f:word;

procedure dom;
const
cga=1;
begin
     line(0,300,getmaxX,300);
     SetBkColor(f);
     i:=50; j:=50;
     while i<300 do
     begin
         setcolor(yellow);
          setfillstyle(1,yellow);
          fillellipse(i,j,40,40);
          delay(2000);
          setcolor(f);
          setfillstyle(1,f);
          fillellipse(i,j,40,40);
          i:=i+random(3);
          j:=j+random(2);
     end;
end;

procedure fon (f:word);
Begin
     SetBkColor(f);
     SetFillStyle(1,f);
     SetColor(f);
End;

BEGIN
     GrDriver:=cGA; GrMode:=cGAHi;
     initgraph(GrDriver,GrMode,'c:\pascal\BGI'); {прописать расположение паскаля}
     if GraphResult<>grOK then halt(1);
     for f:=1 to 9 do
        begin
              fon(a[f]);
              dom;
              delay(100);
              delay(100);
         end;
closegraph;
end.
     readln;


помогите я уже не знаю что делать smile

Слухай, для уменьшения скорость твоего солнца тебе нужно кое-что исправить
Delay(100) например на Delay(60000), я сам программирую на паскале и я уже с этим сталкивался. А след от солнца можно убрать только другим способом дин. движения - Копирование в буфер фигуры, потом удаление существующей, затем вставление этой фигуры в другие координаты! Удачи пиши с вопросами [email protected]

Автор: Romtek 14.9.2005, 17:38
Цитата(programs @ 7.9.2005, 20:22)
Слухай, для уменьшения скорость твоего солнца тебе нужно кое-что исправить
Delay(100) например на Delay(60000), я сам программирую на паскале и я уже с этим сталкивался.
Это исправляется заменой модуля Crt.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)