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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2010, 20:32   #1
Timon779
Пользователь
 
Регистрация: 01.03.2010
Сообщений: 24
По умолчанию Как прописать три разных состояния объекта?

Делаю игру по программированию, вот код:
Код:
uses graph;

const
  MaxX = 6;
  MaxY = 5;


var gd, gm, error: integer;
  MainField : array[1..MaxX,1..MaxY] of byte;
  i, j : integer;
  DX, DY : integer;


begin

  gd := VGA; {àäàïòåð VGA}

  gm := VGAHi; {ðåæèì 640*480ïèêñ.*16 öâåòîâ}

  initgraph(gd, gm, '');

  error := graphresult;

  if error <> grOk then begin

    write('Îøèáêà ãðàôèêè: ',

      grapherrormsg(error));

    readln; halt;

  end;

  bar(0, 0, 480, 400);
  DX := 480 div MaxX;
  DY := 400 div MaxY;

  { ê ïðèìåðó â ìàòðèöå
    0 - íè÷åãî
    1 - ëèñòèê
    2 - ëèñòèê ñ ëÿãóøêîé
  }
  MainField[1,1]:= 2;
  MainField[1,2]:= 1;
  MainField[1,3]:= 2;
  MainField[1,4]:= 1;
  MainField[1,5]:= 2;
  MainField[2,1]:= 1;
  MainField[2,2]:= 2;
  MainField[2,3]:= 1;
  MainField[2,4]:= 2;
  MainField[2,5]:= 1;
  MainField[3,1]:= 2;
  MainField[3,2]:= 1;
  MainField[3,3]:= 2;
  MainField[3,4]:= 1;
  MainField[3,5]:= 2;
  MainField[4,1]:= 1;
  MainField[4,2]:= 2;
  MainField[4,3]:= 1;
  MainField[4,4]:= 2;
  MainField[4,5]:= 1;
  MainField[5,1]:= 2;
  MainField[5,2]:= 1;
  MainField[5,3]:= 2;
  MainField[5,4]:= 1;
  MainField[5,5]:= 2;
  MainField[6,1]:= 1;
  MainField[6,2]:= 2;
  MainField[6,3]:= 1;
  MainField[6,4]:= 2;
  MainField[6,5]:= 1;




  {âûâîä ìàòðèöû}
  for i:=1 to MaxX do
    for j:=1 to MAxY do begin
      case MainField[i,j] of
        0: begin {òóò ìîæíî âûâîä ïóñòîé êëåòêè ñäåëàòü...} end;
        1: begin
              SetFillStyle(SolidFill, LightCYAN);
              bar((i-1)*DX, (j-1)*DY, i*DX, j*DY);
              SetFillStyle(SolidFill, LightGREEN);
              fillellipse(round((i-1)*DX+ dx div 2), round((j-1)*DY+ dy div 2), 30, 30);
           end;
        2: begin
              SetFillStyle(SolidFill, LightCYAN);
              bar((i-1)*DX, (j-1)*DY, i*DX, j*DY);
           end;
      end;
    end;



  readln; closegraph;

end.
Как сделать так, чтобы у зеленых кругов(под цифрой 2) было 4 разных состояния, то есть как анимация, чтобы сначала большой, потом маленький, потом средний и наконец 4-ое, когда его нету (ушёл под воду)? То есть чтобы при запуске была их анимация, как это сделать?
Timon779 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как создать матрицу три на три в мемо (делфи) Lordigan Помощь студентам 0 15.03.2010 18:37
Как вывести в строке состояния время работы приложения a_n_n_a Общие вопросы Delphi 5 15.03.2009 15:16
Как поменять одну из текстур объекта не меняя все остальные и без повторной загрузки объекта в GLScene DomKr@t Мультимедиа в Delphi 0 14.12.2008 01:52
подскажите как прописать alexs2141 Помощь студентам 6 03.06.2008 14:32
черный ящик, на три входа и на три выхода Shanson Помощь студентам 7 30.01.2008 09:45