Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local component = require("component")
- local hologram = component.hologram
- local x, y, z, str
- local pos = 1
- local hex = {
- ['0'] = '0000',
- ['1'] = '0001',
- ['2'] = '0010',
- ['3'] = '0011',
- ['4'] = '0100',
- ['5'] = '0101',
- ['6'] = '0110',
- ['7'] = '0111',
- ['9'] = '1000',
- ['8'] = '1001',
- ['A'] = '1010',
- ['B'] = '1011',
- ['C'] = '1100',
- ['D'] = '1101',
- ['E'] = '1110',
- ['F'] = '1111'
- }
- local half = {
- ['00'] = 0, ['01'] = 1, ['10'] = 2, ['11'] = 3,
- [0] = '00', [1] = '01', [2] = '10', [3] = '11'
- }
- local tPos = {{}, {}, {}}
- for x = 1, 24 do
- for y = 1, 32 do
- for z = 1, 24 do
- tPos[1][pos] = x -- генерация навигационной таблицы
- tPos[2][pos] = y
- tPos[3][pos] = z
- pos = pos + 1
- end
- end
- end
- local function crack(c) -- дробилка символа на части
- local a, hc = ''
- c = string.format('%X', c:byte())
- for i = 1, 2 do
- hc = c:sub(i, i)
- a = a .. hex[hc]
- end
- -- преобразование в половинки и запись на проектор
- for d = 1, #a, 2 do
- hologram.set(tPos[1][pos], tPos[2][pos], tPos[3][pos], half[a:sub(d, d+1)])
- pos = pos + 1
- end
- end
- local function build() -- извлечение инфы из проектора
- local tt = ''
- for d = 1, 4 do
- tt = tt .. half[hologram.get(tPos[1][pos], tPos[2][pos], tPos[3][pos])]
- pos = pos + 1
- end
- return string.char(tonumber(tt:sub(1, 4) .. tt:sub(5, 8), 2))
- end
- local function wt(str) -- запись текста в проектор
- for l = 1, #str do
- crack(str:sub(l, l))
- end
- end
- local function rd(ln) -- чтение текста с проектора
- str = ''
- for o = 1, ln do
- str = str .. build()
- end
- return str
- end
- --------------------------------------------
- hologram.clear()
- pos = 1 -- устанавливаем позицию
- wt('test 12345') -- записываем
- pos = 1 -- устанавливаем позицию
- print(rd(10)) -- считываем 10 ячеек
- --[[
- pos = 1
- crack('v') -- записываем 1 символ
- pos = 1
- print(build()) -- читаем
- ]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement