Как я могу заставить этот код работать "как" функция?
public int Phaser3(int range) { int damage = 0; int dieroll = RandomLib.RandomLib.ThreadLocalRandom.Next(1, 7); if (range <= 0 && range >= 0) { switch (dieroll) { case 1: damage = 4; return (damage); case 2: damage = 4; return (damage); case 3: damage = 4; return (damage); case 4: damage = 4; return (damage); case 5: damage = 4; return (damage); case 6: damage = 3; return (damage); } } else if (range <= 1 && range > 0) { switch (dieroll) { case 1: damage = 4; return (damage); case 2: damage = 4; return (damage); case 3: damage = 4; return (damage); case 4: damage = 4; return (damage); case 5: damage = 3; return (damage); case 6: damage = 3; return (damage); } } else if (range <= 2 && range > 1) { switch (dieroll) { case 1: damage = 4; return (damage); case 2: damage = 4; return (damage); case 3: damage = 4; return (damage); case 4: damage = 3; return (damage); case 5: damage = 2; return (damage); case 6: damage = 1; return (damage); } } else if (range <= 3 && range > 2) { switch (dieroll) { case 1: damage = 3; return (damage); case 2: damage = 2; return (damage); case 3: damage = 1; return (damage); case 4: damage = 0; return (damage); case 5: damage = 0; return (damage); case 6: damage = 0; return (damage); } } else if (range <= 8 && range > 3) { switch (dieroll) { case 1: damage = 1; return (damage); case 2: damage = 1; return (damage); case 3: damage = 0; return (damage); case 4: damage = 0; return (damage); case 5: damage = 0; return (damage); case 6: damage = 0; return (damage); } } else if (range <= 15 && range > 8) { switch (dieroll) { case 1: damage = 1; return (damage); case 2: damage = 0; return (damage); case 3: damage = 0; return (damage); case 4: damage = 0; return (damage); case 5: damage = 0; return (damage); case 6: damage = 0; return (damage); } } else { damage = 0; return (damage); } damage = 0; return (damage); }
Что я уже пробовал:
"dieroll" - это работающий генератор случайных чисел, на котором я смог провести тест печати. Есть ли способ превратить это в функцию, чтобы ее можно было использовать ? Как это будет называться и настраиваться? Очень новичок в кодировании, так что любой совет будет приветствоваться, спасибо.
PIEBALDconsult
Непонятный.
RandomLib.RandomLib.ThreadLocalRandom. Next(1, 7)
Это функция. В чем проблема?
Member 13253172
то, что я устаю делать, - это добавлять вложенные if и переключатели, чтобы действовать как функция, чтобы я мог использовать ее встроенно .
Спасибо за ваше время
PIEBALDconsult
Разве не это делает ваша функция Phase3?
Я мог бы также рекомендовать использовать матрицу, а не ifs и коммутаторы.
Member 13253172
Мне очень жаль, что я не очень хорошо объясняю вещи, я хочу, чтобы phas3 была встроенной функцией.
Я попробовал несколько разных вызовов и получил ошибку .Phas3-это одно из многих видов оружия, которое будет использоваться в игре, если я смогу заставить их вызываться, когда оружие должно стрелять "в радиусе действия и уроне, нанесенном переключателем"
Спасибо Вам за вашу помощь и терпение
0x01AA
Там, кажется, тоже есть логическая ошибка, см. ваше первое "если".if (range <= 0 && range >= 0)
это будет единственный путь, который будет выполнен.
Member 13253172
да теперь я вижу это спасибо