Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Remscher
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 1
1

Не работают условия

15.01.2011, 14:10. Просмотров 319. Ответов 1
Метки нет (Все метки)

Пишу игру на дельфи.
Сейчас делаю инвентарь, и вот делают условия - (на клике) если вещь1 = шлем тада напялить ее на "слот головы" (присваиваются корды картинки которая находится на "слоте" для шлема). Все пашет. А если в эту вещь1 пихнуть 10 разных условий (разница только в кордах и "названии вещи") нифига не пашет. В общем смотрите:


Код
procedure TForm1.Image1Click(Sender: TObject);
begin


  if (i1.left>250) and (i1l.caption='helm') then begin
    i1.Left:=helmpars.Left;
    i1.Top:=helmpars.Top;
    HelmCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    HelmCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end;

  if (i1.left>251) and (i1l.caption='armor') then begin
    i1.Left:=armorpars.Left;
    i1.Top:=armorpars.Top;
    ArmorCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    ArmorCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end;

   if (i1.left>250) and (i1l.caption='pants') then begin
    i1.Left:=116;
    i1.Top:=80;
    PantsCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    PantsCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end;

  if (i1.left>250) and (i1l.caption='gloves') then begin
    i1.Left:=116;
    i1.Top:=80;
    GlovesCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    GlovesCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end;

  if (i1.left>250) and (i1l.caption='boots') then begin
    i1.Left:=116;
    i1.Top:=80;
    BootsCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    BootsCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end;

  if (i1.left>250) and (i1l.caption='amulet') then begin
    i1.Left:=116;
    i1.Top:=80;
    Am1Check.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    Am1Check.Checked:=False;
    CheckBox1.Checked:=True;
  end;

  if (i1.left>250) and (i1l.caption='belt') then begin
    i1.Left:=116;
    i1.Top:=80;
    Belt1Check.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    Belt1Check.Checked:=False;
    CheckBox1.Checked:=True;
  end;


end;
Пояснения:
i1 - это панелька с итемом
i1l - лабел на панельки (им проверяю чем является итем)
HelmCheck, ArmorCheck - проверка на напяливание
CheckBox1, CheckBox2 - проверка на итем (есть ли он в сумке)
helmpars.Left/Top - картинка на "слоте" для вещи

P.S. "i1.left>250" нужен обязательно! Я им проверяю где находится вещь, т.к. слева снаряжение, справа инвентарь.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2011, 14:10
Ответы с готовыми решениями:

Не работают условия Combobox1
Ничего сложного, но уже пол часа не пойму что к чему... procedure...

Не работают условия поиска в файле
есть код AssignFile(F, 'text.txt'); Reset(F); while not...

Условия
Требуется что бы при выполнение сразу нескольких условий начиналось действие не...

3 условия
1. Найти количество положительных элементов массива. 2. Найти сумму элементов...

Условия
Даны три числа. Выберите те из них, которые принадлежат заданному отрезку ....

1
Romantik_FM
310 / 306 / 80
Регистрация: 03.03.2010
Сообщений: 1,328
15.01.2011, 16:59 2
Код
procedure TForm1.Image1Click(Sender: TObject);
begin
  if (i1.left>250) and (i1l.caption='helm') then begin
    i1.Left:=helmpars.Left;
    i1.Top:=helmpars.Top;
    HelmCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    HelmCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end else                                           //изменил здесь

  if (i1.left>251) and (i1l.caption='armor') then begin
    i1.Left:=armorpars.Left;
    i1.Top:=armorpars.Top;
    ArmorCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    ArmorCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end else                                           //изменил здесь

   if (i1.left>250) and (i1l.caption='pants') then begin
    i1.Left:=116;
    i1.Top:=80;
    PantsCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    PantsCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end else                                           //изменил здесь

  if (i1.left>250) and (i1l.caption='gloves') then begin
    i1.Left:=116;
    i1.Top:=80;
    GlovesCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    GlovesCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end else                                           //изменил здесь

  if (i1.left>250) and (i1l.caption='boots') then begin
    i1.Left:=116;
    i1.Top:=80;
    BootsCheck.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    BootsCheck.Checked:=False;
    CheckBox1.Checked:=True;
  end else                                           //изменил здесь

  if (i1.left>250) and (i1l.caption='amulet') then begin
    i1.Left:=116;
    i1.Top:=80;
    Am1Check.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    Am1Check.Checked:=False;
    CheckBox1.Checked:=True;
  end else                                           //изменил здесь

  if (i1.left>250) and (i1l.caption='belt') then begin
    i1.Left:=116;
    i1.Top:=80;
    Belt1Check.Checked:=True;
    CheckBox1.Checked:=False;
  end
  else
  begin
    i1.Left:=320;
    i1.Top:=84;
    Belt1Check.Checked:=False;
    CheckBox1.Checked:=True;
  end;


end;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2011, 16:59

условия
Подскажите пожалуйста как такое реализовать?

Условия
if (edit6.Text = 'что-нибудь1') then (form1.Button2.Click and...

Условия
Помогите с кодом,мне нужно в условии если то указать 2 команды,то есть if...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru