Перейти к содержимому

qwertyMAN

Пользователи
  • Публикации

    1 009
  • Зарегистрирован

  • Посещение

  • Победитель дней

    47

Все публикации пользователя qwertyMAN

  1. Всем доброго времени суток, сейчас я вам расскажу, как строить плавильни из Tinkers Construct наиболее экономично и эффективно. Точнее какой формы их лучше строить. Осторожно! Много буковок вычислений! Чтобы не верить на слово, выведем и докажем какая форма плавильни самая лучшая. Начнём с обозначений. x - внутренняя длина плавильни y - внутренняя ширина плавильни h - внутренняя высота плавильни S - вместительность плавильни P - количество блоков на строительство плавильни T - эффективность (главный параметр для сравнения) Теперь обозначим зависимость этих переменных. S = x*y*h так как это объём плавильни P = x*y + 2h*(x+y) сумма строительных блоков для строительства всех граней плавильни T = S/P например эффективность 5 - это 1 строительный блок затраченный на строительство эквивалентен пяти слотом вместительности готовой печи Далее следует понимать, что например взяв минимальную плавильню 1 на 1 на 1 и увеличивая одну из сторон до бесконечности, с увеличением её размера, будет увеличиваться и эффективность T. Из этого следует, что чем больше плавильня - тем она эффективнее. Но это не наша цель. Нам следует найти форму, которая была бы наиболее экономична при этом. Ясное дело, плавильня 1 на 10 на 1 не экономична. Увеличение одной стороны на 3 блока будет давать бонус вместительности 1 блок. Увеличение другой займёт 12 строительных блоков и даст увеличение вместительности в 10 блоков. А увеличение высоты на 1 блок потребует 22 строительных блока и даст бонус в 10 блоков. Значит наиболее эффективно увеличивать плавильню до 2 на 10 на 1 Мы уже на пол пути к успеху. Выведем формулы: Для бонуса вместительности: S1 = x*y расширение в высоту S2 = y*h расширение в длинну S3 = x*h расширение в ширину Для затрачиваемых материалов: P1 = 2*(x+y) расширение в высоту P2 = 2h + y расширение в длинну P3 = 2h + x расширение в ширину Теперь имея эти данные, мы можем найти эффективность этих действий: T1 = x*y / (2*(x+y)) T2 = y*h / (2h + y) T3 = x*h / (2h + x) Так как нам нужно найти такую форму плавильни, при которой любое расширение давало бы одинаковую эффективность, то мы можем приравнять все три формулы: x*y / (2*(x+y)) = y*h / (2h + y) = x*h / (2h + x) Сначала возьмём последние 2 формулы y*h / (2h + y) = x*h / (2h + x) и путём сокращения (это долго расписывать) мы получим x=y Далее зная это, из первой и последней формулы можно составить следующие уравнение x^2 / (4*x) = x*h / (2h + x) (если хотите, решите его сами) И в конце решения этого уравнения всплывает зависимости h = 0,5 * x Итог: Самая эффективная формула плавильни из Tinkers Construct имеет следующую зависимость сторон x=y=2h То есть, в основании плавильни стоит квадрат, со стороной x, а высота - это половина из x. Пример экономичных плавилен: 2 на 2 на 1 4 на 4 на 2 10 на 10 на 5. Свойства такой плавильни: Такая плавильня имеет удивительные свойства. Любое увеличение или уменьшение размера по любой стороне равен const по эффективности. По идее такая плавильня стоит меньше всего ресурсов и даёт максимум вместительности. Хотя правило, чем больше тем лучше всё ещё в силе.
  2. Алгоритм вроде верный. Вот только смысл от него, если он возвращает всегда максимальные значения. Видимо, надо алгоритм переписывать, под ввод именно нужного объёма.
  3. В общем решил я найти такой размер печи из Tinkers, которая бы тратила меньше всего ресурсов и давала максимальную вместительность при этом. Написал я для этой цели алгоритм с брутом, который проходится по всем вариантам построения и находит самый эффективный. Скрин: Код: http://pastebin.com/B625H8RC http://pastebin.com/aPz8Faw6 В заключении хотелось бы добавить что калькулятор подсчитывает минимальное количество блоков для строительства, что включает в себя только грани печи и пол. Без угловых и рёберных блоков (которые не нужны для работы печи) 100% эффективность означают, что 1 строительный блок эквивалентен 1 слоту вместительности печи. В первую программу мы вводим только максимальную длинну для всех трёх осей. Во второй можно вводить разные значения для всех трёх измерений. И да, я знаю что обе проге выводят всегда один и тот же результат. Такова реальность увы. Я сам был в шоке, что мои подсчёты не дали ожидаемого результата. Может кто знает что я делаю не так? Может сама задумка у меня плохая? P.S. Писал на скорую руку, в выживании в единственном роботе который у меня был. Так что не надо докапываться до названий переменных.
  4. Главное, чтобы робот не прочитал ничего лишнего с заборов
  5. Просто смотрю тут на блоки и улучшения, которые раньше были под запретом и думаю, как их можно круто применить. Помнится раньше был конкурс на то, кто построит застеклённую комнату с роботом который что-то делает. Можно было бы сделать робота, который по кругу ходит с помощью табличек и бибикает, печёт печенье, собирает урожай, показывает свои способности. Мне кажется это было бы полезно увидеть новичкам. Ведь там и функции сразу описаны для робота. Наглядность, в какой этап что он делает. Жаль, что такой проект погибнет.
  6. В том то и дело, что я даже повернуть работа налево не могу. Не умещается текст в 1 строку. И это главная проблема. Не получится сделать робота который перемещается.
  7. Без монитора не запустить программы. А значит и клава не нужна и жёсткий диск тоже. Выходит робот запрограммирован на eeprom. Только в таком случае робот будет без монитора работать.
  8. Просто может кто знает с какими модами добавляются таблички, которые лучше подойдут для робота. Играю в сингле и мне можно спокойно ставить любые моды.
  9. Ну по идее можно даже в одном символе зашифровать множество комманд. Вот только зачем? Я хотел простую прогу сделать, чтобы показать новичкам, как робот работает. Вышел бы неплохой стенд который можно и на спавн поставить.
  10. В общем я тут во время тестирования написал программку, которая позволяет программировать робота через таблички. Как вам такая идея? И самое главное, какие у вас есть предложения, по тому как расширить вместительность табличек (более 15 символов не вмещается, а это уже мешает роботу передвигаться) А таблички из библиокрафта не хотят работать с роботом. Скрины работы:
  11. Я думал, гевеи никто не использует. Есть же тростник который выводится быстро, и компактнее, и быстрее растёт.
  12. Где-то я уже видел на форуме такой же интерфейс и функционал. Неужели плагиат???
  13. Странно. В принципе одна такая прога может обслуживать огромное количество входов и выходов, по этому одной на человека хватит. А вот насчёт теста запуска нескольких сразу надо будет проверить. Спасибо за отзыв. Как вариант попробуй в начале программы в строке local timeout = 1 сменить 1 на 10 и выше. Более большая задержка может и сможет помочь. Хотя есть шанс что проблемы происходят с твоей клиентской части, а на сервере всё норм. Но это не точно. Программа не тестировалась в мультиплеере.
  14. Лучше чтобы было 5-10 минут. Пропажа вещей всегда отпугивает игроков. 1-2 минуты как-то мало.
  15. А я в своих прогах вручную из условий строил наиболее компактные схемы проверки нажатия. Вручную, Карл.
  16. А разве не её использует ECS? Там ведь много подобных случаев всплывающих окошек
  17. Ты это про заряженных криперов. А обычные криперы под нагреванием взрываются.
  18. Просто вбиваешь в гугле "lua string" и первый сайт который он тебе предлагает мне часто помогал, вот http://lua-users.org/wiki/StringLibraryTutorial Там расписаны функции стандартной библиотеки string, для работы с текстом. И там есть то, что тебе нужно. Но постарайся хоть это сделать сам. Там даже примеры работы функций есть. Как я понял тебе нужно узнать количество букв в фразе, пройти по ним брутом (в цикле) и записать в таблицу сколько какая буква использовалась. Всё это реализуемо. На ряду с библиотекой string, мне часто бывает полезна библиотека math. Просто имей ввиду, что в этой библиотеки есть все полезные математические функции. Гугл отлично выдаёт документацию по этим библиотекам.
  19. Ну как бы в OpenComputers ограничения по диапазону частот. Он и не должен их играть.
  20. Во первых, это конечно дело каждого, писать велосипед или нет, но оправдываться заниманием этой мизерной памяти на библиотеку как-то не камильфо. К тому же в библиотеки и другие полезные функции есть. Во вторых насчёт клавишь клавиатуры. Скорее всего их нет, потому что он тестирует прогу. Пока что он располагает кнопки вертикально. А на скрине где нота другой тональности, она смещена по горизонтали. И что тут плохого? Будет удобненькая таблица, как я понял по скринам. 7 в высоту и не знаю сколько в ширину. По этому поводу наезды необоснованы. Кнопки в отличии от клавиш можно располагать в любом порядке.
  21. А в чём сложность то? В том, что не нужно напрягаться, а нужно жмакать на кнопку пока не выиграешь? Не видел пока не одной игры, где бы сложность заключалось только в везении. Хотя...
  22. Что вы тут за велосипеды придумываете? Давно уже есть готовый алгоритм для поиска частот нот разных тональностей в стандартной библиотеке note. Неужели вы не знали? P.S. Прога простенькая. Но раз проги пишут редко в последнее время, то не стану осуждать вручение медали за такой код. P.P.S. Не понимаю, зачем для такой простенькой проги такие требования делать. Я даже для своей игры в змейку сделал такие требования, что в неё можно играть хоть на экранах первого уровня на самых слабых компах. А тут, всего лишь прога для который не нужна красивая графика, а требования сразу экран 3 уровня с видеокартой. Зачем? Я думаю хорошая программа должна быть гибкой и универсальной, подходить всем и нубам и папкам. А ты лишний раз для простой программы завышаешь требования.
  23. Может попробуешь мышкой в пэинте чего нарисовать в низком разрешении и выдать за "особый саркастический стиль рисовки"? Может и зайдёт.
  24. Это отсылка на моё с кое кем беспаливное дельце по воровству со спавна крутых мечей и синих буров, которые спасибо что не работали на IT. Зато до сих пор никто и не знает, что спавн там был обчищен, а вместо тех вещей были поставлены бесплатные мечи с кита воина. Вот было время. Через долгое время ещё какие-то ребята помню решили сделать подобное, но там не было уже ничего ценного тогда на прилавках.
×
×
  • Создать...