SHOW:
|
|
- or go back to the newest paste.
| 1 | mount = function (peripheral_type) | |
| 2 | for _,location in pairs(peripheral.getNames()) do | |
| 3 | if peripheral.getType(location) == peripheral_type then | |
| 4 | return peripheral.wrap(location) | |
| 5 | end | |
| 6 | end | |
| 7 | return false | |
| 8 | end | |
| 9 | ||
| 10 | lamp = mount("modem")
| |
| 11 | hue = 0.00 | |
| 12 | ||
| 13 | function toHex(dec) | |
| 14 | return(string.format("%x",dec))
| |
| 15 | end | |
| 16 | ||
| 17 | function toDec(hex) | |
| 18 | return(tonumber(hex)) | |
| 19 | end | |
| 20 | function hsvToRgb(h, s, v) | |
| 21 | local r, g, b | |
| 22 | local i = math.floor(h * 6); | |
| 23 | local f = h * 6 - i; | |
| 24 | local p = v * (1 - s); | |
| 25 | local q = v * (1 - f * s); | |
| 26 | local t = v * (1 - (1 - f) * s); | |
| 27 | i = i % 6 | |
| 28 | if i == 0 then r, g, b = v, t, p | |
| 29 | elseif i == 1 then r, g, b = q, v, p | |
| 30 | elseif i == 2 then r, g, b = p, v, t | |
| 31 | elseif i == 3 then r, g, b = p, q, v | |
| 32 | elseif i == 4 then r, g, b = t, p, v | |
| 33 | elseif i == 5 then r, g, b = v, p, q | |
| 34 | end | |
| 35 | rHex = toHex(math.floor(r*255)) | |
| 36 | gHex = toHex(math.floor(g*255)) | |
| 37 | bHex = toHex(math.floor(b*255)) | |
| 38 | if string.len(rHex) <= 1 then | |
| 39 | rHex = rHex..0 | |
| 40 | end | |
| 41 | if string.len(gHex) <= 1 then | |
| 42 | gHex = gHex..0 | |
| 43 | end | |
| 44 | if string.len(bHex) <= 1 then | |
| 45 | bHex = bHex..0 | |
| 46 | end | |
| 47 | return("0x"..rHex..gHex..bHex)
| |
| 48 | end | |
| 49 | function centerText(text) | |
| 50 | local x,y = term.getSize() | |
| 51 | term.setCursorPos(math.floor((x / 2) - (text:len() / 2)), y) | |
| 52 | write(text) | |
| 53 | end | |
| 54 | while not stop do | |
| 55 | - | term.clear() |
| 55 | + | |
| 56 | - | centerText("Color in hex? ")
|
| 56 | + | |
| 57 | - | color = read() |
| 57 | + | |
| 58 | - | term.clear() |
| 58 | + | |
| 59 | - | if color == "stop" then stop = true end |
| 59 | + | |
| 60 | - | if color == "rainbow" then |
| 60 | + | hue = hue+.01 -- Changing this to a smaller number will make the steps between colors smaller |
| 61 | - | while not true do |
| 61 | + | sleep(.005) -- Changing this line to a bigger number will make the lamp stay one color longer |
| 62 | end | |
| 63 |