Система знакомств N против N из списка - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь создать систему подбора друзей ... как она будет работать?

Подключенные пользователи появятся в списке, а затем они будут случайным образом выбраны как: 3 против 3 и т.д. в зависимости от четного количества игроков

У меня есть что-то вроде этого

Список с никами:

List<string> list = new List<string>() { "Bob", "Michael", "Adrian", "Daniel", "Denzel", "Peter" }; //etc

Позже я пытаюсь выбрать их из списка:

  foreach (var item in list.OrderBy(f => Guid.NewGuid()).Distinct().Take(list.Count() / 2 ))
    {
     Console.WriteLine(item);
    }

Теперь он перечислит 3 из них случайным образом, но как мне перечислить следующие ники, которые будут выводить что-то вроде:

Дензел Майкл Питер
против
ДаниэльБоб Адриан

1 Ответ

0 голосов
/ 21 мая 2019

Попробуйте этот код:

    List<string> list = new List<string>() { "Bob", "Michael", "Adrian", "Daniel", "Denzel", "Peter" }; //etc
    var milist = list.OrderBy(f => Guid.NewGuid()).Distinct().ToList();
    string firstTeam = "";
    foreach (var item in milist.Take(list.Count() / 2))
    {
        firstTeam += item + ", ";
    }
    firstTeam = firstTeam.Substring(0, firstTeam.Length - 2);
    string secondTeam = "";
    foreach (var item in milist.Skip(list.Count() / 2))
    {
        secondTeam += item + ", ";
    }
    secondTeam = secondTeam.Substring(0, secondTeam.Length - 2);
    Console.WriteLine(firstTeam + " vs " + secondTeam);
    Console.ReadKey();

просто убедитесь, что количество игроков это четное число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...