Russian AI Cup

Расширенный поиск  
Страницы: [1]

Автор Тема: Прошу помощи админов  (Прочитано 1467 раз)

beat

  • Full Member
  • ***
  • Сообщений: 88
Прошу помощи админов
« : Сентября 17, 2014, 08:25:01 pm »

При отправке стратегии она не проходит (в 17.09.2014 20:18:01) верификацию и валится со след "протоколом":
Ваша стратегия «упала» в короткой проверочной игре 2x3.
Процесс стратегии непредвиденно завершился на тике 0.

Вывод runner'а в stdout:
Program successfully terminated
  exit code:    -532462766
  time consumed: 0.19 sec
  time passed:  0.58 sec
  peak memory:  12931072 bytes

Вывод стратегии в stderr:
Unhandled Exception: System.Reflection.TargetInvoc...ntedException: �� ॠ�������� ���⥣�� ��� 3 宪����⮢
   at Com.CodeGame.CodeHockey2014.DevKit.CSharpCgd...keyist self, World world, Game game, Move move)
   at Com.CodeGame.CodeHockey2014.DevKit.CSharpCgdk.Runner.run()
   at Com.CodeGame.CodeHockey2014.DevKit.CSharpCgdk.Runner.Main(String[] args)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Obje... arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeIn...t obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(O...nder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Sandboxer.ExecuteUntrustedCode(Byte[] assemblyBytes, String[] executableArguments)
   at Sandboxer.Main(String[] args)

Все вот эти "�" (знаки вопроса) именно так и отображаются в браузере (Google Chrome Version 37.0.2062.120 m (64-bit))... и китайско-японские иероглифы тоже присутствуют.
В чем все таки причина падения стратегии? Как по этому стеку определить причину?
Записан

SladeThe

  • Global Moderator
  • Sr. Member
  • *****
  • Сообщений: 187
Re: Прошу помощи админов
« Ответ #1 : Сентября 18, 2014, 02:44:40 pm »

Ваша стратегия генерирует исключение System.NotImplementedException: Не реализована стратегия для 3 хоккеистов

При отсылке стратегии в архиве система не может достоверно определить кодировку файлов. Поэтому мы не рекомендуем использовать не-ASCII символы в коде во избежание ситуаций, аналогичных этой. Либо использовать кодировку UTF-8.
« Последнее редактирование: Сентября 18, 2014, 02:46:33 pm от SladeThe »
Записан

beat

  • Full Member
  • ***
  • Сообщений: 88
Re: Прошу помощи админов
« Ответ #2 : Сентября 18, 2014, 04:53:42 pm »

ShadeThe, большое спасибо!
Очень странно. Вот кусочек моего кода, где это исключение бросается:
    // количество хоккеистов (без учета вратаря)
                var hockeyistCount = world.Hockeyists.Count(x => x.IsTeammate && x.Type != HockeyistType.Goalie);
                if (hockeyistCount == 2)
                {
                    _currentStrategy = new TwoHockeyistStratagy();
                }
                else
                {
                    var message = string.Format("Не реализована стратегия для {0} хоккеистов", hockeyistCount);
                    throw new NotImplementedException(message);
                }

Подозреваю что в тестовые "бои" проводятся не только для двух хоккеистов (без учета вратаря), но и для трех хоккеистов в поле.
Записан

vitsum

  • Full Member
  • ***
  • Сообщений: 62
Re: Прошу помощи админов
« Ответ #3 : Сентября 18, 2014, 04:56:09 pm »

видимо проверяется и для трех. так что просто не выбрасывайте исключение)
Записан

beat

  • Full Member
  • ***
  • Сообщений: 88
Re: Прошу помощи админов
« Ответ #4 : Сентября 19, 2014, 08:28:14 am »

видимо проверяется и для трех. так что просто не выбрасывайте исключение)
Ага, убрал исключение и прокатило!
Блин столько времени убито на поиск ошибки, которая, по сути ошибкой и не являлась, просто нигде не сказано что тестовые бои проводятся и для трех хоккеистов тоже. Более того в протоколе написано что "стратегия протестирована в игре 2х3" (2 хоккеиста + вратарь), поэтому я в эту сторону и не думал даже.
Главное что все хорошо закончилось! Готовлюсь залить первую версию стратегии! +)
Записан

steleal

  • Full Member
  • ***
  • Сообщений: 96
Re: Прошу помощи админов
« Ответ #5 : Сентября 19, 2014, 08:40:28 am »

...
Блин столько времени убито на поиск ошибки, которая, по сути ошибкой и не являлась, просто нигде не сказано что тестовые бои проводятся и для трех хоккеистов тоже....
Нигде-нигде, даже в правилах, Глава 3 "Создание стратегии", пункт 3.1 Техническая часть, нет ни строчки. Ведь это не считается, правда?:
Цитировать
После того, как вы отправили свою стратегию, она попадает в очередь тестирования. Система сперва
попытается скомпилировать пакет с вашими файлами, а затем, если операция прошла успешно, создать
несколько коротких (по 200 тиков) игр разных форматов: 2 на 2 (2 × 2), 3 на 3 (2 × 3) и 6 на 6 (2 × 6). Для
управления каждой командой будет запущен отдельный клиентский процесс с вашей стратегией, и для того,
чтобы стратегия считалась принятой (корректной), ни один из экземпляров стратегии не должен «упасть».
Игрокам в этих тестовых играх будут даны имена в формате «<имя_игрока>» и «<имя_игрока> (2)».
Записан

beat

  • Full Member
  • ***
  • Сообщений: 88
Re: Прошу помощи админов
« Ответ #6 : Сентября 19, 2014, 08:51:16 am »

...
Блин столько времени убито на поиск ошибки, которая, по сути ошибкой и не являлась, просто нигде не сказано что тестовые бои проводятся и для трех хоккеистов тоже....
Нигде-нигде, даже в правилах, Глава 3 "Создание стратегии", пункт 3.1 Техническая часть, нет ни строчки. Ведь это не считается, правда?:
Цитировать
После того, как вы отправили свою стратегию, она попадает в очередь тестирования. Система сперва
попытается скомпилировать пакет с вашими файлами, а затем, если операция прошла успешно, создать
несколько коротких (по 200 тиков) игр разных форматов: 2 на 2 (2 × 2), 3 на 3 (2 × 3) и 6 на 6 (2 × 6). Для
управления каждой командой будет запущен отдельный клиентский процесс с вашей стратегией, и для того,
чтобы стратегия считалась принятой (корректной), ни один из экземпляров стратегии не должен «упасть».
Игрокам в этих тестовых играх будут даны имена в формате «<имя_игрока>» и «<имя_игрока> (2)».
Признаю, плохо шерстил правила. Беру свои слова обратно!
Записан

CyberWo1f

  • Full Member
  • ***
  • Сообщений: 105
Re: Прошу помощи админов
« Ответ #7 : Сентября 19, 2014, 09:57:47 am »

2steleal
Большинство, прочитав в правилах про призы, сразу начинает клепать стратегию, не изучив ньюансы=) А потом появляются темы, почему моя стратегия отработала, а в local-runner еще играют, почему я не могу отменить замах сразу после начала и т.д. =)
Записан

beat

  • Full Member
  • ***
  • Сообщений: 88
Re: Прошу помощи админов
« Ответ #8 : Сентября 19, 2014, 10:40:22 am »

2steleal
Большинство, прочитав в правилах про призы, сразу начинает клепать стратегию, не изучив ньюансы=) А потом появляются темы, почему моя стратегия отработала, а в local-runner еще играют, почему я не могу отменить замах сразу после начала и т.д. =)
Я читал правила целиком (пропустив лишь разделы про раунд 2 и раунд 3).
Записан
Страницы: [1]