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

LeshaInc

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

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

  • Посещение

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

    68

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


  1. Хех, я делаю часики + индикаторы всякого бреда, который мы захотим, к примеру: ваше крутое енергохранилище с 1к энергией, подключение умной двери к очкам, оповещения того, не знаю чего, управление другими компьютерами, погода и ещё много всякого бреда.

    Постить не буду, ибо я пишу посты со скоростью загрузки бубна.

    :)


  2.  

     


    :D

    Что-то там не чисто. Что-то там они чебучат интересное и загадочное, программят чего-то, сервера у них там падают куда-то, в ОпенНет пытаются просочиться настойчиво и прочее.

    Мне Асумонстрик, ЛешаИнк и Троянчик напоминают злых гениев, которые там готовят или большой БАДА-БУУМ или еще какой-то апокалипсис. :)


    Да у нас там такооое происходит. Проекты живут максимум день, сервера падают, опеннет мы поднимаем на серверах 1 тира, салярки крадут, еженедельные переезды...

    Мы скоро захватим мир, OpenNET уже под нашим (а точнее моим) контролем.
    Просто сервера мои, вот и все.

    А ещё у нас мониторы в 100 блоков и роботы с ИИ летают.

    Мы вообще готовом систему тотального контроля. Я уже строю GLaDOS, которая будет управлять нами через терминальные очки, будет писать всякий бред, показывать время в двоичном формате, и настойчиво управлять вашим компьютером, загружая GLaDO'вирус. :)


  3. Заведи двухмерный массивчик (трехмерный, если лабиринт по хардкору в 3D :D ), затем сгенери в нем лабиринт любым понравившимся алгоритмом, затем кинь этот массив функции отрисовки.

     

    Типа того (псевдокод, возможны очепятки):

    -- это - наш массив и обертки get/set к нему
    local map = {}
    
    local function set(x, y, value)
      if map[x] == nil then map[x] = {} end
      map[x][y] = value
    end
    local function get(x, y)
      if map[x] == nil then return nil end
      return map[x][y]
    end
    
    -- тут генерим лабиринт -- для простоты 1 будет стеной, а 0 пустотой
    local function generate(...)
      ...
    end
    
    -- тут рисуем лабиринт на проектор исходя из данных массива
    local function render(...)
      for x=1 to W do
        for y=1 to H do
          holo.set(x, 1, y, get(x, y))
        end
      end
    end
    Соответственно с коллизиями - никакого геморроя, достаточно спросить функцией get(x, y) что за "клетка" у нас по координатам (x, y).

     

     

    P.S. Гениальную конструкцию

    if ra == true then
      ra=false
    elseif ra==false then
      ra=true
    end
    предлагаю заменить на

    ra = not ra
    ;)

    Ну... Я попробую. :)


  4. Думаю написать удобное API для линий, коробок и т.д. Иначе я запарюсь по отдельности воксели приписывать.

     

    Ещё наверно будет геморрой с коллизией, но... Яжпрограммист на ИТ, что нибудь придумаю.


  5. С балды, я написал программу для управления голографический кубиком. @MyOnAsSalat сказал мне просто-так написать это. Вот что из этого вышло:

    JldwtHU.png?1

    Ничего не напоминает?

    c3xiLa7.png?1

    AsE1JPi.png?1

    iOzQgvw.png?1

     

    Бред, писал с балды, хрень не нужная, но вот код:

    local holo = require("component").hologram
    local event = require("event")
    local gpu=require("component").gpu
    local term=require("term")
    
    local x = 10
    local y = 10
    local z = 10
    
    local ra = true
    holo.setScale(3)
    
    function copy()
        term.clear()
        print("---------------------------------------------------------------")
        print("|                     HoloCube 1.0                            |")
        print("| Вперед: W  Назад: S  Вправо: D  Влево: A  Вверх: R  Вниз: F |")
        print("|           Свернуть/Развернуть: Q     Выход: E               |")
        print("|     By Алексей Никашкин For computercraft.ru 1Ridav (c)     |")
        print("---------------------------------------------------------------")
    end
    
    copy()
    
    while true do
        if ra==false then
            gpu.setResolution(1,1)
        else
            gpu.setResolution(80,30)
        end
        holo.clear()
        holo.set(x,y,z,true)
        _,_,key1,key2 = event.pull("key_down")
        q = key2 
        if (q==17) then
            x=x+1
        elseif (q==31) then
            x=x-1
        elseif (q==19) then 
            y=y+1
        elseif (q==33) then 
            y=y-1
        elseif (q==32) then 
            z=z+1
        elseif (q==30) then 
            z=z-1
        elseif (q==18) then
            os.exit()
        elseif (q==16) then
            if ra == true then
                ra=false
            elseif ra==false then
                ra=true
            end
        end
    end
    

    Немного быдлокода... Но это не важно т к проект никому не нужен

    • Нравится 2

  6. Ну, интернет это и есть - сервер со страницами и клиент для просмотра этих страниц. Может я не такой хороший программист, но у меня создание такого браузера заняло неделю и не показалось мне слишком простым. Это с форматированием текста и поддержкой нескольких html-тегов, вертикальной и горизонтальной прокруткой, открытием как локальных файлов так и страниц по сети OpenNet. Как только появится возможность выйти на сервер представлю свой шедевр

    Покажешь. =)


  7. Пообещал 10 иридия, тому, кто поможет с event.listen. Собственно час копался .и не смог сделать отработку кликов по нужной мне точке. Сейчас я попрошу вас помочь мне, за бесплатно. С=

     

    Я делал такой код:

    function test()
      local name, add, x, y, b = event.pull(0.5) -- Бред да и только, pull в listen
      if x==1 and y==1 then 
        term.clear()
      end
    end
    
    event.listen("touch", test)
    --NoExit не делал, ибо сидел в lua
    

    Отработка кликов не работала. Помогите. =)

     

    P.S. Меня можно найти в c9.

    https://ide.c9.io/includeralex/gameoc


  8. Хорошо!Я лучше добавлю полную систему команд,как в реальном браузере(/admin будет выводить помощь по командам,а команда /dev будет спрашивать имя файла,который надо запустить!

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

    А вот команды на сервере очень даже нужны. Например /ban [ip], /rmsite и другие.

     

    Хорошо также (очень нужно) сделать чтобы сайты грузились из таблицы, ибо добавлять сайты в ифе не камильфо. Организовать таковую проверку легко через цикл for v, in pairis


  9. Тебе и не надо этим заниматься.Берёшь просто графический апи,и пусть разработчики сайтов его используют!Завтра же сделаю девелопер едишин браузера,который будет запускать имя файла,а не просить файл у сервера.

    Отлично! Я тогда сделаю гуи для дев. версии, ну, ещё я доделаю гуи обычной версии.

     

    И еще, сделай возможность загружать с сервера тоже. Например сделай чтобы если перед адресом написано file:// то это не сайт а файл. Таким образом дев версия не нужна.

    Можно ещё разрешить программистам, если они попросят, добавлять апи.

×
×
  • Создать...