Програми для організації суддівства
- December
- Advanced Member
- Повідомлень: 2171
- З нами з: 11 квітня 2008, 14:31
- Розряд: 5k
- Звідки: Київ
Re: Програми для організації суддівства
Дима, только что выдало вот такую ошибку:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Cannot set Owner property to a Window that has not been shown previously.
at System.Windows.Window.set_Owner(Window value)
at AutoKorsak.DialogWindow.Show(Window owner, String text, String caption, MessageBoxButton buttons, MessageBoxImage image, Nullable`1 width, Nullable`1 height)
at AutoKorsak.MainWindow.<>c__DisplayClass1f.<CheckNewVersion>b__1e()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
Это что?
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Cannot set Owner property to a Window that has not been shown previously.
at System.Windows.Window.set_Owner(Window value)
at AutoKorsak.DialogWindow.Show(Window owner, String text, String caption, MessageBoxButton buttons, MessageBoxImage image, Nullable`1 width, Nullable`1 height)
at AutoKorsak.MainWindow.<>c__DisplayClass1f.<CheckNewVersion>b__1e()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
Это что?
-
- Advanced Member
- Повідомлень: 1650
- З нами з: 06 січня 2007, 14:23
- Звідки: Киев
- Контактна інформація:
Re: Програми для організації суддівства
Какая версия, что было открыто и нажато? В любом случае надо затянуть новую версию (должен, кстати, сработать автоапдейт).
-
- Advanced Member
- Повідомлень: 1650
- З нами з: 06 січня 2007, 14:23
- Звідки: Киев
- Контактна інформація:
Re: Програми для організації суддівства
А, это он и попытался сработать. Только я программу выкладывал повторно (увидел и исправил опечатку) - и, похоже, в этот самый момент была попытка загрузить/запустить.
- December
- Advanced Member
- Повідомлень: 2171
- З нами з: 11 квітня 2008, 14:31
- Розряд: 5k
- Звідки: Київ
Re: Програми для організації суддівства
Да, похоже на то. Перезапустила, все работает.
-
- Главный судья
- Повідомлень: 1152
- З нами з: 13 березня 2003, 10:05
Re: Програми для організації суддівства
Около месяца назад в России прошел турнир на кубок генерального консула Кореи. В нем группы Мак-Магона формировались объединяя по 3-5 разрядов. После этого на форуме Кидо было обсуждение результатов в котором принял участие и я http://kido.com.ru/read.php?34,123142,page=8.
Привожу здесь оно из моих сообщений из которого ясна моя позиция по затрагиваемому вопросу.
Третьи - шестые даны объединяются для того чтобы реализовать спортивный принцип - дать шанс тому кто имеет хоть небольшие шансы выиграть турнир (или занять призовое место, где разница между, например, 2-м и 3-м местом несколько сот зеленых) воспользоваться этим шансом. А для 3-х - 6-х кю спортивный принцип не важен - там разница между 33-м и даже 37-м местом не существенна. На этом уровне партии имееют не столько спортивное значение (конкретное определение мест), сколько квалификационное. И принцип награждения в этой части таблицы не за места, а за победы как раз это и стимулирует.
И даже если будет по одному-два человека в группе это будет всего лишь означать, что 6-й кю скорее всего вряд ли обойдет в итоге 3-го кю или наоборот станет в итоге ниже 9-го, но зато по ходу турнира этот 6-й кю вероятнее всего сыграет партии с 9-м, 8-м, 7-м, 5-м, 4-м и 3-м кю, т.е. с теми кто максимально близок к нему по рейтингу. А если объединить по 3-4 разряда в одну группу, то на примере турнира с 89-ю участниками, в котором играло в среднем по 4 человека в каждом разряде с 4-го по 8-й включительно для выбранных произвольно троих игроков 6-го кю (Ермолаев, Коготков, Арсентьев - честное слово первые которые попались под руку, специально не отбирал) получим следующую картину.
Они втроем сыграли 17 партий.
Из этих 17 партий их соперниками были
1-й дан - 1
1-й кю - 2
2-й кю - 2
3-й кю - 4
9-й кю - 1
10-й кю - 4
12-й кю - 2
14-й кю - 1.
И заметьте - ни одного соперника в диапазоне от 4 до 8 кю включительно!!!
И это при том, что таковых в турнире (с учетом этих троих) играло аж 20 !!! человек.
Делайте выводы какие вам нужны турниры.
При количестве участников в турнире от 40 и выше смело можно делать разбивку 1 очко - 1 разряд, даже не обращая внимания на то, что могут быть пустые групы.
Еще раз повторяю - хоть раз сделайте как делают почти все.
С уважением, Владимир Корсак
Привожу здесь оно из моих сообщений из которого ясна моя позиция по затрагиваемому вопросу.
Третьи - шестые даны объединяются для того чтобы реализовать спортивный принцип - дать шанс тому кто имеет хоть небольшие шансы выиграть турнир (или занять призовое место, где разница между, например, 2-м и 3-м местом несколько сот зеленых) воспользоваться этим шансом. А для 3-х - 6-х кю спортивный принцип не важен - там разница между 33-м и даже 37-м местом не существенна. На этом уровне партии имееют не столько спортивное значение (конкретное определение мест), сколько квалификационное. И принцип награждения в этой части таблицы не за места, а за победы как раз это и стимулирует.
И даже если будет по одному-два человека в группе это будет всего лишь означать, что 6-й кю скорее всего вряд ли обойдет в итоге 3-го кю или наоборот станет в итоге ниже 9-го, но зато по ходу турнира этот 6-й кю вероятнее всего сыграет партии с 9-м, 8-м, 7-м, 5-м, 4-м и 3-м кю, т.е. с теми кто максимально близок к нему по рейтингу. А если объединить по 3-4 разряда в одну группу, то на примере турнира с 89-ю участниками, в котором играло в среднем по 4 человека в каждом разряде с 4-го по 8-й включительно для выбранных произвольно троих игроков 6-го кю (Ермолаев, Коготков, Арсентьев - честное слово первые которые попались под руку, специально не отбирал) получим следующую картину.
Они втроем сыграли 17 партий.
Из этих 17 партий их соперниками были
1-й дан - 1
1-й кю - 2
2-й кю - 2
3-й кю - 4
9-й кю - 1
10-й кю - 4
12-й кю - 2
14-й кю - 1.
И заметьте - ни одного соперника в диапазоне от 4 до 8 кю включительно!!!
И это при том, что таковых в турнире (с учетом этих троих) играло аж 20 !!! человек.
Делайте выводы какие вам нужны турниры.
При количестве участников в турнире от 40 и выше смело можно делать разбивку 1 очко - 1 разряд, даже не обращая внимания на то, что могут быть пустые групы.
Еще раз повторяю - хоть раз сделайте как делают почти все.
С уважением, Владимир Корсак
-
- Advanced Member
- Повідомлень: 1650
- З нами з: 06 січня 2007, 14:23
- Звідки: Киев
- Контактна інформація:
Re: Програми для організації суддівства
Собственно, "АвтоКорсак" это обеспечивает, причём в автоматическом режиме.
Как вариант, можно варьировать шаг группы - не в 100 очков рейтинга, а, например, в 200. Или в зависимости от спортивного разряда. Также, можно отделять группы не одним очком, а двумя-тремя (в пределе - числом, равным количеству туров).
Как вариант, можно варьировать шаг группы - не в 100 очков рейтинга, а, например, в 200. Или в зависимости от спортивного разряда. Также, можно отделять группы не одним очком, а двумя-тремя (в пределе - числом, равным количеству туров).
-
- Тренер
- Повідомлень: 1409
- З нами з: 20 березня 2003, 09:26
- Розряд: 4d
- Звідки: Киев
- Контактна інформація:
Re: Програми для організації суддівства
Почитал. В который раз радуюсь за то, что у нас не как в России( а ведь когда-то и РС были похожи). У нас лучшеKorsak писав:Около месяца назад в России прошел турнир на кубок генерального консула Кореи. В нем группы Мак-Магона формировались объединяя по 3-5 разрядов. После этого на форуме Кидо было обсуждение результатов в котором принял участие и я http://kido.com.ru/read.php?34,123142,page=8.
...

-
- Advanced Member
- Повідомлень: 1650
- З нами з: 06 січня 2007, 14:23
- Звідки: Киев
- Контактна інформація:
Re: Програми для організації суддівства
Исследую, что же не так с расчётом рейтинга.
В эталонном расчёте:
В последнем туре один выиграл у игрока с исходным рейтингом 80, текущим - 85. Второй, соответственно, 60 и 62. Как же поступает рейтинговая система, чтобы получить один и тот же результат? Правильно, если рейтинг соперника меньше 100, пусть он для расчёта будет равен нулю. Тогда эти цифры сойдутся.
Получаем:
В первом и втором турах этот игрок проигрывает и к третьему туру сохраняет 100 очков рейтинга. Затем выигрывает у игрока №9 с рейтингом 60 (на тот момент) и получает 151.08. Потом выигрывает у №15 (рейтинг 100), получает 207.075. В последнем туре проигрывает №8, чей расчётный рейтинг равен 163.28, получает 150.85. В контрольном расчёте - 152. Не сходится.
Кто-то в состоянии посмотреть, в чём дело? Рейтинг-систему приходится чуть ли не ломать...
Вєсіч, Софія 80 86 Ружанська, Стефанія 60 63Расчёты рейтинга до сотни теперь вроде совпадают:
18 Весич, София ua Киев 22 кю 80 1 -- -- -- 19+ 15- 3,5 9,5 2,5 49 (+6) 86 19 Ружанская, Стефания ua Киев 24 кю 60 1 -- +- 14- 18- 16- 2,5 14 1,5 69 (+3) 63Движемся дальше.
В эталонном расчёте:
Спіцин, Тимофій 100 151 Цимбаліст, Дарина 100 151Опытный алгоритм даёт другие цифры:
15 Спицин, Тимофей ua Киев 20 кю 100 2 +- 12- 9- 14- 18+ 4 20 6,5 88,5 (+63) 163 16 Цимбалист, Дарья ua Киев 20 кю 100 2 12- 9- +- 8- 19+ 4 20 5,5 95,5 (+60) 160Каждый из этих двух игроков стартовал с рейтингом 100, проигрывал или не играл первые 4 тура, и согласно правилу непонижения пришёл к последнему туру с рейтингом 100. Так что нам надо рассматривать изменение рейтинга только по одной партии.
В последнем туре один выиграл у игрока с исходным рейтингом 80, текущим - 85. Второй, соответственно, 60 и 62. Как же поступает рейтинговая система, чтобы получить один и тот же результат? Правильно, если рейтинг соперника меньше 100, пусть он для расчёта будет равен нулю. Тогда эти цифры сойдутся.
Получаем:
14 Кравець, Влад ua Київ 20 кю 100 2 10- 13- 19+ 15+ 8- 4 20,5 6,5 100 (+51) 151 15 Спіцин, Тимофій ua Київ 20 кю 100 2 +- 12- 9- 14- 18+ 4 20 6,5 88,5 (+51) 151 16 Цимбалист, Дарья ua Київ 20 кю 100 2 12- 9- +- 8- 19+ 4 20 5,5 95,5 (+51) 151 17 Паперная, Елизавета ua Київ 19 кю 200 2,5 6- 11- -- -- -- 4 17 0 89,5 (-74) 126 18 Весич, София ua Київ 22 кю 80 1 -- -- -- 19+ 15- 3,5 9,5 2,5 49 (+6) 86 19 Ружанська, Стефанія ua Київ 24 кю 60 1 -- +- 14- 18- 16- 2,5 14 1,5 69 (+3) 63Стало лучше, но ещё не всё хорошо, так как результат игрока №14 отличается (и других, которые выше). Здесь,к сожалению, логике опереться не на что, а текстуальное описание, как мы видим, покрывает не всё.
В первом и втором турах этот игрок проигрывает и к третьему туру сохраняет 100 очков рейтинга. Затем выигрывает у игрока №9 с рейтингом 60 (на тот момент) и получает 151.08. Потом выигрывает у №15 (рейтинг 100), получает 207.075. В последнем туре проигрывает №8, чей расчётный рейтинг равен 163.28, получает 150.85. В контрольном расчёте - 152. Не сходится.
Кто-то в состоянии посмотреть, в чём дело? Рейтинг-систему приходится чуть ли не ломать...
- December
- Advanced Member
- Повідомлень: 2171
- З нами з: 11 квітня 2008, 14:31
- Розряд: 5k
- Звідки: Київ
Re: Програми для організації суддівства
Дима, приходи 10 числа на турнир Хан Ганг, может, вместе удастся "одолеть" Владимира Федоровича, чтобы он сел вместе с тобой и разобрался, где же собака зарыта.
- Небайдужий
- Advanced Member
- Повідомлень: 4846
- З нами з: 01 січня 2007, 13:26
- Розряд: 6k
- Звідки: м. Рівне
- Контактна інформація:
Re: Програми для організації суддівства
Бажано доробити в програмі:
1) Ранжирування столів бажано зробити за набраними очками, а не за рейтингом, як це є зараз.
2) У вкладці жеребкування біля прізвищ гравців бажано виводити не тільки їх ранги (а може навіть краще рейтинги) і набрані очки.
3) Для полегшення ручного жеребкування бажано ввести окреме вікно ручного жеребкування. У вікні має бути з лівої сторони секція зі списком учасників з ранжируванням за набраними очками та рейтингами (з відображенням набраних очок і рейтингів), а у правій стороні – секція створення нової пари з кнопкою біля неї «ок» та секція створених пар. При цьому бажано щоб кожного гравця можна було переміщувати методом Drag&Drop або іншим методом.
4) Крім написаного вище методу ручного жеребкування бажано ввести в контекстне меню, яке з’являється при виділення гравця правою кнопкою миші в турнірній таблиці, пункт «додати до нової пари», щоб можна було створювати пари переглядаючи турнірну таблицю. (як це зроблено в МакМагон)
5) Крім ранжирування за рейтингом бажано ввести ранжирування за присвоєним стартовим номером, як це роблять в азійських турнірах. В цьому може виникнути потреба при проведенні, наприклад, форових турнірів. Інколи це може використовуватись і в звичайних турнірах для ранжирування гравців з абсолютно однаковим формальним рейтингом.
6) У вкладці налаштування вигляду турнірної таблиці варто добавити опцію «кількість виграних партій». (не як критерій, а просто як інформативну)
7) Розрахунок рейтингів треба довести «до кондиції».
8) Жеребкування за принципами Корсака в нижній частині турнірної таблиці пропоную проводити в програмі за «дзеркальним алгоритмом» до рівня четвертої очкової групи знизу. Все решта жеребкувати за нормальним алгоритмом. Зустріч на четвертій (на момент жеребкування) групі знизу. При нестиковках відміняти в четвертій групі та по одній крайній парі біля неї в результатах жеребкування прямого і дзеркального жеребкування і пробувати провести жеребкування з цими гравцями за прямим алгоритмом.
По рейтингу:
А що саме незрозуміло в описі методики підрахунку рейтингу? Може якось поговоримо в скайпі про це? Можливо мені вдасться прояснити для Вас незрозумілі моменти.
1) Ранжирування столів бажано зробити за набраними очками, а не за рейтингом, як це є зараз.
2) У вкладці жеребкування біля прізвищ гравців бажано виводити не тільки їх ранги (а може навіть краще рейтинги) і набрані очки.
3) Для полегшення ручного жеребкування бажано ввести окреме вікно ручного жеребкування. У вікні має бути з лівої сторони секція зі списком учасників з ранжируванням за набраними очками та рейтингами (з відображенням набраних очок і рейтингів), а у правій стороні – секція створення нової пари з кнопкою біля неї «ок» та секція створених пар. При цьому бажано щоб кожного гравця можна було переміщувати методом Drag&Drop або іншим методом.
4) Крім написаного вище методу ручного жеребкування бажано ввести в контекстне меню, яке з’являється при виділення гравця правою кнопкою миші в турнірній таблиці, пункт «додати до нової пари», щоб можна було створювати пари переглядаючи турнірну таблицю. (як це зроблено в МакМагон)
5) Крім ранжирування за рейтингом бажано ввести ранжирування за присвоєним стартовим номером, як це роблять в азійських турнірах. В цьому може виникнути потреба при проведенні, наприклад, форових турнірів. Інколи це може використовуватись і в звичайних турнірах для ранжирування гравців з абсолютно однаковим формальним рейтингом.
6) У вкладці налаштування вигляду турнірної таблиці варто добавити опцію «кількість виграних партій». (не як критерій, а просто як інформативну)
7) Розрахунок рейтингів треба довести «до кондиції».
8) Жеребкування за принципами Корсака в нижній частині турнірної таблиці пропоную проводити в програмі за «дзеркальним алгоритмом» до рівня четвертої очкової групи знизу. Все решта жеребкувати за нормальним алгоритмом. Зустріч на четвертій (на момент жеребкування) групі знизу. При нестиковках відміняти в четвертій групі та по одній крайній парі біля неї в результатах жеребкування прямого і дзеркального жеребкування і пробувати провести жеребкування з цими гравцями за прямим алгоритмом.
По рейтингу:
А що саме незрозуміло в описі методики підрахунку рейтингу? Може якось поговоримо в скайпі про це? Можливо мені вдасться прояснити для Вас незрозумілі моменти.
Не утримуй те, що минає, і не відштовхуй те, що приходить ... і тоді щастя саме знайде тебе.
Омар Хайям
Омар Хайям