Как реализовать рандом с условием?

158
28 марта 2018, 02:21

Есть рандом который видает цифры 0 или 1. Нужно между 0 и 1 добавлять блок Angle_Left, а между 1 и 0 Angle_Top как сделать?

var Random = new Random();
for(int i=0;i<20;i++){
float rand = Random.Next(0,2);
if(rand == 0){
 Console.WriteLine(rand + " — " + "Left");
}
if(rand == 1){
 Console.WriteLine(rand + " — " + "Top");
}

Пример:

0 - Left
  - Angle_Left
1 - Top
1 - Top
1 - Top
  - Angle_Top
0 - Left
  - Angle_Left
1 - Top
  - Angle_Top
0 - Left
0 - Left
0 - Left
  - Angle_Left
1 - Top
1 - Top
Answer 1

Ну например:

Random r = new Random();
IEnumerable<int> GetRandomSequence()
{
    while (true)
        yield return r.Next(2);
}
IEnumerable<string> InsertCorners(IEnumerable<int> seq)
{
    int prev = -1;
    foreach (var curr in seq)
    {
        if (prev == 0 && curr == 1)
            yield return "  - Angle_Left";
        else if (prev == 1 && curr == 0)
            yield return "  - Angle_Top";
        if (curr == 0)
            yield return "0 - Left";
        else if (curr == 1)
            yield return "1 - Top";
        prev = curr;
    }
}

Тестируем:

foreach (var s in InsertCorners(GetRandomSequence().Take(20)))
    Console.WriteLine(s);

выдаёт

0 - Left
0 - Left
0 - Left
0 - Left
  - Angle_Left
1 - Top
1 - Top
1 - Top
  - Angle_Top
0 - Left
0 - Left
  - Angle_Left
1 - Top
1 - Top
  - Angle_Top
0 - Left
0 - Left
  - Angle_Left
1 - Top
1 - Top
1 - Top
  - Angle_Top
0 - Left
0 - Left
0 - Left
  - Angle_Left
1 - Top
READ ALSO
C# небольшая программа для отправки запросов и хранения данных

C# небольшая программа для отправки запросов и хранения данных

В общем суть заключается в создании небольшого приложения, которое подключается к сайту посредством кук и отправляет запросыПо мимо этого...

178
Некорректное отображение формы Windows Forms C#

Некорректное отображение формы Windows Forms C#

Проблема такая: после изменения размера формы и добавления пары элементов при запуске программы форма отображается меньше, чем нужноСвойство...

191
При создании нескольких классов не могу использовать переменные

При создании нескольких классов не могу использовать переменные

При создании нескольких классов не могу использовать переменные

168
Как запретить ввод с клавиатуры в richtextbox?

Как запретить ввод с клавиатуры в richtextbox?

В программе нужно запретить пользователю вводить что-либо с клавиатуры в richtextbox, но свойство Enabled = false не подходит, тк

180