Кузница Богов
| |
maxsimus | Дата: Суббота, 20 Ноября 2010, 22:57 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Название - Кузница Богов (Forge of the Gods) Жанр - Браузерная ММОРПГ Язык - PHP Похожие игры - barbars.ru, vten.ru Здравствуйте уважаемые форумчане, об игре из соображений безопасности много рассказать не могу, игра еще на стадии разработки. Возникла такая проблемка - разделение игроков на арене по сумме параметров Допустим это арена 3 на 3, требуется разделить игроков на 2 команды (по 3 игрока в каждой), используя их сумму параметров Тут скорее математика, чем программирование, есть люди понимающие в этом? скрин: немного похвастаюсь художником=)
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
|
|
| |
TheShowMustGoOn | Дата: Суббота, 20 Ноября 2010, 23:12 | Сообщение # 2 |
I think I'm a banana tree
Сейчас нет на сайте
| maxsimus, Напиши какие есть параметры и на что они влияют. Как они улучшаются (пример приведи). Можно будет прикинуть как с минимальным "кровопролитием" разбросать игроков Арты, кстати, классные
You Take My Breath Away
|
|
| |
vicmad | Дата: Суббота, 20 Ноября 2010, 23:15 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Предлагаю делить игроков на "Богов" и "убогих", богов вместе а убогих в кучу. Баланса игрового никакого но зато реальщики будут довольны. Остальных завлекать в игру лозунгами типа "... почувствуй себя Мясом..,!" шучу
|
|
| |
TheShowMustGoOn | Дата: Суббота, 20 Ноября 2010, 23:18 | Сообщение # 4 |
I think I'm a banana tree
Сейчас нет на сайте
| Quote (vicmad) почувствуй себя Мясом..,! Зря шутишь Идея может не из лучших, но фраза звучит хорошо))) З.Ы. Утащил фразу в блокнот))
You Take My Breath Away
Сообщение отредактировал TheShowMustGoOn - Суббота, 20 Ноября 2010, 23:19 |
|
| |
maxsimus | Дата: Суббота, 20 Ноября 2010, 23:21 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| TheShowMustGoOn, параметры не важны, важнно по сумме параметров разделять, допустим в очереди стоят: 1. Вася - 7500 2. Петя - 5000 3. Коля - 5000 4. Максим - 7000 5. Олег- 5000 6. Ваня - 5000 Это суммы параметров шести игроков, как сделать чтобы разница между суммой параметров первой команды и второй была самой минимальной, допустим получилось так: Команда № 1 1. Вася - 7500 2. Петя - 5000 3. Коля - 5000 сумма - 17.500 Команда № 2 4. Максим - 7000 5. Олег- 5000 6. Ваня - 5000 сумма - 17.000 разница всего в 500
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
Сообщение отредактировал maxsimus - Суббота, 20 Ноября 2010, 23:27 |
|
| |
lvovand | Дата: Суббота, 20 Ноября 2010, 23:32 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| навскидку, вот у тебя 6 игроков 1,2,3,4,5,6 сделай сравнение возможных команд 123 456 124 356 125 346 126 345 234 156 345 126 где разность параметров минимальна, на том варианте и остановиться
Разработка и продвижение сайтов. Дизайн
Сообщение отредактировал lvovand - Суббота, 20 Ноября 2010, 23:33 |
|
| |
TheShowMustGoOn | Дата: Суббота, 20 Ноября 2010, 23:33 | Сообщение # 7 |
I think I'm a banana tree
Сейчас нет на сайте
| maxsimus, Сложно в такое время трезво мыслить)) Общее кол-во участников делим на 2 (в данном случае число = 3, ведь участников 6). Берем данные 3х участников и складываем их. Получившаяся цифра должна быть не больше чем сумма параметров всех 6 участников деленная на 2, но и не сильно мала (для этого сперва берутся для вычисления персонажи с самыми большими параметрами). Оставшиеся 3 игрока идут во 2 команду. Как-то так)) можно еще мелочи какие-нибудь добавить). ... а можно сделать лобби и пусть игроки вручную друг друга балансируют ))
You Take My Breath Away
|
|
| |
maxsimus | Дата: Суббота, 20 Ноября 2010, 23:42 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| Quote (TheShowMustGoOn) а можно сделать лобби и пусть игроки вручную друг друга балансируют )) не, вручную точно нельзя делать А то что ты описал выши это я и сам представляю себе, нужна формула или её подобие но всё равно спасибо за совет=)
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
|
|
| |
Lorderon | Дата: Суббота, 20 Ноября 2010, 23:46 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Quote (maxsimus) не, вручную точно нельзя делать А то что ты описал выши это я и сам представляю себе, нужна формула или её подобие но всё равно спасибо за совет=) Можно посредством массива.
|
|
| |
maxsimus | Дата: Суббота, 20 Ноября 2010, 23:56 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| Quote (Lorderon) Можно посредством массива. можно подробней саму сортировку и тп
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
|
|
| |
Serg1971 | Дата: Воскресенье, 21 Ноября 2010, 00:11 | Сообщение # 11 |
Весёлый программист
Сейчас нет на сайте
| maxsimus, дам тебе алгоритм попроще, если у тебя чётное количество игроков... Выстраиваешь их очки в порядке убывания, методом пузырьковой сортировки массива. Потом делишь так: первого сверху - в левую команду, следующего в правую, следующего снова в правую, другого в левую, и повторяешь цикл... Проверь - нормально работает! И на код хорошо ложиться!
|
|
| |
maxsimus | Дата: Воскресенье, 21 Ноября 2010, 00:19 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Serg1971, так это методом тыка получается, параметры у игроков могут быть разные Quote (maxsimus) 1. Вася - 7500 2. Петя - 5000 3. Коля - 5000 4. Максим - 7000 5. Олег- 5000 6. Ваня - 5000 твоим способом может получится: Команда №1 Вася - 7500 Максим - 7000 Коля - 5000 Команда №2 Олег- 5000 Ваня - 5000 Петя - 5000 -- то-есть вторая команда получится намного слабееДобавлено (21.11.2010, 00:19) --------------------------------------------- Можно было бы применить этот метод если бы числа были не такие большие. Тут же идёт речь о тысячах и разница может быть большой. Если в простых играх там параметры 20 25 30, то тут же 500 1000 5000 и тп Потому нужен алгоритм по лучше)) А именно со всеми возможными вариантами
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
|
|
| |
Serg1971 | Дата: Воскресенье, 21 Ноября 2010, 00:26 | Сообщение # 13 |
Весёлый программист
Сейчас нет на сайте
| Quote (Serg1971) Выстраиваешь их очки в порядке убывания, методом пузырьковой сортировки массива. Сортировка сначала нужна! Метод пузырька в массивах - это выстраивание значений по рангу - по возрастанию и убыванию... Quote (maxsimus) 1. Вася - 7500 2. Петя - 5000 3. Коля - 5000 4. Максим - 7000 5. Олег- 5000 6. Ваня - 5000 после сортировки: 1. Вася - 7500 4. Максим - 7000 2. Петя - 5000 3. Коля - 5000 5. Олег- 5000 6. Ваня - 5000 Делим по алгоритму... 1. Вася - 7500 4. Максим - 7000 3. Коля - 5000 2. Петя - 5000 5. Олег- 5000 6. Ваня - 5000 Работает при любых числах...
Сообщение отредактировал Serg1971 - Воскресенье, 21 Ноября 2010, 00:27 |
|
| |
maxsimus | Дата: Воскресенье, 21 Ноября 2010, 00:42 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| Serg1971, интересно, а если сделать чтоб в очередь набиралось 20 игроков, в это время система проверяет суммы параметров и пытается подобрать равные команды, сможешь расписать для этого алгоритм? Потомучто если брать с 6 игроками может получится что у всех 5000, а у одного 7000, в итоге равных команд не сделать
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
|
|
| |
Serg1971 | Дата: Воскресенье, 21 Ноября 2010, 00:46 | Сообщение # 15 |
Весёлый программист
Сейчас нет на сайте
| maxsimus, Ты мне - сколько игроков говори и сколько команд(по сколько человек) надо, для разных случаев - разные алгоритмы...
|
|
| |
maxsimus | Дата: Воскресенье, 21 Ноября 2010, 00:49 | Сообщение # 16 |
постоянный участник
Сейчас нет на сайте
| смотри, если вот так 20 7 6 2 1 0 То получается команда 1 20 2 1 команда 2 7 6 0 не самый лучший вариант по этому методу. Или я где то ошибсяДобавлено (21.11.2010, 00:49) ---------------------------------------------
Quote (Serg1971) maxsimus, Ты мне - сколько игроков говори и сколько команд(по сколько человек) надо, для разных случаев - разные алгоритмы... арена, 2 команды, по 3 игрока в каждой
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
|
|
| |
Serg1971 | Дата: Воскресенье, 21 Ноября 2010, 00:58 | Сообщение # 17 |
Весёлый программист
Сейчас нет на сайте
| Quote (maxsimus) 20 7 6 2 1 0 При такой большой разнице - необходимо условие минимакса ставить... Если одно значение превышает по сумме - три следующих, необходимо алгоритм применять снизу, т. в одну команду три числа после максимального, а следующее число - с низу в команду к максимальному прибавлять...
|
|
| |
maxsimus | Дата: Воскресенье, 21 Ноября 2010, 01:05 | Сообщение # 18 |
постоянный участник
Сейчас нет на сайте
| Serg1971Quote (maxsimus) интересно, а если сделать чтоб в очередь набиралось 20 игроков, в это время система проверяет суммы параметров и пытается подобрать равные команды, сможешь расписать для этого алгоритм? Если знаешь канечна как реализовать=)
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
|
|
| |
Serg1971 | Дата: Воскресенье, 21 Ноября 2010, 01:09 | Сообщение # 19 |
Весёлый программист
Сейчас нет на сайте
| Максимально сколько в очереди стоять может? И всего две команды набирается из них, да? По порядку, или по рангу параметров, чтоб выдержать одинаковые команды? То есть можно брать - 1, 12, 16 и 3, 4,19 ?
|
|
| |
maxsimus | Дата: Воскресенье, 21 Ноября 2010, 01:13 | Сообщение # 20 |
постоянный участник
Сейчас нет на сайте
| Хотя стопе вроде понятно как 20 распределить теперь, выделяем эти 6, убираем из списка. Мы ведь отсортировали его весь, значит в любом случае всё будет кул. И далее смотрим оставшиеся Добавлено (21.11.2010, 01:13) --------------------------------------------- Quote (Serg1971) Максимально сколько в очереди стоять может? 20 Quote (maxsimus) И всего две команды набирается из них, да? да, две команды по 3 человека в каждой Quote (Serg1971) По порядку, или по рангу параметров, чтоб выдержать одинаковые команды? По сумме параметров, тоесть у игрока есть сила ловкость броня и т.д. все это складывается, получается сумма одного игрока, так вот надо чтоб сумма трех игроков в одной команде была примерно одинакова (разница минимальна) сумме второй команды
Магический мир (HTML5) - гейм-дизайн Кузница богов (HTML5) - гейм-дизайн Max Speed - гейм-дизайн Битва титанов - гейм-дизайн Танки - гейм-дизайн Война за власть - гейм-дизайнер Кузница Богов (Forge of the gods) - гейм-дизайн
Сообщение отредактировал maxsimus - Воскресенье, 21 Ноября 2010, 01:15 |
|
| |
|