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

qwertyMAN

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

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

  • Посещение

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

    47

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

  1. А что если ты берёшь обе проги как самостоятельные и отдаёшь мне двойную награду?
  2. Можно просто пойти на компромисс и отдать её мне
  3. Все атомы стремятся навстречу друг другу. Это атомные реакции. В классической механике даже формула приводится для расчёта силы: А вот вопрос о том, почему они стремятся друг к другу уже другой вопрос. Такой же как и вопрос почему материя должна искривлять пространство. Это всё теории, а значит нотка недосказанности допускается. В любом случае обе теории работают. Кстати, как насчёт магнитов? Они тоже искривляют пространство или в них частицы стремятся друг к другу?
  4. Чтобы очищать экран от всякого мусора который мог накопится (записаться на экране). Хотя конечно это не обязательно. Но очистка экрана в начале программы как правило полезна. Да, верно понимаешь. Это нужно чтобы повысить читаемость кода, ну и за одно оптимизации его.
  5. В общем для новичка код норм, но есть над чем поработать. 1. Добавь очистку экрана, там где она нужна: local term = require("term") term.clear() -- очистка экрана 2. Используй отступы, вот пример на твоём коде: function cir() for i=1,3 do -- этот цикл я добавил от себя. У тебя почему-то всё было вручную вбито. for i=1, widthC do -- так как i - локальная переменная, всё должно корректно работать с циклом в цикле. mine() end robot.turnRight() end widthD = widthD-1 widthC = widthC-1 for i=1, widthD do dcir() end end 3. Не пиши в ручную то что помещается в цикл - рассмотрено в коде ранее. 4. Используй локальные переменные вместо глобальных, когда объявляешь переменную: --объявление переменной local width = 0 local height = 0 local widthC = 0 local heightC = 0 local function start() robot.forward() robot.swingDown() robot.down() robot.swingDown() robot.down() robot.swingDown() end --использование width = width + 1 start() Пока что это все советы.
  6. Добрый день, земляне! Я сколько не пробовал вникнуть в теорию относительности, вечно натыкался на непонимание "сверхъестественных" процессов которые она пропагандирует. Предлагаю обсудить эту тему в данной теме. Она создана специально в разделе "беседка" и сообщения по теме теории относительности по идее не кто не должен здесь удалять. Предлагаю вот такой мысленный эксперимент: Предположим что в космосе существует гипотетический объект, который равноускоренно движется в пространстве и через равные промежутки времени отбрасывает некие мелкие объекты которые движутся по инерции. Таким образом этот тестовый механизм постоянно ускоряется и ему не что не мешает ускорятся. В то же время относительно друг друга ближние маленькие объекты (назовём их космической разметкой) держат какую то постоянную разницу в скоростях. В чём суть этого эксперимента: По так называемой "космической разметке" мы можем предположить, что складывая их скорости мы сможем взять 2 объекта, которые бы относительно друг друга летели со скоростью света и даже больше. Но, если ОТО права то мы взять такие объекты не сможем. И относительно наблюдателя дальние куски разметки будут с виду иметь меньшую разность в скорости относительно друг друга чем, если бы мы были рядом с ними. Означает ли это что там время идёт медленнее? Потому что это будет противоречием. И дальние сзади и дальние спереди куски будут иметь меньшую разницу в скоростях как будто там время идёт медленнее, хотя спереди они должны лететь быстрее. И второй эксперимент: Есть планета, с которой вылетела ракета с околосветовой скоростью. Вопрос: где время будет лететь быстрее, на планете или на ракете? Ведь относительно друг друга они движутся с одинаковой скоростью.
  7. У меня другая фишка.С какой бы ты скоростью не летел, ты можешь всегда нажать на кнопку "2" например и создать точку отсчёта, чтобы понять что ты всё в том же мире, с теми же законами и ничто не изменилось. А главное масса не увеличилась, время не стало быстрее С земли так "приятно" смотреть на пульсары, сразу видно где обычная звезда, а где пульсар невооружённым глазом. Нет, я больше придерживаюсь реалистичности, а не красоте. А чёрные дыры так вообще даже через телескоп с большим трудом можно отыскать. Их обнаруживают по наличию гравитационной линзы. В общем, не что из вышеуказанного увы в мои планы не входит. Это всего лишь тест и скорее всего в игру с конкретной целью не перерастёт.
  8. В принципе я могу добавить генерацию случайных планет и взять спрайты из игры про бактерий. Сам нарисовать их я увы не смог. Зато к этой игре спрайты я сделал уже сам в векторном редакторе inkscape. Вообще люблю векторную графику и этот редактор особенно. Но есть одно но. Всё ведь относительно, значит и планету не будут стоять на месте а будут двигаться. Всё ровно движение будет относительным, как не крути. В данном случае для создания эффекта движения я использовал траектории. У тех у кого с воображением нуль - лучше более одной траектории не включать. А если отключить все траектории, то точки отсчёта нет == нет движения.
  9. Относительно нас звёзды не двигаются. Так с чего они должны двигаться вокруг нас когда мы летим? Когда показывают МКС которая вращается вокруг земли то звёзды не движутся. Хочешь киношный эффект я так понял? Не знаю, не знаю Возможно это сам движок. У бактерий 150-230 мб жрёт.
  10. С днём космонавтики, игроки! История проекта "Open Space": Как то решил я сделать клон одной игрушке на андроид которая мне понравилась (про самолёты). В итоге во время написания физики получилось совершенно иное, в чём я увидел больший интерес и решил сменить вектор развития. В итоге получилась в какой то степени обучающая програмка космической физики и теории относительности. Что есть в игре: Инерция движения тел Инерция вращения тел Относительность 🙂 Реалистичная реактивная тяга, с учётом массы ракеты, массы топлива и так далее. Отображение основной относительной траектории полёта (отключаемая функция) Отображение восьми дополнительных относительных траекторий + космический корабль как точка отсчёта в этой системе (отключаемая функция) Расход топлива Заправка топлива Замедление, ускорение и стабилизация времени + режим паузы Неограниченный мир Возможность отключения всех траекторий и осознания что жизнь - тлен Индикаторы скоростей (в разных системах отсчёта) Управление: W - Ускорение A - Поворот налево D - Поворот направо F - Заполнить полный бак Z - замедлить игру X - ускорить игру C - обычная скорость игры R - пауза 1 - отрисовка основной траектории движения 2-9 - отрисовка дополнительных траекторий движения (относительно космической станции) Колесо мыши - зум Ссылка на игру: https://yadi.sk/d/D3qXeVhsqwHcW Скрины: Видео обзор: О дальнейшей разработке: Точно не ясно во что перерастёт проект. Заморозится ли он. Перерастёт в игру или песочницу. Пока что это не ясно. Есть шанс что из этого вообще выйдет космическая гонка в которой придётся проходить дрифтинг-трассу в условиях космоса Что вы хотите пишите в комментариях. Возможно я добавлю то что будет предложено. Планируется добавить: Гравитацию и планеты Меню выбора объекта и расположение в игре по желанию игрока Система отображения траекторий с учётом вращения точки отсчёта (космической станции) Перед игрой прочитайте хотя бы управления к игре. Иначе многое потеряете и будите спрашивать "как заправить ракету". Я тут заметил что часть игроков не читая ничего скачивают продукт и потом ничего не понимают что к чему. Чем можно заняться в игре: Просто тестировать инерцию вращения и движения ракеты Нарезать круги - "дрифтить" Наглядно наблюдать относительные системы отсчёта (клавиши от 1 до 9 создают и отключают) От автора: Наличие сопротивления среды могло бы убрать такой эффект как относительные системы отсчёта. В какой то степени и по этой причине этого не было осуществлено замедление. Да и в принципе в космосе это не нужно. Геймплей: P.S. Новая версия игры в видеоролике не доступна к скачиванию, как и более поздние версии игры. Пока что не вижу смысла их выкладывать, ведь игра в разработке, а фанатов у игры нуль.
  11. Привёл бы пример такого кода хоть. А то какой то Чайник Рассела получается.
  12. Если я и буду делать калькулятор подобный, который собирался, то не стану рассчитывать на столь огромные числа и столь большую точность. 3*10^8 знаков после запятой - это слишком большое число. Особенно для lua.
  13. Зачем? Даже я на такие масштабы не замахивался со своими экспериментами. Что ты будешь делать с полученными данными? Рукаблудничать пролистывая длинную кучу цифр? Сначала придумай применение и цель создания такого калькулятора. Те кто на рекорд идут вычисляя число Пи - используют мощный ЭВМ. Так что побить рекорд на домашнем ПК никак не получится.
  14. Он будет nil только если преждевременно прервать евент, например по истечению времени вот так: local out = {event.pull(60,"touch")} В обычном же случае без прерывания по времени, он просто не будет реагировать на ненужные евенты. Ну а если всё же в нашем случае код прерывается по времени, то для этого случая я написал вот такую часть кода: if out[1] then --обрабатываем случай когда выходит значение print(out[1].."\n"..out[2].."\n"..out[3].."\n"..out[4].."\n"..out[5].."\n"..out[6].."\n") else --обрабатываем случай когда выходит nil break --здесь может быть любой код, но я решил написать break чтобы выйти из цикла. end
  15. А их обработка жрёт больше операций как я полагаю? Мне кажется тут важнее скорость работы и читабельность кода, нежели оперативная память. P.S. Pofigist, В любой непонятной ситуации ставь свой ответ лучшим ищи ошибки пользуясь принтами
  16. Особо не разбирался в коде, но знаю как его улучшить. У тебя есть такие строки: function buffer.Start() buffer.width, buffer.height = gpu.getResolution() buffer.current = {} buffer.new = {} for y = 1, buffer.height do for x = 1, buffer.width do table.insert(buffer.current, 0x000000) table.insert(buffer.current, 0xFFFFFF) table.insert(buffer.current, " ") table.insert(buffer.new, 0x000000) table.insert(buffer.new, 0xFFFFFF) table.insert(buffer.new, " ") end end end Предлагаю их заменить на: function buffer.Start() buffer.width, buffer.height = gpu.getResolution() buffer.current = {} buffer.new = {} for y = 1, buffer.height do for x = 1, buffer.width do buffer.current.bac = 0x000000 buffer.current.for = 0xFFFFFF) buffer.current.text = " " --здесь находятся 2 символа. Не знаю по чему у тебя другой к этому подход. end end end Разбираться полностью в коде нет желания, так что извини. Но о боже, что это? local function CoordToIndex(x, y) return (buffer.width*(y-1)+x)*3-2 end Неужели нельзя нормально пользоваться таблицей? Хранить данные вот так: table = { for = 0x000000, bac = 0x000000, text = "qwertyMAN - красавчег", Gagarin = "Как вы там друзья, празднуете 12 апреля?", new_table = { text = "Это таблица в таблице", msg = "Гравитация - сила", pi = 3,1415, black_matter = "бесконечность не предел" } } Но нет, ты решил на костылях использовать индексную таблицу. Нехорошо так. Иди и читай гайды о таблицах в lua. Тебе же самому будет проще программировать тогда.
  17. Когда редактируешь библиотеку, перезагружай комп. Иначе не узнаешь исправил ошибку или нет.
  18. В целом, система заказов сама по себе сплошная неразбериха. У игроков которые могут программировать куча ресурсов, но они не будут давать заказы. А у нубов которым нужны программы ресурсов как раз таки и нет. Вот и выходит что вся система заказов весьма противоречивая штука. Уж лучше изменить правило, внести в него исключения и пусть игроки выполняют заказ. Или вы думаете что заказы игроки будут выполнять за бесплатно?
  19. Кто нибудь вообще проводил тесты? Может в новой версии мода нельзя гриферить в чужом привате?
  20. Да ладно тебе, у меня в оригинале вообще нет переменной i. Написал только лишь для примера. И это не принципиально в трёх строках использовать именно k и v. Что мешает использовать j? Там всего 3 строки, не кто не запутается в трёх строках если я локальную переменную назову вместо v - j. Могу хоть func назвать, это моё дело. Такое название даже больше подошло бы чем v которое общепринятое.
  21. Теперь я с уверенностью могу сказать что видел всё! Нет отступов, это ещё цветочки. Это вообще лишнее. Весь код сплошной ужас. Попробую написать как надо и догадаться для каких целей тебе это нужно: local event = require("event") local com = require("component") --вообще не знаю зачем в данном коде эта библиотека, ну раз тебе она так нужна пусть будет while true do local out = {event.pull("touch")} --евент ожидается пока не будет получины данные --local out = {event.pull(60,"touch")} --если евент должен срываться при достижении в данном случае 60 сек без отклика, то ставим эту строку вместо предыдущей if out[1] then print(out[1].."\n"..out[2].."\n"..out[3].."\n"..out[4].."\n"..out[5].."\n"..out[6].."\n") --отображаем 6 значений из таблицы else --если захочешь поставить второй вариант евента, который срывает его, то его срыв вызовет выход из цикла break --вместо выхода из цикла можем написать любой код end end Вот такой короткий и чёткий код получился.
  22. По одной строчке судишь о коде Да это просто пример. Я немного добавил от себя, чтобы показать игроку что кроме самого значения возвращается и ключ i. А то не поймёт и будет нубить.
×
×
  • Создать...