Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
13 / 15 / 5
Регистрация: 01.05.2013
Сообщений: 351
1

Алгоритм выдачи роли в игре "Мафия"

11.11.2014, 21:04. Показов 2753. Ответов 5
Метки нет (Все метки)

Вообщем, встал перед такой вот проблемой:
Игроков может быть X>8. Мафия: 1 к 4, комиссары: 1 к 2 мафам, доктор (1 к 1 ком) - 1.
Так вот, я никак не могу составить правильный рандом, что бы в любом случае он работал.
Есть ли у кого идеи?
0

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

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2014, 21:04
Ответы с готовыми решениями:

Известны сорта роз, выращиваемых тремя цветоводами: "Анжелика", "Виктория", "Гагарин", "Ave Maria", "Катарина", "Юбилейн
Известны сорта роз, выращиваемых тремя цветоводами: "Анжелика", "Виктория", "Гагарин", "Ave...

Дан массив строк: "red", "green", "black", "white", "blue". Запишите в файл элементы массива построчно (в новой строке)
пишу так но не помогает: static void Main(string args) { string...

Оптимизация кода сервера (игра "Мафия")
Здравствуйте, пишу сервер для игры мафия. Я только начал, так что это ещё не весь код. Подскажите...

Приоритеты выдачи: сначала выдавать записи со значением "q", затем "sh", и в конце "s"
Есть небольшая база данных (предположим 10 записей). Есть столбик "Game", он может принимать 3...

5
2509 / 1130 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
11.11.2014, 23:05 2
погодите. но X (количество игроков) - это же не случайная величина?
Значит и количество персонажей (мафии, мирных жителей, комиссаров и прочих) тоже заданное число.
Где тут рандом?!
0
13 / 15 / 5
Регистрация: 01.05.2013
Сообщений: 351
11.11.2014, 23:17  [ТС] 3
Sergio Leone, X - заданное количество игроков, которое от 8 до бесконечности.
Рандом тут идёт в самом выдаче игрокам ролей.
Т.е. , мне надо X игрокам дать одну из ролей: мафия, гражданин, комиссар или доктор, но если дать первым 3-Y игрокам права мафии, потом: права комиссаров, потом докторов, ну а остальным граждан, то все поймут в чём дело.
Рандом нужен, что бы давались роли различным игрокам, а не подряд.
0
2509 / 1130 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
11.11.2014, 23:23 4
Вот если игроков будет 9 (например)
то сколько будет кого?

А вам нужно не количестов мафиози случайным образом задавать.
А раздать роли случайным образом.
Я бы рекомендовал это делать так.
1) вычисляете, сколько кого должно быть в завимости от X (общего числа игроков)
2) заполняете массив ролями персонажей. Вначале мафия, потом комиссар(ы), доктор, жители и т.д.
размер массива, очевидно, X
3) перемешиваете массив случайным образом.
4) выдаёте роли из перемешанного массива.

p.s. с каким пунктом помочь?
0
13 / 15 / 5
Регистрация: 01.05.2013
Сообщений: 351
11.11.2014, 23:28  [ТС] 5
Sergio Leone, я про выдачу ролей и говорю.
С третьим, пожалуйста.

А на счёт второго:
Разве можно добавлять в массив новые элементы?
0
2509 / 1130 / 582
Регистрация: 07.06.2014
Сообщений: 3,281
11.11.2014, 23:34 6
Цитата Сообщение от jwplaster Посмотреть сообщение
С третьим, пожалуйста.
посмотрите тут - https://www.cyberforum.ru/post6516762.html


правда, там язык Java, но, если у Вас проблемы с переводом с Java на C# будут - я завтра набросаю примерчик на C#.
сегодня, простите, уже отбой!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2014, 23:34

Алгоритм ходов компьютера в карточной игре "Дурак"
Здравствуйте. Помогите пожалуйста с реализацией алгоритма ходов компьютера. Я понимаю что должно...

Написать алгоритм расчета победы в сетевой игре "Крестики-нолики"
День добрый уважаемые форумчане. В качестве упражнения делаю маленькую игрушку- крестики-нолики по...

Алгоритм хода компьютера в игре "Крестики-Нолики" на неограниченном поле
Крестики нолики на неограниченном поле

Алгоритм выбора "К" в игре бросания мяча
Доброго времени суток. Сын ходит в школу программистов задали задачу, не можем додуматься). Она...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.