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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2016, 16:39   #1
fardhast
Новичок
Джуниор
 
Регистрация: 13.04.2016
Сообщений: 1
Вопрос Определённый элемент массива удалялся бы через определённое время

Здравствуйте, пишу бомбермена на паскале и не понимаю как сделать запоминающее устройство для бомб.
Допустим, я поставил бомбу в клетке [3,5] и через 1 секунду в клетке [3,7], значит через 3 секунды после установки бомбы [3,5] сначала бы она удалялась и через секунду соответственно удалялась бы бомба [3,7].

Исходный код:

Код:
var 
        player:tplayer;               
        map:array [0..31,0..13] of char;
        bombplace,bombdestroy:boolean;        
        bombcount,bombmax:integer;

procedure TForm1.Timer1Timer(Sender: TObject);
var i,j:integer;
begin
 
            //Установка бомбы
     if (bombplace=true)                   //Если кнопка X нажата, то можно ставить
and  (bombcount<bombmax)           //Число установленных бомб на карте не превышает максимума
and  (map[(player.x  + globalpos + 16) div 32, (player.y + 16) div 32 ] <> 'b') then
         begin
          map[(player.x  + globalpos + 16) div 32, (player.y + 16) div 32 ]:= 'b';  //Ставит в той клетке, где центр игрока 
          bombcount:=bombcount+1;     
         end;

               //прорисовка бомбы на карте длиной 31 на 13 клеток
       for i:= 0 to 31 do
       for j:= 0 to 13 do
        case map[i,j] of
        'b': image1.canvas.draw(i*32-globalpos,j*32,bombpic[banim]);
                end;

//Это я сделал, чтоб при нажатии на кнопку, все бомбы на карте удалялись
if bombdestroy=true then
       begin
         for i:= 0 to 31 do
       for j:= 0 to 13 do
       begin
          case map[i,j] of
          'b': map[i,j]:='.';
          end;
          bombcount:=0;
          bombdestroy:=false;
          end;
       end;         

          //это прорисовка игрока вообщем (к делу не особо относится)
       if  player <> nil then
        image1.canvas.draw(player.x,player.y,plpic[panim]);
Буду искренне благодарен за помощь!

Последний раз редактировалось fardhast; 18.04.2016 в 17:39.
fardhast вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Dbgrid запрет на редактирование строки через определённое время spotip Компоненты Delphi 11 30.04.2014 14:53
[jquery] скрыт ближайший элемент имеющий определённый класс frommars JavaScript, Ajax 2 03.05.2013 12:57
Как удалить, определённый элемент из стринггрида? Lenux Помощь студентам 3 14.03.2010 18:57
цикл на определённое время Nitrino Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 12.01.2010 13:57
Как создать событие(которое выполняется в определённое время) micaell Общие вопросы Delphi 5 13.12.2006 18:35