mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2026-01-06 11:12:40 +01:00
Create HoloClock.lua
This commit is contained in:
parent
bad6fe342c
commit
aac0e99fc9
455
Applications/HoloClock.lua
Normal file
455
Applications/HoloClock.lua
Normal file
@ -0,0 +1,455 @@
|
||||
local c = require("component")
|
||||
local unicode = require("unicode")
|
||||
local holo = c.hologram
|
||||
|
||||
if not holo then error("This program reqiures holoram projector.") end
|
||||
|
||||
|
||||
local hologram = {}
|
||||
|
||||
---------------------------------------
|
||||
|
||||
local symbols = {
|
||||
A = {
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 1, 0, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 1, 1, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
},
|
||||
B = {
|
||||
{1, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 1, 1, 0},
|
||||
},
|
||||
C = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
D = {
|
||||
{1, 1, 1, 1, 0},
|
||||
{0, 1, 0, 0, 1},
|
||||
{0, 1, 0, 0, 1},
|
||||
{0, 1, 0, 0, 1},
|
||||
{0, 1, 0, 0, 1},
|
||||
{0, 1, 0, 0, 1},
|
||||
{1, 1, 1, 1, 0},
|
||||
},
|
||||
E = {
|
||||
{1, 1, 1, 1, 1},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 1, 1, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 1, 1, 1, 1},
|
||||
},
|
||||
F = {
|
||||
{1, 1, 1, 1, 1},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
},
|
||||
G = {
|
||||
{0, 1, 1, 1, 1},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 1, 1, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
H = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 1, 1, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
},
|
||||
I = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
J = {
|
||||
{0, 0, 0, 0, 01},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 1, 0, 0, 1},
|
||||
{0, 0, 1, 1, 0},
|
||||
},
|
||||
K = {
|
||||
{1, 0, 0, 1, 1},
|
||||
{1, 0, 1, 0, 0},
|
||||
{1, 0, 1, 0, 0},
|
||||
{1, 1, 0, 0, 0},
|
||||
{1, 0, 1, 0, 0},
|
||||
{1, 0, 0, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
},
|
||||
L = {
|
||||
{0, 1, 0, 0, 0},
|
||||
{0, 1, 0, 0, 0},
|
||||
{0, 1, 0, 0, 0},
|
||||
{0, 1, 0, 0, 0},
|
||||
{0, 1, 0, 0, 0},
|
||||
{0, 1, 0, 0, 0},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
M = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 0, 1, 1},
|
||||
{1, 0, 1, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
},
|
||||
N = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 0, 0, 1},
|
||||
{1, 0, 1, 0, 1},
|
||||
{1, 0, 0, 1, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
},
|
||||
O = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
P = {
|
||||
{1, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
},
|
||||
Q = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 1, 0, 1},
|
||||
{1, 0, 0, 1, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
R = {
|
||||
{1, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 1, 0, 0},
|
||||
{1, 0, 0, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
},
|
||||
S = {
|
||||
{0, 1, 1, 1, 1},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{0, 1, 1, 1, 0},
|
||||
{0, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
T = {
|
||||
{1, 1, 1, 1, 1},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
},
|
||||
U = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
V = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 0, 1, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
},
|
||||
W = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 1, 0, 1},
|
||||
{1, 1, 0, 1, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
},
|
||||
X = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 0, 1, 0},
|
||||
{0, 1, 0, 1, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 1, 0, 1, 0},
|
||||
{0, 1, 0, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
},
|
||||
Y = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 0, 1, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
},
|
||||
Z = {
|
||||
{1, 1, 1, 1, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 0, 1, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 1, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 1, 1, 1, 1},
|
||||
},
|
||||
["."] = {
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
},
|
||||
[","] = {
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 1, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
},
|
||||
["!"] = {
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
},
|
||||
[":"] = {
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
},
|
||||
["-"] = {
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 1, 1, 1, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
},
|
||||
["_"] = {
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{1, 1, 1, 1, 1},
|
||||
},
|
||||
["1"] = {
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 1, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
["2"] = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 1, 1, 1, 1},
|
||||
},
|
||||
["3"] = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 1, 1, 0},
|
||||
{0, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
["4"] = {
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 1, 1, 1, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
},
|
||||
["5"] = {
|
||||
{1, 1, 1, 1, 1},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 1, 1, 1, 0},
|
||||
{0, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
["6"] = {
|
||||
{0, 0, 1, 1, 1},
|
||||
{0, 1, 0, 0, 0},
|
||||
{1, 0, 0, 0, 0},
|
||||
{1, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
["7"] = {
|
||||
{1, 1, 1, 1, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 0, 1, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
{0, 0, 1, 0, 0},
|
||||
},
|
||||
["8"] = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
["9"] = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 1},
|
||||
{0, 0, 0, 0, 1},
|
||||
{0, 0, 0, 1, 0},
|
||||
{1, 1, 1, 0, 0},
|
||||
},
|
||||
["0"] = {
|
||||
{0, 1, 1, 1, 0},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{1, 0, 0, 0, 1},
|
||||
{0, 1, 1, 1, 0},
|
||||
},
|
||||
[" "] = {
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
},
|
||||
empty = {
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0},
|
||||
},
|
||||
}
|
||||
|
||||
local function clear()
|
||||
holo.clear()
|
||||
end
|
||||
|
||||
function hologram.drawSymbol(x, y, z, symbol, color)
|
||||
for j = 1, #symbol do
|
||||
for i = 1, #symbol[j] do
|
||||
if symbol[j][i] == 1 then
|
||||
holo.set(x + i - 1, y - j + 1, z, color)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function hologram.text(x, y, z, text, color)
|
||||
local length = unicode.len(text)
|
||||
local smeshenie = 0
|
||||
for i = 1, length do
|
||||
local sym = unicode.sub(text, i, i)
|
||||
hologram.drawSymbol(x + smeshenie, y, z, symbols[sym], color)
|
||||
smeshenie = smeshenie + 6
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
---------------------------------------
|
||||
|
||||
local args = {...}
|
||||
local scale = tonumber(args[1]) or 1
|
||||
local height = tonumber(args[2]) or 10
|
||||
|
||||
local date
|
||||
|
||||
holo.setScale(scale)
|
||||
|
||||
while true do
|
||||
holo.clear()
|
||||
date = os.date("%T")
|
||||
hologram.text(1, height, 24, date, 2)
|
||||
os.sleep(1)
|
||||
end
|
||||
|
||||
---------------------------------------
|
||||
|
||||
return hologram
|
||||
Loading…
x
Reference in New Issue
Block a user