Для начала, нужно понимать, что генератор это достаточно сложная штука. И задумывался он не просто как игровой движок, а как попытка сконструировать виртуальную модель матча. Т. е. это значит, что в программе реализованы модели игроков и физическое окружение, в которое эти игроки помещены. Можно сказать, что по полю бегают роботы. Они каждую единицу времени анализируют ситуацию на поле и принимают решения в зависимости от происходящего. Например, игрок может видеть, что он находится на расстоянии убойном для удара, значит, он принимает решение бить. А вратарь «видит», что в его направлении летит мяч и пытается его отбить (или поймать). Мяч при этом, точнее Удар, приобретает свойства, которые достаются ему от игрока, который бьет. Чем лучше спец умения, которые принимают участие в эпизоде, тем лучше получается действие. И они как бы несут эти свойства, до конца эпизода. Так если у игрока хорошие удар, техника, то и мяч «имеет» лучше свойства, которые «дойдут» до вратаря, когда тот будет ловить. Или аналогично при пасе — если пасующий имеет высокое умение, то и принять такой пас проще, а сопернику сложнее перехватить. От того как запрограммировать наших игроков-роботов и будет зависеть картинка матча. Умные они будут, или глупые. Можно все более усложнять программу, детализировать алгоритмы и тогда действия будут больше походить на реальный футбол. Так же хочу разъяснить на чем базируется определение исходов эпизодов в программе. Т. е. кто выйдет победителем в единоборстве между защитником и форвардом, что определяет поймает мяч вратарь или нет. Очень часто задают вопрос — мой игрок сильнее, но его обыграли. Существует две теории исходов событий. Первая предполагает, что в нашем мире всё предрешено и чтобы мы не делали, судьбу не изменить, как задумано, так и будет. Вторая же утверждает, что ни одно из событий не предрешено и на его исход можно влиять. Вот этот второй случай и лежит в основе основ нашей программы и описывается законами классической теории вероятности. Рассмотрим на примере, чтобы было более понятно. Возьмем знаменитую победу Ростова над Баварией, эпизод, когда Набоа забивает со штрафного. Логика программы исходит из того, что эпизод со штрафным может закончиться либо взятием ворот, либо не взятием. Вероятность этого события зависит от мастерства исполнителя. Т. е. мы можем влияет на исход - «взять» более мастеровитого футболиста и заставить его бить штрафной. При этом мы исходим, что Нобоа мог из 10 ударов забить 3, а более классный игрок, допустим 6. Но случилось так, как случилось — выпала вероятность забить. В итоге — победа Ростова! Не факт, что более классный игрок мог бы сыграть лучше, но вероятность при этом выше. Следует вывод, что в генераторе (как и в жизни) не всегда побеждает сильнейший, но на протяжении времени он будет делать это чаще. Так что — кто то называет судьбой то что было, мы же исходим из того, что судьба — то, что будет. ) Нужно понимать, что программа не содержит в себе каких то нарезок эпизодов или искусственной подгонки событий и результатов. То, что мы видим во время матча — это реальная работа каждого игрока на поле, его анализ ситуации и принятие решения. Предсказать все исходы развития ситуации невозможно. Поэтому иногда на поле могут быть казусы. К этому нужно отнестись с пониманием, хоть они и редки. Так же, не забывайте, то что вы видите на картинке — это всего лишь игра, программа. Она развивается, совершенствуется, стремиться быть похожей на реальный футбол, но все таки это игра. Игра со своими специфическими моментами. Надеемся, Вам будет интересно самому принять участие в развитии программы. Для любого участие на нашем проекте может стать увлекательным экспериментом по развитию интеллекта картины игры и приближению ее к реальному матчу.