Кейсы до определенного значения
Доброго вечера , небольшой вопрос по кейсам. (см код ниже).
Хочу сделать так, что бы rewardAmount установил значение в 50 после 20 кейса, и до определенного значения. Что то вроде диапазона кейсов., где внутри нужно устанавливать тот же параметр Т.е. примерно так Код:
case 20: rewardAmount = 50; break; Код:
switch(Player.mobkill) |
Re: Кейсы до определенного значения
|
Re: Кейсы до определенного значения
Видел, читал. но ответа на вопрос так и не нашел. Вопрос мой вообще-то в другом..
Как использовать все промежуточные кейсы, до первого брека, не вписывая каждое значение кейса? допустим у меня 200-300 значений case: Код:
case 1: var = 1; Код:
case 1: |
Re: Кейсы до определенного значения
Код:
if(var > 4 && var < 299) |
Re: Кейсы до определенного значения
first-post:Развернуть ↓Оператор switch имеет довольно специфичную структуру на низком уровне и не предназначен для использования ренджей. Также, Вы несколько неверно понимаете что такое case. Они не могут быть вложенными, но могут вести в один и тот же блок кода (что в Вашем случае как раз и происходит). Если Вы точно знаете, что при mobKill равном 1 награда 10, при mobKill равном 2 награда 20, а во всех остальных случаях награда 500, то занесите ее в default. Если нужно несколько таких ренджей, то спасет, наверное, только if. Switch не обладает гибкостью, однако, в целом, работает немного быстрее, чем if, но этого не будет в Вашем случае - Вы просто раздуете код. |
Re: Кейсы до определенного значения
Если вы все же хотите зарисовать кейс для души то у вас есть 2 варианта:
1. Код:
switch(Player.mobkill) Код:
switch(Player.mobkill) |
Re: Кейсы до определенного значения
Цитата:
Если не верите мне, то можно посмотреть ассемблерный код теста, после прогонки jit'ом. |
Re: Кейсы до определенного значения
http://www.ashishpaliwal.com/blog/20...ich-is-better/
Исходя из этого можно сказать, что существенной разницы между if-else и switch - нет, а остальное - дело вкуса, удобства, опыта. |
Re: Кейсы до определенного значения
Цитата:
Цитата:
|
Текущее время: 11:18. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot