Advertisement
TwiXon4ik

Untitled

Oct 5th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.72 KB | None | 0 0
  1. local c = require("component")
  2. local unicode = require("unicode")
  3. local holo = c.hologram
  4.  
  5. if not holo then error("This program reqiures holoram projector.") end
  6.  
  7.  
  8. local hologram = {}
  9.  
  10. ---------------------------------------
  11.  
  12. local symbols = {
  13. A = {
  14. {Q, 1},
  15. {0, 1, 0, 1, 0},
  16. {Q, 1},
  17. {Q, 1},
  18. {Q, 1},
  19. {Q, 1},
  20. {Q, 1},
  21. },
  22. B = {
  23. {1, 1, 1, 1, 0},
  24. {Q, 1},
  25. {1, 1, 1, 1, 0},
  26. {Q, 1},
  27. {Q, 1},
  28. {Q, 1},
  29. {1, 1, 1, 1, 0},
  30. },
  31. C = {
  32. {Q, 1},
  33. {Q, 1},
  34. {Q, 1},
  35. {Q, 1},
  36. {Q, 1},
  37. {Q, 1},
  38. {Q, 1},
  39. },
  40. D = {
  41. {1, 1, 1, 1, 0},
  42. {0, 1, 0, 0, 1},
  43. {0, 1, 0, 0, 1},
  44. {0, 1, 0, 0, 1},
  45. {0, 1, 0, 0, 1},
  46. {0, 1, 0, 0, 1},
  47. {1, 1, 1, 1, 0},
  48. },
  49. E = {
  50. {Q, 1},
  51. {Q, 1},
  52. {1, 1, 1, 0, 0},
  53. {Q, 1},
  54. {Q, 1},
  55. {Q, 1},
  56. {Q, 1},
  57. },
  58. F = {
  59. {Q, 1},
  60. {Q, 1},
  61. {1, 1, 1, 1, 0},
  62. {Q, 1},
  63. {Q, 1},
  64. {Q, 1},
  65. {Q, 1},
  66. },
  67. G = {
  68. {0, 1, 1, 1, 1},
  69. {Q, 1},
  70. {Q, 1},
  71. {1, 0, 1, 1, 1},
  72. {Q, 1},
  73. {Q, 1},
  74. {Q, 1},
  75. },
  76. H = {
  77. {Q, 1},
  78. {Q, 1},
  79. {Q, 1},
  80. {Q, 1},
  81. {Q, 1},
  82. {Q, 1},
  83. {Q, 1},
  84. },
  85. I = {
  86. {Q, 1},
  87. {Q, 1},
  88. {Q, 1},
  89. {Q, 1},
  90. {Q, 1},
  91. {Q, 1},
  92. {Q, 1},
  93. },
  94. J = {
  95. {0, 0, 0, 0, 01},
  96. {Q, 1},
  97. {Q, 1},
  98. {Q, 1},
  99. {Q, 1},
  100. {0, 1, 0, 0, 1},
  101. {Q, 1},
  102. },
  103. K = {
  104. {1, 0, 0, 1, 1},
  105. {1, 0, 1, 0, 0},
  106. {1, 0, 1, 0, 0},
  107. {1, 1, 0, 0, 0},
  108. {1, 0, 1, 0, 0},
  109. {1, 0, 0, 1, 0},
  110. {Q, 1},
  111. },
  112. L = {
  113. {0, 1, 0, 0, 0},
  114. {0, 1, 0, 0, 0},
  115. {0, 1, 0, 0, 0},
  116. {0, 1, 0, 0, 0},
  117. {0, 1, 0, 0, 0},
  118. {0, 1, 0, 0, 0},
  119. {Q, 1},
  120. },
  121. M = {
  122. {Q, 1},
  123. {1, 1, 0, 1, 1},
  124. {1, 0, 1, 0, 1},
  125. {Q, 1},
  126. {Q, 1},
  127. {Q, 1},
  128. {Q, 1},
  129. },
  130. N = {
  131. {Q, 1},
  132. {Q, 1},
  133. {1, 1, 0, 0, 1},
  134. {1, 0, 1, 0, 1},
  135. {1, 0, 0, 1, 1},
  136. {Q, 1},
  137. {Q, 1},
  138. },
  139. O = {
  140. {Q, 1},
  141. {Q, 1},
  142. {Q, 1},
  143. {Q, 1},
  144. {Q, 1},
  145. {Q, 1},
  146. {Q, 1},
  147. },
  148. P = {
  149. {1, 1, 1, 1, 0},
  150. {Q, 1},
  151. {Q, 1},
  152. {1, 1, 1, 1, 0},
  153. {Q, 1},
  154. {Q, 1},
  155. {Q, 1},
  156. },
  157. Q = {
  158. {Q, 1},
  159. {Q, 1},
  160. {Q, 1},
  161. {Q, 1},
  162. {1, 0, 1, 0, 1},
  163. {1, 0, 0, 1, 1},
  164. {Q, 1},
  165. },
  166. R = {
  167. {1, 1, 1, 1, 0},
  168. {Q, 1},
  169. {Q, 1},
  170. {1, 1, 1, 0, 0},
  171. {1, 0, 0, 1, 0},
  172. {Q, 1},
  173. {Q, 1},
  174. },
  175. S = {
  176. {0, 1, 1, 1, 1},
  177. {Q, 1},
  178. {Q, 1},
  179. {Q, 1},
  180. {Q, 1},
  181. {Q, 1},
  182. {Q, 1},
  183. },
  184. T = {
  185. {Q, 1},
  186. {Q, 1},
  187. {Q, 1},
  188. {Q, 1},
  189. {Q, 1},
  190. {Q, 1},
  191. {Q, 1},
  192. },
  193. U = {
  194. {Q, 1},
  195. {Q, 1},
  196. {Q, 1},
  197. {Q, 1},
  198. {Q, 1},
  199. {Q, 1},
  200. {Q, 1},
  201. },
  202. V = {
  203. {Q, 1},
  204. {Q, 1},
  205. {Q, 1},
  206. {Q, 1},
  207. {Q, 1},
  208. {0, 1, 0, 1, 0},
  209. {Q, 1},
  210. },
  211. W = {
  212. {Q, 1},
  213. {Q, 1},
  214. {Q, 1},
  215. {Q, 1},
  216. {1, 0, 1, 0, 1},
  217. {1, 1, 0, 1, 1},
  218. {Q, 1},
  219. },
  220. X = {
  221. {Q, 1},
  222. {0, 1, 0, 1, 0},
  223. {0, 1, 0, 1, 0},
  224. {Q, 1},
  225. {0, 1, 0, 1, 0},
  226. {0, 1, 0, 1, 0},
  227. {Q, 1},
  228. },
  229. Y = {
  230. {Q, 1},
  231. {Q, 1},
  232. {0, 1, 0, 1, 0},
  233. {Q, 1},
  234. {Q, 1},
  235. {Q, 1},
  236. {Q, 1},
  237. },
  238. Z = {
  239. {Q, 1},
  240. {Q, 1},
  241. {0, 0, 0, 1, 0},
  242. {Q, 1},
  243. {0, 1, 0, 0, 0},
  244. {Q, 1},
  245. {Q, 1},
  246. },
  247. ["."] = {
  248. {0, 0, 0, 0, 0},
  249. {0, 0, 0, 0, 0},
  250. {0, 0, 0, 0, 0},
  251. {0, 0, 0, 0, 0},
  252. {0, 0, 0, 0, 0},
  253. {0, 0, 0, 0, 0},
  254. {Q, 1},
  255. },
  256. [","] = {
  257. {0, 0, 0, 0, 0},
  258. {0, 0, 0, 0, 0},
  259. {0, 0, 0, 0, 0},
  260. {0, 0, 0, 0, 0},
  261. {0, 0, 0, 0, 0},
  262. {0, 1, 0, 0, 0},
  263. {Q, 1},
  264. },
  265. ["!"] = {
  266. {Q, 1},
  267. {Q, 1},
  268. {Q, 1},
  269. {Q, 1},
  270. {Q, 1},
  271. {0, 0, 0, 0, 0},
  272. {Q, 1},
  273. },
  274. [":"] = {
  275. {0, 0, 0, 0, 0},
  276. {Q, 1},
  277. {0, 0, 0, 0, 0},
  278. {0, 0, 0, 0, 0},
  279. {0, 0, 0, 0, 0},
  280. {Q, 1},
  281. {0, 0, 0, 0, 0},
  282. },
  283. ["-"] = {
  284. {0, 0, 0, 0, 0},
  285. {0, 0, 0, 0, 0},
  286. {0, 0, 0, 0, 0},
  287. {Q, 1},
  288. {0, 0, 0, 0, 0},
  289. {0, 0, 0, 0, 0},
  290. {0, 0, 0, 0, 0},
  291. },
  292. ["_"] = {
  293. {0, 0, 0, 0, 0},
  294. {0, 0, 0, 0, 0},
  295. {0, 0, 0, 0, 0},
  296. {0, 0, 0, 0, 0},
  297. {0, 0, 0, 0, 0},
  298. {0, 0, 0, 0, 0},
  299. {Q, 1},
  300. },
  301. ["1"] = {
  302. {Q, 1},
  303. {Q, 1},
  304. {0, 1, 1, 0, 0},
  305. {Q, 1},
  306. {Q, 1},
  307. {Q, 1},
  308. {Q, 1},
  309. },
  310. ["2"] = {
  311. {Q, 1},
  312. {Q, 1},
  313. {Q, 1},
  314. {Q, 1},
  315. {Q, 1},
  316. {Q, 1},
  317. {Q, 1},
  318. },
  319. ["3"] = {
  320. {Q, 1},
  321. {Q, 1},
  322. {Q, 1},
  323. {Q, 1},
  324. {Q, 1},
  325. {Q, 1},
  326. {Q, 1},
  327. },
  328. ["4"] = {
  329. {Q, 1},
  330. {Q, 1},
  331. {Q, 1},
  332. {Q, 1},
  333. {Q, 1},
  334. {Q, 1},
  335. {Q, 1},
  336. },
  337. ["5"] = {
  338. {Q, 1},
  339. {Q, 1},
  340. {Q, 1},
  341. {1, 1, 1, 1, 0},
  342. {Q, 1},
  343. {Q, 1},
  344. {Q, 1},
  345. },
  346. ["6"] = {
  347. {0, 0, 1, 1, 1},
  348. {0, 1, 0, 0, 0},
  349. {Q, 1},
  350. {1, 1, 1, 1, 0},
  351. {Q, 1},
  352. {Q, 1},
  353. {Q, 1},
  354. },
  355. ["7"] = {
  356. {Q, 1},
  357. {Q, 1},
  358. {0, 0, 0, 1, 0},
  359. {Q, 1},
  360. {Q, 1},
  361. {Q, 1},
  362. {Q, 1},
  363. },
  364. ["8"] = {
  365. {Q, 1},
  366. {Q, 1},
  367. {Q, 1},
  368. {Q, 1},
  369. {Q, 1},
  370. {Q, 1},
  371. {Q, 1},
  372. },
  373. ["9"] = {
  374. {Q, 1},
  375. {Q, 1},
  376. {Q, 1},
  377. {0, 1, 1, 1, 1},
  378. {Q, 1},
  379. {0, 0, 0, 1, 0},
  380. {1, 1, 1, 0, 0},
  381. },
  382. ["0"] = {
  383. {Q, 1},
  384. {Q, 1},
  385. {Q, 1},
  386. {Q, 1},
  387. {Q, 1},
  388. {Q, 1},
  389. {Q, 1},
  390. },
  391. [" "] = {
  392. {0, 0, 0, 0, 0},
  393. {0, 0, 0, 0, 0},
  394. {0, 0, 0, 0, 0},
  395. {0, 0, 0, 0, 0},
  396. {0, 0, 0, 0, 0},
  397. {0, 0, 0, 0, 0},
  398. {0, 0, 0, 0, 0},
  399. },
  400. empty = {
  401. {0, 0, 0, 0, 0},
  402. {0, 0, 0, 0, 0},
  403. {0, 0, 0, 0, 0},
  404. {0, 0, 0, 0, 0},
  405. {0, 0, 0, 0, 0},
  406. {0, 0, 0, 0, 0},
  407. {0, 0, 0, 0, 0},
  408. },
  409. }
  410.  
  411. local function clear()
  412. holo.clear()
  413. end
  414.  
  415. function hologram.drawSymbol(x, y, z, symbol, color)
  416. for j = 1, #symbol do
  417. for i = 1, #symbol[j] do
  418. if symbol[j][i] == 1 then
  419. holo.set(x + i - 1, y - j + 1, z, color)
  420. end
  421. end
  422. end
  423. end
  424.  
  425. function hologram.text(x, y, z, text, color)
  426. local length = unicode.len(text)
  427. local smeshenie = 0
  428. for i = 1, length do
  429. local sym = unicode.sub(text, i, i)
  430. hologram.drawSymbol(x + smeshenie, y, z, symbols[sym], color)
  431. smeshenie = smeshenie + 6
  432. end
  433. end
  434.  
  435.  
  436. ---------------------------------------
  437.  
  438. local args = {...}
  439. local scale = tonumber(args[1]) or 1
  440. local height = tonumber(args[2]) or 10
  441.  
  442. local date
  443.  
  444. holo.setScale(scale)
  445.  
  446. while true do
  447. holo.clear()
  448. date = os.date("%T")
  449. hologram.text(1, height, 24, date, 2)
  450. os.sleep(1)
  451. end
  452.  
  453. ---------------------------------------
  454.  
  455. return hologram
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement