Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 18:55   #1
GriFFoN
Пользователь
 
Аватар для GriFFoN
 
Регистрация: 03.06.2011
Сообщений: 54
По умолчанию Нужен алгоритм

Добрый вечер. Не могу составить нормально алгоритм. Вообщем есть неопределенное кол-во игроков. Есть уровни игроков (максимальный 120). Вообщем, можно расценивать это как турнир. Т.е скрипт должен распределить игроков по местам(1,2,3 и т.д).
Проблема в том, что игроки меньшие уровнем также должны иметь шансы на победу(просто у больших уровней, должно быть больше шансов).
Так вот, не могу придумать хороший алгоритм. Реализовать я сам смогу.
GriFFoN вне форума Ответить с цитированием
Старый 16.04.2012, 19:03   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от GriFFoN Посмотреть сообщение
скрипт должен распределить игроков по местам(1,2,3 и т.д).
Какой показатель определяет положение игрока на определенном месте (1,2,3 и т.д)?
В какой зависимости этот показатель находится от уровня игрока?
Какой показатель определяет шансы игрока на победу?
В чем суть самой игры?
Andkorol вне форума Ответить с цитированием
Старый 16.04.2012, 19:14   #3
GriFFoN
Пользователь
 
Аватар для GriFFoN
 
Регистрация: 03.06.2011
Сообщений: 54
По умолчанию

Возможно, я не правильно объяснил.
Цитата:
Сообщение от Andkorol Посмотреть сообщение
Какой показатель определяет положение игрока на определенном месте (1,2,3 и т.д)?
Это уже итог. Т.е скрипт в итоге должен распределить игроков по местам. Места зависят не только от уровня игрока, но и , грубо говоря, от фарта.
Т.е игрок с 30 ур. может занять первое место, а игрок с 80 , может занять 2. Просто шансов должно быть меньше. Т.е чистого рандома не должно быть.
GriFFoN вне форума Ответить с цитированием
Старый 16.04.2012, 19:27   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от GriFFoN Посмотреть сообщение
Просто шансов должно быть меньше. Т.е чистого рандома не должно быть.
Ну, значит, должна быть какая-то зависимость, от какого-то показателя - раз рандом не устраивает.
Невозможно определить победителя - основываясь "ни на чем".
Даже рандом, по сути, тоже подчиняется определенным зависимостям - он не является 100% "чистым".
Эти ваши "выше уровень - больше шансов" - это тоже зависимость (на сколько именно больше).
Цитата:
Какой показатель определяет шансы игрока на победу?
В чем суть самой игры?
Andkorol вне форума Ответить с цитированием
Старый 16.04.2012, 19:48   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

1. ткрнир трех игороков
player / level
1 / 3
2 / 1
3 / 7

r:=random( 3+ 1+7); // сумма весовых фунций (весов/уровней)
m[k]:= {r=1,2,3} =1 если 1<=r<4 то номер игрока =1
{r=4} =2
{r=5,6,7,8,9.10,11} =3

2. "провести" турнир и по результатам турнирных встреч определить места.
результат встречи
r:=random(lev1+lev2 + lev00);
if l<lev1 then // победил первый
ielse if r<lev1+lev2 победил второй
else //ничья
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 16.04.2012 в 19:56.
evg_m вне форума Ответить с цитированием
Старый 16.04.2012, 23:55   #6
GriFFoN
Пользователь
 
Аватар для GriFFoN
 
Регистрация: 03.06.2011
Сообщений: 54
По умолчанию

Спасибо, но я уже сам придумал
GriFFoN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужен алгоритм aenk Помощь студентам 1 16.10.2011 21:28
нужен алгоритм!!! Юра123 Общие вопросы Delphi 0 29.07.2009 14:22