Alex
Администраторы-
Публикации
3 168 -
Зарегистрирован
-
Посещение
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Alex
-
А это из любимых, лет 10 уже храню, смеялся до колик когда-то: Лев ходит по пустыне. В свое время физики предложили свою подборку методов решения задачи о поимке льва в пустыне и помещении его в клетку. А как решают ту же задачу различные деятели эпохи информационных технологий? Программист на Паскале Просматривает пустыню полным перебором. Обнаружив льва, строит вокруг него клетку. Продвинутый программист на Паскале Сортирует пустыню по возрастанию, после чего ищет льва двоичным поиском и строит вокруг него клетку. Если в процессе строительства лев уходит, бросает работу с криком “Range Check Error”. Программист на Си Ищет в пустыне камень и помещает его в клетку. Присваивает камню значение “лев”. Продвинутый программист на Си Присваивает пустыне значение “клетка”. Программист на Си++ Проектирует клетку таким образом, чтобы лев был ее составной частью. При инициализации клетки лев автоматически генерируется внутри. Программист на Аде Говорит, что лев и клетка — это объекты разных типов, и нечего морочить ему голову некорректными задачами. Программист на Дельфи Пишет во все конференции: “Народ, где взять компонент, который ищет в пустыне льва и помещает его в клетку?”. Железячник Покупает в зоопарке львицу, делает ей операцию по смене пола и долго пытается запихнуть ее в клетку для канарейки. Геймер-action'ep Вооружается супершотганом, плазмаганом, рэйлганом, нэйлганом, шестиствольным пулеметом и бензопилой. Прочесывает пустыню, разнося все на своем пути. Ищет среди убитых льва и пытается обнаружить у него в животе желтый ключ. Если находит, отпирает им клетку и ждет награды. Геймер-квестовик Ищет по всей пустыне льва, находит, кладет в карман. Затем ищет по всей пустыне клетку, попутно пытаясь засунуть льва в чайник, башмак, телевизор, ведро с краской и другие попадающиеся на пути емкости. Геймер-стратег Поднимает по всей пустыне налоги, чтобы получить деньги на строительство клетки и охотничьих юнитов. К моменту окончания строительства все львы дохнут от голода. Пользователь Интернета Заходит в свой любимый поисковик, пишет в строке Search “пустыня”, ищет в найденном “лев в клетке”. Если не находит, говорит, что задача неразрешима. Веб-мастер Заходит в свой любимый поисковик и пишет в строке Search “пустыня + лев”. Создает документ клетка.htmlи прописывает в нем ссылку на найденное. Спамер Рассылает по всей пустыне множество клеток, к каждой из которых привязана бумажка: “Если вы лев, пожалуйста, зайдите внутрь и закройтесь изнутри”. Троянщик Делает то же, что и спамер, но вместо бумажки снаружи вешает внутри клетки картинку с голой львицей. Админ Выкапывает вокруг клетки ров, заполняет его концентрированной кислотой, устанавливает вдоль берега противотанковые ежи и противопехотные мины, все это опутывает колючей проволокой. К проволоке и прутьям клетки подключает провода от генератора высокого напряжения. Вешает на клетку 10 кодовых и 12 амбарных замков. Заходит внутрь, запирается на все замки, пускает ток, ключи проглатывает, коды забывает и говорит, что теперь ему никакой лев не страшен. Хакер Нейтрализует кислоту щелочью, перекусывает проволоку, проползает под ежами, перепрыгивает с шестом через мины, отключает ток, взламывает замки и входит в клетку. Не обнаружив внутри льва, матерится с досады, дает пинка админу и уходит обратно в пустыню.
- 6 ответов
-
- 12
-
-
Минутка хорошего настроения на проекте 1Ridav Hi-tech:) Любая работающая программа уже устарела. Любая программа обходится дороже и требует больше времени, чем казалось в начале. Если программа полезна, ее обязательно переделывают. Если программа бесполезна, ее тщательно документируют. Любая программа в конце концов занимает всю доступную память. Ценность программы обычно определяется весом выдаваемой ею распечатки. cложность программы обычно растет до тех пор, пока не превысит способности программиста, призванного ее поддерживать.:cool: Если утилиты, испытанные при инсталяции, работают идеально, все остальные функции будут работать не верно. Если входной редактор спроектирован так, чтобы исключить неверный ввод, найдется изобретательный идиот, который изыщет метод ввести разрушительную команду. Невежество - единственный язык, которым владеют все программисты. Увеличение численности программистов, работающих над проектом, увеличивает сроки его выполнения. Небрежно спланированный проект требует в 3 раза больше времени, чем ожидалось, а тщательно спланированный - только в 2. В программе всегда есть еще одна ошибка. Невозможно создать программу с полной защитой от дураков, ибо дураки крайне изобретательны. Если все идет хорошо, вас вскоре ждут серьезные осложнения. Если дела идут хуже некуда, вскоре выяснится, что это не так. Если кажется, что все в порядке, вы просто что-то просмотрели. Тестовые операции и результаты их выполнения должны быть воспроизводимы - они все должны давать одинаковые отказы. Вы всегда найдете еще одну ошибку, если еще раз загляните в свою программу. Терминал работает лучше, если его включить в сеть. Если все не работает, читайте документацию. Если вам не понятно какое-то слово в технической документации, игнорируйте его, смысл от этого не пострадает. Не важно, много ли вы работаете, вы все равно работаете недостаточно. То, чего вы не делаете, всегда важнее того, что вы делаете. Всегда оставляйте место для объяснения того, почему ваша программа работает не так как планировалось. Не существует ничего невозможного для человека, который не собирается ничего делать сам. Если бы строители сооружали здания также, как программисты пишут свои программы, первый же дятел разрушил бы человеческую цивилизацию. Программисты действуют рационально, лишь тогда, когда другие способы исчерпаны.
-
Приветствую вас, дорогие читатели! Эта тема открывает новый проект, который посвящен разработке программного обеспечения для боевых роботов-черепах из мода ComputerCraft, с помощью которых планируется смоделировать игру Unreal Tournament. Это битва команд, состоящих из роботов и программистов на аренах, где для победы нужно будет за определенное время уничтожить вражеских роботов, или захватить флаг. (флаги на базах, флаг в центре, прорыв "малыми силами", "подрыв базы" и прочее). Проект затронет все аспекты программирования в рамках мода ComputerCraft. Буду очень рад совместному обсуждению и формированию списка тезисов, как должен выглядеть в конечном виде проект, какие требования мы выдвигаем к нему. Чем четче мы сформулируем задачу, обсудим детали на начальных стадиях проектирования - тем лучше будет конечный результат. Самые активные форумчане однозначно будут поощрены, а также помещены в зал славы. Не обязательно писать какой-то код, важны простые и изящные идеи и пути решения, поиск проблем, нюансов, трудностей, которые могут возникнуть, и про которые мы пока не догадываемся и прочее-прочее. :cool: Вот небольшой ролик на youtube, в котором я затронул лишь малую часть проекта: https://www.youtube.com/playlist?list=PLrGgY-Jtfx4wVBd8MyV_dJ4ccf9FPSXvN ПЕРЕЧЕНЬ ВОПРОСОВ, ТРЕБУЮЩИХ НЕОТЛАГАТЕЛЬНОГО РЕШЕНИЯ! Как генерировать карту из нескольких уровней (будет ли многоуровневость) - РЕШЕНО Определение типов арен (размеры, разметки, кол-во бойцов, старт. точки)- НЕ РЕШЕНО Определение режимов боя, времени боя, условий победы - НЕ РЕШЕНО Начальный инвентарь, начальный запас топлива - НЕ РЕШЕНО Есть ли на карте склады с топливом и другими предметами - НЕ РЕШЕНО Как хранятся флаги (в сундуке или в виде установленных блоков) - НЕ РЕШЕНО Режим использования радиоэфира, строгие ли частоты - НЕ РЕШЕНО Схема радиообмена (сформулировать направления команд и сообщений) - НЕ РЕШЕНО Механизм принятия решений черепахой (с учетом коэффициентов "стоимости" и важности того или иного решения с учетом обстановки на поле боя) - НЕ РЕШЕНО (ПРИОРИТЕТ) Что является стимулом для черепахи искать флаг, продолжать битву, какой приоритет на смену исследуемой зоны (местности) - НЕ РЕШЕНО (ПРИОРИТЕТ) Механизм боя - НЕ РЕШЕНО Поиск кратчайших путей в лабиринтах арены (волновой алгоритм) - НЕ РЕШЕНО (ПРИОРИТЕТ) "Поднятие" (исследование) карты, обмен разведданными - НЕ РЕШЕНО (ПРИОРИТЕТ) Контроль боевых потерь и его влияние на тактику - НЕ РЕШЕНО Тактика на начало боя, как распределить задачи между бойцами - НЕ РЕШЕНО (ПРИОРИТЕТ) Защита от радиоперехвата (протоколы передачи данных) - НЕ РЕШЕНО Контроль правильности и честности соревнований - НЕ РЕШЕНО Начальные данные (что известно на момент начала сражения, уникальные условия, случайные условия) - НЕ РЕШЕНО Чем вооружены черепахи в начале боя - НЕ РЕШЕНО Внесение элементов неожиданности в ход боя - НЕ РЕШЕНО Установка дополнительного оборудования для зрителей (мониторы, динамики и прочее), оформление арен (всех типов), стандартизация спавнов для черепах- НЕ РЕШЕНО Выработка стилей оформления арен (античный тип, футуристический и др.) - НЕ РЕШЕНО Создание правил участия в соревнованиях, формирование понятий лиги, званий, наград. Правила проведения чемпионатов (как завершающий этап проекта) - НЕ РЕШЕНО РЕШЕНО- это значит, что выработаны четкие тезисы, написан код или псевдокод, или на крайний случай выработана мат. модель решения вопроса.НЕ РЕШЕНО - не соблюдено ни одно из условий статуса "решено" Основной концепцией проекта является создание "разумных" роботов, которые со стороны действуют на поле боя, как разумные существа. Они должны менять род деятельности, оценивать текущую боевую обстановку, принимать адекватные решения (насколько это возможно, конечно), реагировать на изменения, уже на исследованной части карты перемещаться максимально быстро и по оптимальному и короткому пути. Основная задача проекта - собрать команду для интересной работы области программирования и моделирования.
