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

SergOmarov

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

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

  • Посещение

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

    1

Сообщения, опубликованные пользователем SergOmarov


  1. Ты только это заметил? А заправку генератора, если энергии < 1000%?))

    Ты что-то перепутал)

    Я разделил кол энергии на макс емкость аккумулятора, то есть, нашел процентное кол-во энергии и сделал условие <10, то есть, меньше 10%

    Да, кстати, я хотел расширить систему сравнения породы, но потом забил) Если кому надо, то сравнивайте пустую породу через одно условие с оператором and.


  2. Хорошо продуманная программа для копки эффективной шахты.

    Во время работы робот будет проверять стороны тунелей на наличие руд(образцы руд должны лежать в первых 4 слотах) и будет брать соответствующий инструмент в слоте ниже.

    Не рекомендуется использовать для обработки уже существующих шахт.

    При старте программы нужно ввести 2 параметра x и z разделяя по строкам. x считается по положению робота изначально.

     

    Ссылка http://pastebin.com/J9Sudt5f

     

    Все вопросы/предложения в эту тему.

     

    Это скриншот иллюстрирует, зачем нужны отдельные инструменты:

    post-13444-0-77946600-1434698771_thumb.png


  3. Нет. Ты не путай функцию библиотеки и функцию класса.

    local class = require("имя_библиотеки").class
    

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

    Способ же, который упомянул топикстартер, действительно создает объект. Но для каждого экземпляра объекта такой способ создает новые экземпляры функций-методов, а функции могут занимать в памяти килобайты.

    А, вот ты о чем, а я не понял) Да, на счет этого ты прав, но ведь функции можно хранить и внешним образом, просто вне объекта Me. А ссылаться так как показано в "сложном способе" ооп.


  4.  

     

    Приведи пример, пожалуйста. А то не понятно какую функцию из какого класса? Зачем удалять какой объект?
     

     

    local class = require("имя_библиотеки").class

    Эту переменную надо очистить после создания всех экземпляров класса

    Либо, дергать так:

    require("имя_библиотеки").class()


  5. В твоем случае либа всегда будет возвращать указатель на один и тот же объект

    Obj1=require("liba")
    Obj2=require("liba")
    
    Obj1.var1=54321
    print(Obj2.var1)
    -->54321
    

    т.е. при изменении поля одного объекта изменятся соответствующие поля других объектов этого же класса.

    В случае же, который предложил Ktlo, создаются новые переменные для полей нового объекта и новые функции для методов.

     

     

    Я тоже начинал рассмотрение ООП в Луа именно с такого способа, но мне не понравилось в нем то, что для каждого экземпляра объекта создаются свои экземпляры функций-методов. Т.е сколько ты объектов создашь, столько идентичных функций будет храниться в памяти компьютера.

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

    С нетерпением жду описания наследования.

     

    PS: далось вам это двоеточие. Вы гоняетесь за внешней похожестью, а ООП на самом деле это не синтаксис компилятора, а уровень мышления программиста.

    а почему бы не вызвать функцию прямо из класса? или после инициализции удалять объект импортированной функции...


  6. Писать редактор для OC или CC? чтобы не флудить, голосуйте, плиз, голосуйте только в два варианта:"OC" и "СС". После 3 дней голосования(за это время напишу шаблоны поиска полей объявлений в lua) прошу администраторов удалить все сообщения относящиеся к голосованию, то есть на 4 день, мне надо еще зайти на форум и глянуть голоса)


  7. Вы имели в виду "для OC"? =)

    Вообще, да. Но этот эмулятор бы отшлифовать и наждачкой пару раз пройтись бы не помешало. На форуме ОС была тема с ним: http://oc.cil.li/index.php?/topic/419-ocemulator-very-very-beta/

    P. S. Пробовал скомпилировать под Убунту — какая-то фигня вместо эмулятора получилась :)

    Блин, опередил =) Я забыл кнопку "Отправить" нажать.

    блин, точно OC, забыл, что это англ

    Только что проверил. Никакой ошибки нет:

    zYoR5ge.png

     

    Вообще, он все ошибки подписывает, указывая в чем причина

    у меня в качестве ошибки пишет, что возможно синтаксическая ошибка, а после того как скачал, надо что-то настраивать?

    Что не так?

    post-13444-0-68398500-1427612985_thumb.png


  8. Скачал LTD, в ней вот такой код вызывает ошибку синтаксиса(писал не я, это шаблон приложения из самого LTD):

    local function main()
    end
    main()
     
    Что не так? Может, что-то еще надо для среды?
     
    Попробовал тот же код в маине, все работает как надо, наверно, надо какой-то симулятор компа из OC и CC. не подскажите как называется?
×
×
  • Создать...