int rand = Convert.ToInt32(project.Variables["rand"].Value);
for (int i = 0; i < 10; i++)
{
if (rand != nenujnoe_chyslo) {continue;}
else {project.Variables["rand"].Value = Convert.ToString(rand); return 0;}
}
спасибо, попробуюЧерез код. Одним кубиком. Типо такого:
Лень сейчас думать, если честно.Код:int rand = Convert.ToInt32(project.Variables["rand"].Value); for (int i = 0; i < 10; i++) { if (rand != nenujnoe_chyslo) {continue;} else {project.Variables["rand"].Value = Convert.ToString(rand); return 0;} }
спасибоТак думаю будет чуть-чуть правильней.Код:string error = "Все гуд"; int rand = Convert.ToInt32(project.Variables["rand"].Value);//записываем в локальную переменную значение из переменной проекта int nenujnoe_chyslo = Convert.ToInt32(project.Variables["nenujnoe_chyslo"].Value);//записываем в локальную переменную значение из переменной проекта for (int i = 0; i < 10; i++)//цикл на 10 итераций { if (rand == nenujnoe_chyslo) {error = "Число плохое"; continue;}//если число, которое зарандомило равно ненужному, пропускаем итерацию else {error = "Все гуд"; break;}//если число подходит, то выходим из цикла и возвращаем нужное значение } if (error == "Число плохое")//если нет подходящего числа {throw new Exception();}//кубик выходит по красному пути return error;
Самое главное тебе понять логику, что нужно сделать в коде. Сможешь сам написать под свои нужды, если разберешься.
Только, если я правильно понимаю, не силен в c#, этим кодом будет возвращать первое нужное число.., а надо чтоб из оставшихся тож рандомно брал... если конечно я код правильно понимаю )))Так думаю будет чуть-чуть правильней.Код:string error = "Все гуд"; int rand = Convert.ToInt32(project.Variables["rand"].Value);//записываем в локальную переменную значение из переменной проекта int nenujnoe_chyslo = Convert.ToInt32(project.Variables["nenujnoe_chyslo"].Value);//записываем в локальную переменную значение из переменной проекта for (int i = 0; i < 10; i++)//цикл на 10 итераций { if (rand == nenujnoe_chyslo) {error = "Число плохое"; continue;}//если число, которое зарандомило равно ненужному, пропускаем итерацию else {error = "Все гуд"; break;}//если число подходит, то выходим из цикла и возвращаем нужное значение } if (error == "Число плохое")//если нет подходящего числа {throw new Exception();}//кубик выходит по красному пути return error;
Самое главное тебе понять логику, что нужно сделать в коде. Сможешь сам написать под свои нужды, если разберешься.
Я, наверное, пьяный. Зачем то впихнул цикл, когда он не нужен.спасибо
int rand = Convert.ToInt32(project.Variables["rand"].Value);//записываем в локальную переменную значение из переменной проекта
int nenujnoe_chyslo = Convert.ToInt32(project.Variables["nenujnoe_chyslo"].Value);//записываем в локальную переменную значение из переменной проекта
if (rand == nenujnoe_chyslo)//если число, которое зарандомило равно ненужному
{
throw new Exception()//то выходим из блока по красной ветке
}
else {return 0;}//если число подходит, то выходим из блока по зеленой ветке
Если хочешь, скинь шаб тестовый (в лс, или как) и я напишу тебе код, а то это ни к чему не приведет.Только, если я правильно понимаю, не силен в c#, этим кодом будет возвращать первое нужное число.., а надо чтоб из оставшихся тож рандомно брал... если конечно я код правильно понимаю )))
Привычка.а для чего return, если не по красной то он и так выйдет по зелёной т.к. там никакой проверки нет
ну интересующий кусок, это рандомное число от 1 до 11, и свич на 10 выходов по этим числам.. в процессе, допустим, по третей и седьмой ветке выходить больше не надо, а по оставшимся восьми так же рандомно продолжитьЕсли хочешь, скинь шаб тестовый (в лс, или как) и я напишу тебе код, а то это ни к чему не приведет.
Спасибо, думаю так будет работать .. не посмотреть покаЯ, наверное, пьяный. Зачем то впихнул цикл, когда он не нужен.
Код:int rand = Convert.ToInt32(project.Variables["rand"].Value);//записываем в локальную переменную значение из переменной проекта int nenujnoe_chyslo = Convert.ToInt32(project.Variables["nenujnoe_chyslo"].Value);//записываем в локальную переменную значение из переменной проекта if (rand == nenujnoe_chyslo)//если число, которое зарандомило равно ненужному { throw new Exception()//то выходим из блока по красной ветке } else {return 0;}//если число подходит, то выходим из блока по зеленой ветке
ЛовиСпасибо, думаю так будет работать .. не посмотреть пока
Random rand = new Random();//создаем команду для рандома
int rand_chys;//рандомим от 1 до 10
int nenujnoe_chyslo;//создаем переменную для ненужного числа
string error;//переменная для проверки совпадения
do
{
rand_chys = rand.Next(1, 11);//рандомим от 1 до 10
error = "Good";//переменная для проверки совпадения
for (int i = 0; i < project.Lists["Ненужные варианты"].Count; i++)//цикл с итерациями по количеству строк в списке
{
nenujnoe_chyslo = Convert.ToInt32(project.Lists["Ненужные варианты"][i]);//берем из списка по индексу ненужное число
if (rand_chys == nenujnoe_chyslo)//если число, которое зарандомило равно ненужному
{
error = "Bad";//плохое число
break;
}
}
}
while (error != "Good");
project.Variables["chys"].Value = Convert.ToString(rand_chys);
return rand_chys;
Спасибо, очень помогли, только если ненужные варики убрать из списка, код с ошибкой идетЛови
В список заносишь ненужные варианты (можно к файлу привязать).Код:Random rand = new Random();//создаем команду для рандома int rand_chys;//рандомим от 1 до 10 int nenujnoe_chyslo;//создаем переменную для ненужного числа string error;//переменная для проверки совпадения do { rand_chys = rand.Next(1, 11);//рандомим от 1 до 10 error = "Good";//переменная для проверки совпадения for (int i = 0; i < project.Lists["Ненужные варианты"].Count; i++)//цикл с итерациями по количеству строк в списке { nenujnoe_chyslo = Convert.ToInt32(project.Lists["Ненужные варианты"][i]);//берем из списка по индексу ненужное число if (rand_chys == nenujnoe_chyslo)//если число, которое зарандомило равно ненужному { error = "Bad";//плохое число break; } } } while (error != "Good"); project.Variables["chys"].Value = Convert.ToString(rand_chys); return rand_chys;
Рандомит до тех пор, пока не возмет нужный тебе вариант. Если я тебя првильно понял.
P.S. Если нужно единожды зарандомить, то меняешь break; на throw new Exception();. И кубик уйдет по красной ветке
Удаляйте полностью строку, а не значение в ней. Через клавишу Del. Значения для проверки должны быть числовые, без пробелов и т.п.Спасибо, очень помогли, только если ненужные варики убрать из списка, код с ошибкой идет