Сокращение условия

Тема в разделе "Программирование / Скриптинг", создана пользователем CrazyHackGUT, 29 ноя 2015.

  1. CrazyHackGUT

    CrazyHackGUT Меня здесь нет

    Сообщения:
    854
    Симпатии:
    534
    Как можно сократить условие вида:
    Код:
    if (WeaponIndex == 132 || WeaponIndex == 928 || ... || WeaponIndex == 200)
     
  2. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
  3. CrazyHackGUT

    CrazyHackGUT Меня здесь нет

    Сообщения:
    854
    Симпатии:
    534
    А если серьёзно? Хочется избавиться от большого кол-ва проверки на равенство.
    Хочется чего-то подобного, что можно юзать в Свитче:
    Код:
    switch(WeaponIndex)
    {
    	case 132, 928, ..., 200:
    	{
    		// код
    	}
    }
     
  4. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
    CrazyHackGUT, Ну можно еще
    new b[20];
    b[0] = 132;
    b[1] = 928;
    ...
    b[19] = 200;

    for (i = 0 -> 19)
    if(weaponindex == b)
    {
    код
    break;
    }
     
  5. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.989
    Симпатии:
    2.987
    Черная вдова, вот в такой реализации
    PHP:
    new b[20];
    b[0] = 132;
    b[1] = 928;
    ...
    b[19] = 200;



    bool:IsIndex(iWeapon)
    {
        for (new 
    0sizeof(b); ++i)
        {
            if(
    iWeapon == b[i])
            {
                return 
    true;
            }
        }
        
        return 
    false;
    }