Форум программистов, компьютерный форум CyberForum.ru

Генератор футбольного матча - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.70
generation472
 Аватар для generation472
19 / 19 / 2
Регистрация: 04.11.2011
Сообщений: 543
Записей в блоге: 1
17.11.2012, 20:08     Генератор футбольного матча #1
Здравствуйте я хочу написать генератор футбольного матча для своего сайта и есть кое какие вопросы!
данные о игроках будут браться из базы данных, я не прошу написать мне сам код соединения и всё такое мне нужно алгоритм, общее представление что из себя представляет Генератор , почему один игрок забил гол , а другой получил желтую карточку и т.д. , как он это делает?
после генерации матча од должен вывести кто забил , сколько ударов было по воротам в створ и тд, хоть какие то идеи по вычисление победителя
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
korsarqa
 Аватар для korsarqa
7 / 7 / 0
Регистрация: 06.12.2011
Сообщений: 170
17.11.2012, 20:17     Генератор футбольного матча #2
Тут абсолютно каждый показатель надо прописывать в отдельной функции. Делал быстро, но смысл надеюсь поймешь

для примера количество голов забитых одной командой

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
int score;
int x=rand()%101;
if (0<=x<=50) {
score=1;
} else if (51<=x<=75) {
score=2;
} else if (76<=x<=90) {
score=3;
} else {
score=4}
return score;
}
Если брать например, кто забил то можно брать расчет, что у нападающих процент забить больше, также как и 1 гол забивают чаще чем 2 и более. Либо можно по показателям игроков брать если они конечно будут внесены в базы данных
generation472
 Аватар для generation472
19 / 19 / 2
Регистрация: 04.11.2011
Сообщений: 543
Записей в блоге: 1
17.11.2012, 20:32  [ТС]     Генератор футбольного матча #3
неплохо, спс а что если этот x получать не рэндом а учитывая такие показатели как сила команд , потом домашний бонус или ещё учёт тактики

Добавлено через 50 секунд
показатели игроков будут

Добавлено через 28 секунд
спс за идею будем думать дальше
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,891
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 21:05     Генератор футбольного матча #4
Цитата Сообщение от generation472 Посмотреть сообщение
а что если этот x получать не рэндом а учитывая такие показатели как сила команд
Вам в любом случае понадобиться какая-то случайная составляющая, иначе у Вас результаты игр одних и тех же команд при одинаковых условиях будут одинаковые, что не есть хорошо.
generation472
 Аватар для generation472
19 / 19 / 2
Регистрация: 04.11.2011
Сообщений: 543
Записей в блоге: 1
17.11.2012, 21:19  [ТС]     Генератор футбольного матча #5
Croessmah, ну допустим коллизия , если тактика одной команды выигрывает у другой то +
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,891
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 21:24     Генератор футбольного матча #6
Цитата Сообщение от generation472 Посмотреть сообщение
Croessmah, ну допустим коллизия , если тактика одной команды выигрывает у другой то +
ну одной тактики будет мало. Нужно учитывать намного больше параметров.
generation472
 Аватар для generation472
19 / 19 / 2
Регистрация: 04.11.2011
Сообщений: 543
Записей в блоге: 1
17.11.2012, 21:30  [ТС]     Генератор футбольного матча #7
Croessmah, ну да в этом то и проблемы поэтому я задал этот вопрос чтобы мне помогли с алгоритмом вычисления , также можно приписать сюда домашний бонус

Добавлено через 3 минуты
да и ещё что мне нужно то, это алгоритм вычисления цены игрока за счёт его опыта и его возраста, то есть чем больше опыта тем больше стоит игрок , чем он моложе и слабее по силе тем он меньше стоит
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,891
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 21:30     Генератор футбольного матча #8
Цитата Сообщение от generation472 Посмотреть сообщение
ну да в этом то и проблемы поэтому я задал этот вопрос чтобы мне помогли с алгоритмом вычисления
Не думаю, что простого a+b+c+d>g+f+d+c здесь будет достаточно. Тут необходимо разработать целый математический блок (ну для хороших результатов). И алгоритм придется разрабатывать самому и убеждаться, что он работает верно, ибо если пять из десяти матчей сборная Андоры выигрывает у сборной Испании, то алгоритм явно не подойдет =)
generation472
 Аватар для generation472
19 / 19 / 2
Регистрация: 04.11.2011
Сообщений: 543
Записей в блоге: 1
17.11.2012, 21:38  [ТС]     Генератор футбольного матча #9
Croessmah, ну это понятно )))

Добавлено через 3 минуты
вот нашел в нэте такой алгоритм
скажите харош ли он если нет то что в нём подправить
Генератор расчитывает результаты матчей примерно следующим образом:


1.Расчитываются разница в силе, чем больше, тем больше баллов поступают в квоту команды, которая сильнее.

2.Расчёт коллизии (выигрыш одного стиля игры над другим), при выигрышной коллизии команда соответсвенно получает определённое количество баллов в квоту.

3.Расчёт домашнего бонуса (кроме товарищеских игр), также чем больше зрителей тем больше бонус, вернее тем больше баллов в квоту, если зрителей меньше половины стадиона то происходит вычитание из квоты. Наполняемость на данный момент зависит от погоды и от цены на билет.

4.Расчёт по тактике, допустим супернападение даёт чуть больше в квоту чем просто нападение, но допустим при катеначчио нападение сказывается опятьже отрицательно.

5.Расчёт расстановки происходит так. Защитник закрывающий игрока нападения даёт плюс в квоту (две линии, защита и полузащита защитного плана). Далее от полузащиты до нападения все 3 линии считаются так, что если игрок открыт, то он приносит баллы в квоту.

6. Расчёт карточек происходит абсолютно случайным образом.

7.Расчёт владения мячом зависит от квоты команды, соответсвенно у кого больше квота, тот и имеет больший процент владения.

8.Расчёт ударов. Если у команды нет нападающих, то количество ударов сокращается вдвое (такой вариант походит на катеначчио с защитной тактикой). Удары в створ ворот расчитываются так, берётся рендомное количество ударов, но столько, чтобы не превышало общее количество ударов, из которых будут расчитываться голы.

9. Расчёт голов. Берётся квота команды и вставляется в код, в котором присутсвует рендом. Принцип расчёта таков, что берётся количество ударов в створ ворот, и рендом решает был ли удар результативным. Соответсвенно чем больше ударов тем больше шансов на результативный удар. Каждый удар просчитывается так что, берётся рендомное число в определённых рамках и сравнивается с квотой команды, если квота больше числа то удар результативный.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,891
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 21:44     Генератор футбольного матча #10
Цитата Сообщение от generation472 Посмотреть сообщение
6. Расчёт карточек происходит абсолютно случайным образом.
Сюда бы добавил, что еще зависит от настроения судьи и от стиля игры отдельного игрока(больше будет правды).
Цитата Сообщение от generation472 Посмотреть сообщение
7.Расчёт владения мячом зависит от квоты команды, соответсвенно у кого больше квота, тот и имеет больший процент владения.
Можно, но опять приходим к формуле a+b>c+d

Так же можно добавить +команде, если перерывы между матчами были достаточными для нормального отдыха. Также "навыки" тренера и т.д.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 21:51     Генератор футбольного матча
Еще ссылки по теме:

C++ Жеребьевка футбольного чемпионата
Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча C++
Определить общее число и общее время удалений за время матча C++

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

Или воспользуйтесь поиском по форуму:
generation472
 Аватар для generation472
19 / 19 / 2
Регистрация: 04.11.2011
Сообщений: 543
Записей в блоге: 1
17.11.2012, 21:51  [ТС]     Генератор футбольного матча #11
насчёт отдыха у меня была такая идея что после каждого матча у игрока отнимается по 2% от физ подготовки и если он не успевает востановить между перерывами между матчами то эти 2% отнимаются от общей его силы и на следующий матч он уже отправится с силой допусти не 75 а 73 и тд.


с затрещавшего дня начну кодировать)
Yandex
Объявления
17.11.2012, 21:51     Генератор футбольного матча
Ответ Создать тему
Опции темы

Текущее время: 18:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru