Не только автоматизация учета

28.02.19

Сообщество - О жизни

Сказ о том, как одинэсники с сишарперами и питонистами играли.

WeekChallenge

 

У нас в компании раз в полгода проводится внутренняя конференция, чтобы все были в курсе новостей, поделиться опытом и просто пообщаться. Последние время перед конференцией организуют дополнительную активность – WeekChallange. Это такое соревнование, как видно из названия длительностью неделю. Проходило три раза и каждый раз новый формат.

Первый раз было что-то вроде Викторины. Через api получали простую задачу, например, перевести фразу, указать, правильно ли написано ться/тся, определить часовой пояс города, распознать цитату в аудиозаписи, вычислить математическое выражение, найти недостающее слов в стихотворении и т.д. И отправить ответ. За правильные начисляли очки, за неправильные – снимали.

Второй раз управляли ботами на большой карте, строили фермы и дрались с зомби. Отличительной чертой этого челленджа была абсолютно не предсказуемая смена правил. В первый день надо было быстро захватывать клетки, на следующий – учится строить фермы, а через три дня срочно учиться драться с зомби. А чтобы было больше веселья – смена правил происходила в 4 утра!

Третий раз участвовали в космическом сражении. В кубе 30*30*30 клеток надо было построить флот и разгромить противника.

Во всех трех мы участвовали. Писали обработки и целые конфигурации, показывали хорошие результаты в общем зачете. Но третий челлендж сильно отличался от первых двух. О нем и расскажу.

 

Heroes of Bresenham’s might and Chebychev’s magic

 

 

Тут не было api с которым можно было б общаться по rest. Нужно было консольное приложение, которое на вход получается данные об окружении и отдает решение о следующем ходе. Плюс ограничение по памяти и всего один процессор. Для того чтобы передать очередное решение – требуется отправить исходники. Как видно – 1с здесь не очень подходит. Платформа с трудом запустится на таких ограничениях, да и доступ на запись к диску был отключен! Мы уже подумали, что этот челлендж пройдет мимо нас. НО! Потом вспомнили об OneScript. Он отлично подошел для такой задачи.

Разработчики челленджа все проверили и дали добро. Мы будет участвовать высылая файлы в формате .os.

Большое спасибо Андрею Овсянкину (//infostart.ru/profile/267027/). В честь него (ну и мема) мы назвались «Саня, это бобер!!!», но коротко все звали просто «Бобры».

Еще играли ребята на Python, JavaScript, но большая часть на C#.

На этапе подготовки и обсуждения участия столкнулись с таким:

Если у большей части участников был готовый стартовый шаблон, то нам пришлось учиться ходить. Первый несколько дней был объявлен Lighting – игрокам научиться летать/стрелять/не вылетать за пределы куба, а организаторы тестировали как работает система. Мы покодили и даже заняли 6 место в общем зачете (всего 18 команд участвовало в Lighting).

Потом дали два дня на передышку и почистить код. После этого играем уже на боевом сервере.

Основное соревнование

 

Ура! Старт соревнований! Мы закрепились на 6 месте и пытались оптимизировать свои стратегии. Хотя бы заставить корабли на скорости не вылетать из арены. А тут внезапный сюрприз. Текстовый квест! По три-четыре задания в день. За решение задания – новый агрегат для корабля: щит, двигатель, бластер. Или помощь в виде кусков кода. На C#. Спасибо, очень помогло.

Наша команда разделилась. Кто-то решал задачи, кто-то пил код. Представляете каково это. Только придумал стратегию, а кто-то решает очередной квест и получаем новую плюшку. Которую надо протестировать и добавлять или нет к стратегии. А времени, напоминаю, всего неделя.

Один раз получился рембо

Мы много чего перепробовали. Стоили корабли звездочкой, летали колбасой, просто стояли на месте. Главная проблема была – столкновения. Постоянно. Или в противника врежемся или друг в друга. В общем выше 6 места мы не поднимались. Только вниз.

В одном из квестов получили – Острый нос. Оружие повышало урон от столкновения. Ну и как говориться: «Твой позорный недуг мы в подвиг определим». Решили попробовать таранить! И внезапно – пошло. Мы были на 2-3 третьих местах. И заметили, что ни у кого нет обработки такой ситуации, все ориентировались на дальний бой. А в еще одном квесте выиграли улучшений двигатель. Собрали флот из кораблей с двумя штыками и супер-двигателем. Но на боевую стратегию не выкладывали. Наша стратегия до финала выглядела вот так

 

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

Как оказалось, не одни мы прятали стратегию. Тем интереснее было ждать финала. Финал – это прогон последнего загруженного решения без возможности вносить изменения.

Финальная битва

 

Корабли на старт! Орудия к бою! Понеслась. Сработал ли наш расчет на эффект неожиданности? На все 100%!

Мы уверено шли на вершину таблицы, хотя иногда и проседали. Никто видимо даже не разбирал ситуацию, когда противник будет не убегать, а наоборот – идти в штыковую атаку. Да еще и на огромной скорости. Хотя первое время все думали, что мы - мастера маневров

30 минут волнительного ожидания. Есть команды которым мы проигрываем, но большую часть побеждаем легко. Пересчет очков… И у нас ПЕРВОЕ место!!!

Было очень приятно, что за нас болели и организаторы.

Вот так выглядела финальная таблица

И пример боя. Мы желтые

 

О чем эта статья?

 

Итак. О чем же статья? Да просто так. Поделиться опытом, показать, что и на 1с можно удачно выступать на соревнованиях. Главное умение быстро придумать и адаптировать алгоритмы.

У ребят есть желание провести это соревнования на внешнем контуре. Будем надеяться, что у них все получиться. Тогда у всех нас будет возможность побороться и доказать еще раз, что нельзя недооценивать 1с-ников.

А кто-то только окунулся в новый для себя язык.

 

Сражение соревнования OneScript победа

См. также

О жизни Россия Бесплатно (free)

Данная статья сугубо для раздела «О жизни», но может оказаться полезна многим членам сообщества. Все описанное ниже соответствует актуальному российскому законодательству на момент публикации статьи. У вас нет и в ближайшее время не предвидится детей возрастом до 1.5 лет? Вспомните о родственниках / друзьях / коллегах / знакомых, у которых они есть, и отправьте ссылку на эту статью — она может быть им чрезвычайно полезна. Распространите среди жильцов вашего ЖЭКа, как говорилось в одном классическом произведении. Помните, что, ставя плюсы к статье, вы поддерживаете её автора!

01.07.2024    3175    madonov    35    

44

О жизни Linux Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)

Использование Linux в качестве основной ОС для программиста 1С, возможно ли это? Решил поделиться личным опытом работы перехода на эту систему. В статье моя история без технических деталей максимально простым языком. И, спойлер, да, жизнь на Линуксе для разработчика 1С возможна и с каждым годом становится всё комфортней. Статья рассчитана на людей, с Линуксом не знакомых, специалистов прошу не кидаться помидорами.

16.05.2024    4211    soulner    32    

43

О жизни Россия Бесплатно (free)

Подводим итоги работы в 1С за 2023 год. Все о вас: 4 подробных раздела с цифрами, графиками и ужасными цветами диаграмм (должна же где-то быть стабильность).

08.02.2024    25036    Neti    85    

117

О жизни Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

22.01.2024    4625    biimmap    67    

73

О жизни Конфигурации 1cv8 Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

16.01.2024    6052    biimmap    99    

79

О жизни Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Импортозамещение увеличило потребность в архитекторах, аналитиках, разработчиках 1С, в т.ч. по ЗУП. Все их ищут всеми возможными способами, но не могут найти и не знают, чем же их завлечь к себе!? Давайте разберёмся в этом вопросе!

27.11.2023    5001    biimmap    52    

73

О жизни Сообщество Бесплатно (free)

Прочитав название публикации, мысль возникает о свадьбе... Но речь не об этом!

25.08.2023    2794    biimmap    24    

51
Отзывы
1. Evil Beaver 8171 28.02.19 10:58 Сейчас в теме
Огонь!!! И победа, и стиль текста, и получаемые эмоции и ваши алгоримы... В-общем, у меня полный восторг от прочтения, спасибо! Я так-то через чаты знал про ваше участие, но вот такой разбор - это прям феерия! Жгите есчо!
NeviD; kbazzh123; Kovekh; TreeDogNight; angur; triera2000; DarkAn; nvv1970; Tavalik; Созинов; Krio2; gubanoff; timqsh; for_sale; +14 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Evil Beaver 8171 28.02.19 10:58 Сейчас в теме
Огонь!!! И победа, и стиль текста, и получаемые эмоции и ваши алгоримы... В-общем, у меня полный восторг от прочтения, спасибо! Я так-то через чаты знал про ваше участие, но вот такой разбор - это прям феерия! Жгите есчо!
NeviD; kbazzh123; Kovekh; TreeDogNight; angur; triera2000; DarkAn; nvv1970; Tavalik; Созинов; Krio2; gubanoff; timqsh; for_sale; +14 Ответить
7. mcgoblin 3 28.02.19 11:59 Сейчас в теме
(1)Чую, сейчас начнут больше народу юзать OScript )))
triera2000; nvv1970; Созинов; Scorpion4eg; +4 Ответить
2. nixel 1422 28.02.19 11:01 Сейчас в теме
отличная статья! Было бы любопытно посмотреть на итоговые/промежуточные алгоритмы :)
3. Scorpion4eg 426 28.02.19 11:03 Сейчас в теме
(2) Вроде гитом пользовались. Поищу решения.
4. Scorpion4eg 426 28.02.19 11:43 Сейчас в теме
5. AnderWonder 27 28.02.19 11:46 Сейчас в теме
Эту статью бы да на Хабр, что бы 1С-хэйтеров попустить немного.
Ну и очередное доказательство что язык не важен, а важно понимание принципов и ясность мышления. А так вообще на Pythone, конечно, такие штуки делать гораздо легче и приятнее.
timeforlive; starik-2005; shard; nvv1970; Tavalik; Kopitsa.k; Evil Beaver; Bazil; CyberCerber; +9 Ответить
6. Scorpion4eg 426 28.02.19 11:51 Сейчас в теме
(5)
Pythone

Ну как видно на Pythone писали только двое. И кстати, 6 место - python - это так же команда 1с. Просто решили на питоне писать
JohnyDeath; nvv1970; +2 Ответить
8. Merc 40 28.02.19 12:00 Сейчас в теме
9. AnderWonder 27 28.02.19 12:01 Сейчас в теме
(6) очевидно слабенькие питонисты попались