ТЗ заказа

advertisement
Скрипт для теннисного сайта
Сначала в двух словах что это и зачем это нужно:
Данный скрипт необходимо установить на сайт www.amatour.ru
Это будет общий рейтинг теннисистов-любителей по России. То есть любой игрок сможет
зайти на сайт и посмотреть свое положение в рейтинге на данный момент времени.
Рейтинг будет постоянно обновляться (по мере того, как будут проходить теннисные
турниры)
Всю информацию (отчет по турнирам) в скрипт должен заносить администратор сайта. То
есть у него должен быть свой вход в программу, который не видим для обычных
пользователей – посетителей сайта.
Интерфейс желательно на Аякс.
Данный скрипт должен состоять из двух частей:
Сначала ссылка Рейтинг – человек попадает на главную страницу рейтинга, где:
Форма поиска по рейтингу
График, (по оси х – дата турнира, по оси у – кол-во участников)
Общая статистика игрока
Личная статистика игрока
1.
Первая часть
– непосредственно сам рейтинг, который будут смотреть
теннисисты.
Игрок себя может посмотреть сразу в нескольких рейтингах. Что хочу сказать: То есть
у рейтинга будут как бы несколько уровней.
Первый уровень - Сначала пользователь выбирает разряд, по которому он хочет
посмотреть рейтинг. Разрядов бывает пять:
1. Мужской одиночный разряд
2. Мужской парный разряд
3. Микст
4. Женский одиночный разряд
5. Женский парный разряд
Второй уровень – Возрастная группа.
Это последний уровень поиска. По нему игрок определяет свое местоположение в
рейтинге еще и по возрастной группе.
Возрастных групп всего
1. до 20 лет
2. от 20 до 40 лет
3.
4.
5.
6.
40+
45+
50+
55+
Третий уровень – Общий рейтинг (То есть тут подсчитаны показатели теннисистов по
всей России). Тут пользователь смотрит свое положение в самом масштабном и
глобальном рейтинге по стране.
Четвертый уровень – пользователь может выбрать рейтинг интересующего его Региона
(то есть должен быть представлен список регионов, из которых он выбирает тот де он
играет). В этом рейтинге занесены все игроки, которые играют в любительских
турниров всех форматов.
Пятый уровень – Серия
Здесь рейтинг уже сужается. Пользователь может смотреть рейтинг только той серии
турниров в которой он принимает участие. (Серий может быть несколько. На данный
момент это Moscow Star Tour, TWTour, ART-tennis, Vitasport Cup, ЦСКА, AmatourСибирь). Кол-во серий будет постоянно добавляться, поэтому заложить такую
возможность.
Дополнения:
1. Система начисления рейтинговых очков представлена в приложении к этому файлу
(таблица Excel).
2. Как должен выглядеть любой из рейтингов визуально показано на странице
http://www.amatour.ru/left/rating/ratemainmans/ratemans/
3. Когда человек выбрал интересующие его уровни рейтинга и зашел в саму таблицу
вверху таблицы обязательно должен отображаться путь, который он выбрал…то
есть из этих пяти уровней показатели, например:
Мужской одиночный разряд - 45+ – Общий рейтинг – Москва – TWTour
4. Очень важно! Пользователь вправе выбирать не все уровни в рейтинге. Например
мне захотелось посмотреть только: Город (Санкт-Петербург), Серию (ЦСКА) и
Возрастную группу (40+). Такая возможность должна быть для всех возможных
комбинаций
5. Над рейтингом ссылкой должно быть написано Список турниров, поставленных в
рейтинге. То есть система формирует список турниров, статистика которых была
занесена в тот или иной рейтинг.
Кроме рейтинга теннисист на сайте может посмотреть свою личную статистику.
Что это такое и из чего она должна состоять из двух главных ссылок:
1. Общая статистика выступлений за 2007 год
2. Личная статистика встреч за 2007 год
Далее я перечисляю все пункты, которые будут в этом разделе, программист
соответственно их заносит в первую или вторую ссылку, в зависимости от того личная
это статистика или общая. Безусловно пользователь должен сначала выбрать год, за
который он хочет посмотреть статистику (по умолчанию стоит текущий год).
Модуль статистики встреч игроков:
Сначала пользователь определяет разряд (Мужской одиночный разряд, Мужской
парный разряд, Микст, Женский одиночный разряд, Женский парный разряд), потом:
1. Пользователь на главной странице заходит в этот модуль и выбирает себя из
общего списка теннисистов, которые расположены в алфавитном порядке по
фамилии.
2. Найдя себя в списке он нажимает на свою фамилию и имя и нажимает ок. После
этого открывается его личная страница.
3. На этой странице у него есть несколько пунктов:
А) Рейтинг
- Рейтинг (кол-во очков на данный момент времени)
- Количество сыгранных турниров
- Коэффициент результативности
Б) Статистика матчей
Кочин Максим (например)
Здесь список теннисистов, из
которых он выбирает нужного
После того как выбрал нажал «Ок» и у пользователя появляется Статистика личных
встреч, которая подразделяется на:
1. Таблицу
Кочин Максим
Васин Кирилл
Дата
Название турнира
6
4
Дата
Название турнира
7
5
Дата
Название турнира
3
6
Замечание: Таблицу можно и нужно продумать логичнее.
После таблицы идут непосредственно статистические показатели.
А) Кол-во выигранных/проигранных матчей (в данном случае это 2:1)
Б) Кол-во выигранных/проигранных геймов (это сумма всех геймов во всех матчах, то
есть в данном случае это 6+7+3=16 выигранных и 4+5+6=15 проигранных. Или 16:15)
В) Кривая выступлений в турнирах за 2007 год:
Нужно построить 2 красивеньких графика.
1 график
Ось х – дата турнира (в скобках категория турнира: M, M+, T, G, S)
Ось у – место, которое игрок занял на турнире
2 график
Ось х – дата турнира (в скобках категория турнира: : M, M+, T, G, S)
Ось у – кол-во очков, завоеванных на турнире
Под графиком выделить следующие показатели:
А) Список мест (Например 1 место игрок занял пять раз, 2 место – 2 раза, 6 место – 3
раза и т.д.)
Б)
- Статистика выигранных и проигранных матчей за данный период времени ( то есть
например всего Кочин Максим сыграл 34 матча, 19 из них выиграл, 15 проиграл).
- Выигранные и проигранные геймы в этих матчах = 114:90
Комментарии:
Что касается того чтобы теннисист мог посмотреть свою статистику в парных
разрядах.
Один игрок может играть парные турниры с разными партнерами, поэтому и
статистику в парном разряде он может смотреть с разными партнерами. Надо
чтобы зайдя в свою статистику программа уже ему показала те варианты
партнеров, с которыми он играл в сезоне. И из них он может выбрать любого и
посмотреть статистику.
Но все показатели индивидуальны для игрока, который смотрит статистику и никакого
отношения не имеет к его партнерам.
2. Вторая часть – панель администратора, через которую он производит все
добавлении и обновления в рейтинге.
Заходя в админку администатор попадает на страницу, где он может самостоятельно
заносить отчет по турниру….после того как отчет занесен полностью система должна
автоматически пересчитать все рейтинги и всю статистику игроков.
Нажимая кнопку Занести сетку администратор может самостоятельно сформировать сетку
прошедшего турнира. Сетки турниров выглядят следующим образом:
http://amatour.ru/rank/rank-2007-01-21-2.htm
1.
Админ выбирает Семь уровней рейтинга, по которым нужно идентифицировать
турнир (Разряд, Регион, Серия, Категория)+ Указывает кол-во игроков, которое
приняло участие в турнире. Далее нажимает «Ок» и попадает на страницу
Формирование сетки турнира(дата вообще не нужна?) да
забыл…дата тоже нужна
2. Формирование сетки турнира:
2.1 Перед ним два окошка напротив которых написано Предварительный турнир и
Основной турнир. Он ставит галочку напротив нужного окошка. Дальше возможны
два варианта развития событий:
Предварительный турнир делится опять на два окошка: Групповой и
Олимпийская система. Админ нажимает на одно из них и у него опять два
варианта событий:
2.1.1.1 Если он нажал группа, то он попадает на страницу где он указывает число
групп и число игроков в каждой группе. (Примечание: если турнир в парном разряде,
то естественно это нужно учесть и при составлении групповой сетки, да и любой
другой сетки на любом из этапов формирования)
После занесения данных автоматически происходит формирование групп
предварительного этапа куда осталось занести только фамилии и имена игроков и счета в
матчах. Опять же пример: http://amatour.ru/rank/rank-2007-01-21-2.htm
Примечание: Чтобы по два раза не заносить один и тот же счет в игре между двумя
теннисистами должна работать система зеркального отображения. Чтто это: Если
например Вася выиграл у Пети со счетом 6:4, то у Пети уже будет автоматом стоять в
графе встречи с Васей 4:6.
2.1.1.2 Олимпийская система объяснена ниже.
После того, как все занесено админ отмечает галочкой тех игроков которые продолжают
борьбу и продолжает дальше выбирать: Из двух окошек Финальный этап=Основной
турнир и Олимпийская система*.
Если это Финальный этап, то он опять выбирает кол-во групп и кол-во игроков в каждой
группе..здесь опять повторяется все тоже что было описано в пункте 1.
2.1.1
После розыгрыша Финального этапа победитель определяется сразу по занятому месту в
группе (если группа одна) или опять отмечаются игроки которые уже играют
Олимпийскую систему или Финальную группу.
Если это Олимпийская система, то админ заносит игроков как показано в ссылке под
названием Финальная часть турнир http://amatour.ru/rank/rank-2007-01-21-2.htm
*Примечание: Игроки, которые не отмечены галочкой автоматически попадают в
категорию Дополнительный турнир, где развитие событий происходит аналогично. То
есть там сначала играется либо Олимпийская система, либо Групповой этап (если
групповой этап состоит из одной группы, то возможно определение победителя по
занятому месту в группе. Если групповой этап состоит из нескольких групп, то его итогом
является Олимпийская система). Вообщем здесь все по аналогии с тем что я описал выше.
2.1.2 Если он нажал Олимпийская система, то турнир соответственно сразу приобретает
форму Финальной части турнира, которая показана на ссылке http://amatour.ru/rank/rank2007-01-21-2.htm
Здесь он опять же указывает число игроков, принимающих участие в турнире и система
автоматически выставляет турнирную сетку (например, если играют 16 человек, то турнир
начинается с 1/8 финала).
Все что описано выше текстом, должно выглядеть примерно так:
олимпийка
Основной (групповой:1 или несколько групп)
Доп. Турнир
Групповой
олимп
1.
Предварительный турнир
олимпийка
финал. группа
Доп. Турнир гр
олимп
олимп
группа
олимп
группа
доп. турнир
Также последний пункт в скрипте:
Регистрация:
Регистрация должна позволять регистрироваться новым игрокам, которых еще нет в
списках участников. Регистрацию игроков должен проводить администратор. То есть в
панели админа должна быть ссылка на регистрацию участника, куда он заносит все
личные данные игрока:
Фамилия
Имя
Дата/Месяц/Год рождения
Регион (Сибирь и т.д.)
Город (Кемерово и т.д.)
Телефон
Мобильный телефон
E-mail:
Фотография (Здесь можно нажать кнопку Обзор и выбрать нужную)
Вопросы, которые могут возникнуть:
Вопросы следующие:
1) как будут организовываться пары? Нужна ли для пар отдельная регистрация? Или они
будут комплектоваться из уже зарегистрированных игроков. В случае с отдельной
регистрацией реализовать все рейтинги будет проще, а значит и дешевле. – пусть будет
отдельная регистрация, но регистрируются не пары а парные игроки( что означает
регистрация парных игроков) вот тут вам надо продумать как сделать
удобнее…заносить всех игроков в одну регистрацию или для пар сделать
отдельную.
Если же пары будут набираться из уже зарегистрированных игроков, то встаю
следующие вопросы
А) Как будут делиться очки за полученные места? Поровну, или же каждый игрок будет
получать все очки в свою копилку? Т.е., например, при получении 60 очков парой С+М
получат ли С и М по 30 очков, или оба получат по 60 очков
Б) Как тогда расписывать личные встречи? Если, например, пара С+М играла с парой
А+Б, а потом С играл с Б, то будет ли выводиться результат игры С+М против А+Б в
статистике личных встреч С и Б? – дается запрос по одному игроку, программа сама
предлагает все его комбинации в паре и встречи!
Я бы сделал отдельный рейтинг для пар, и, следовательно, отдельную регистрацию.
Согласен можно итак. ( Это противоречит выше написанному, или это уже
простор для моей фантазии?) Да..тут как удобнее вам.
2) Непонятно как будет организовываться рейтинг тренеров и рейтинг пар тренер+ученик.
На основе каких данных? И опять же вопрос с регистрацией. Отдельная или же будет
производиться комлектация пар из уже забитых в базу данных игроков? – этот пункт
программы идет как дополнительный, каждый участник этой программы указывает своего
тренера в странице регистрации(что такое страница регистрации) и тренер получает
от всех своих учеников очки, для тренера(то есть у тренера и свои очки за игры
и всех своих учеников?) все очки суммируются, независимо парные или одиночные
встречи
Этот вопрос мы пока оставим открытым…надо прояснить ситуацию.
3) И последний вопрос по коэффиценту результативности. По какой формуле он
вычисляется? Вроде по К = кол-во очков/ кол-во турниров. Правильно? Да
Так и непонятно, что такое общее кол-во очков, откуда оно берется и как считается.
По поводу внесения результатов турнира – может как-то проще можно это
организовать. Например, как-то из excel данные импортировать и а дальше что-то
считать. Или какой-то другой интерфейс может?
о правиле начисления очков теннисистам в матчах: матч состоит из одного сета, в
котором теннисисты играют до того момента, когда кто то из них не выигрывает подачу
соперника и не выходит вперед на 2 гейма..
то есть счет в матче не может быть 6:5, он может быть либо 6:4, либо 7:5
если счет становится 6:6, то играется тай-брейк
по итогам тай-брейка присуждается очко выигравшему его теннисисту...и только в этом
случае счет может стать 7:6 в пользу выигравшего
Download