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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2009, 21:44   #51
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от OCTAGRAM
Моргают сильно, но двигаются.
Увы, в паскале лучшего сложно добиться.
В первоначальном варианте каждый квадрат затирался таким же черным (вместо полной очистки экрана), но мерцало также.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 17.05.2009, 21:47   #52
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
Увы, в паскале лучшего сложно добиться.
А как же page flipping? Можно поставить режим 640x350, там две страницы есть. Можно попробовать SVGA драйвер, вдруг у него страниц больше доступно.

Это вряд ли прокатит за решение, просто правды ради.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 17.05.2009, 21:50   #53
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от OCTAGRAM
А как же page flipping? Можно поставить режим 640x350, там две страницы есть. Можно попробовать SVGA драйвер, вдруг у него страниц больше доступно.
Я все это дело запускаю под FPC )

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.05.2009, 00:41   #54
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

Уважаемый, Sazary!!!
Можно ли записать процедуру ChangeCoordinates???
а именно
Код:

Код:
 inc(Z[i].x);
  if Z[i].x>W then Z[i].x := -a;
можно туда поставить?
Код:

Код:
Program task4;

uses Crt,Graph;
const
  a = 20;
  b = 35;
  y = 300;
  count = 15;
  step = 70;

type
  rectangle = record
    x : integer;
    mas : array[1..4] of PointType;
  end;
  RectArray = array[1..count] of rectangle;

procedure InitializationGraphicMode;
var
  driver,mode:integer;
begin
  driver:=Detect;
  InitGraph(driver,mode, 'g:\pp\bin\win32 ');
end;

procedure InitialCoordinates(var Z : RectArray);
var
  i : integer;
  W:integer;
begin
  W := GetmaxX;
  for i:=1 to count do
    Z[i].x := -a-step*(i-1);
end;

procedure ChangeCoordinates( i:integer; var Z : RectArray);
var
  W:integer;
begin
  Z[i].mas[1].x := Z[i].x;
  Z[i].mas[1].y := y;
  Z[i].mas[2].x := Z[i].x+b;
  Z[i].mas[2].y := y;
  Z[i].mas[3].x := Z[i].x+b;
  Z[i].mas[3].y := y+a;
  Z[i].mas[4].x := Z[i].x;
  Z[i].mas[4].y := y+a;
  inc(Z[i].x);
  if Z[i].x>W then Z[i].x := -a;
end;

procedure PrintRectangles(var Z:RectArray);
var
  i:integer;
begin
  for i:=count downto 1 do
  begin
    ChangeCoordinates(i,Z);
    SetColor(15);
    SetFillStyle(8,15);
    FillPoly(4,Z[i].mas);
   ChangeCoordinates(i,Z);
  end;
end;

procedure ProcessingMessages;
var
  Z: RectArray;
begin
  InitialCoordinates(Z);
  repeat
    ClearDevice;
    PrintRectangles(Z);
    Delay(3);
  until keypressed;
end;

begin
  InitializationGraphicMode;
   ProcessingMessages;
  CloseGraph;
end.

Последний раз редактировалось Stilet; 19.05.2009 в 08:10.
tanek вне форума Ответить с цитированием
Старый 19.05.2009, 00:44   #55
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

но она все равно не работает у меня.....они не двигаюстя...
tanek вне форума Ответить с цитированием
Старый 19.05.2009, 00:57   #56
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
но она все равно не работает у меня.....они не двигаюстя...
Естественно. А W у вас в процедуре чему равно? Ничему. Вы когда что-то куда-то перемещаете, хоть следите за переменными, которые используются.

Посылайте W в процедуру:
Код:
procedure ChangeCoordinates( i:integer; var Z : RectArray; W : integer);
begin
  Z[i].mas[1].x := Z[i].x;
  Z[i].mas[1].y := y;
  Z[i].mas[2].x := Z[i].x+b;
  Z[i].mas[2].y := y;
  Z[i].mas[3].x := Z[i].x+b;
  Z[i].mas[3].y := y+a;
  Z[i].mas[4].x := Z[i].x;
  Z[i].mas[4].y := y+a;
  inc(Z[i].x);
  if Z[i].x>W then Z[i].x := -a;
end;
ну и вызов. соответственно:
Код:
ChangeCoordinates(i,Z,W);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.05.2009, 03:18   #57
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Нет, здесь другой случай.

Как они могут не двигаться?
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика в С++ K[Lanc]N Помощь студентам 2 29.07.2010 11:25
графика vovan665 Паскаль, Turbo Pascal, PascalABC.NET 11 11.10.2008 15:09
Графика Exact Паскаль, Turbo Pascal, PascalABC.NET 3 14.03.2008 18:37
графика ben95 Общие вопросы Delphi 3 06.02.2008 22:24