View difference between Paste ID: CfcL1JF6 and Hf4JYXYF
SHOW: | | - or go back to the newest paste.
1-
local numbers = {}
1+
function initSevenSeg(sSide)
2-
numbers[0] = {1, 1, 1, 0, 1, 1, 1}
2+
  rs.setBundledOutput(sSide, 0)
3-
numbers[1] = {0, 0, 1, 0, 0, 1, 0}
3+
  
4-
numbers[2] = {1, 0, 1, 1, 1, 0, 1}
4+
5-
numbers[3] = {1, 0, 1, 1, 0, 1, 1}
5+
6-
numbers[4] = {0, 1, 1, 1, 0, 1, 0}
6+
7-
numbers[5] = {1, 1, 0, 1, 0, 1, 1}
7+
function drawSevenSeg(nNumber, sSide)
8-
numbers[6] = {1, 1, 0, 1, 1, 1, 1}
8+
  if not sSide then
9-
numbers[7] = {1, 0, 1, 0, 0, 1, 0}
9+
    return false, "drawSevenSeg(nNumber, sSide)"
10-
numbers[8] = {1, 1, 1, 1, 1, 1, 1}
10+
11-
numbers[9] = {1, 1, 1, 1, 0, 1, 1}
11+
12
  if nNumber > 9 then
13-
function initSevenSeg(startX, startY, nSize, nInactiveColor)
13+
14-
  startX, startY, nSize, nInactiveColor = tonumber(startX), tonumber(startY), tonumber(nSize), tonumber(nInactiveColor)
14+
15
    else
16-
  if not nSize or type(startX) ~= "number" or type(startY) ~= "number" or type(nSize) ~= "number" then
16+
17-
    return false, "initSevenSeg(startX, startY, nSize[, nInactiveColor])"
17+
18
  end
19
20-
  local oldBgColor = term.getBackgroundColor()
20+
  initSevenSeg(sSide)
21
22-
  nInactiveColor = nInactiveColor or colors.lightGray
22+
  if nNumber == 0 then
23
	rs.setBundledOutput(sSide, 2^0+2^1+2^2+2^4+2^5+2^6)
24-
  paintutils.drawLine(startX + 1, startY, startX + nSize, startY, nInactiveColor)
24+
  elseif nNumber == 1 then
25-
  paintutils.drawLine(startX, startY + 1, startX, startY + nSize, nInactiveColor)
25+
	rs.setBundledOutput(sSide, 2^2+2^5)
26-
  paintutils.drawLine((startX + 1) + nSize, startY + 1, (startX + 1) + nSize, startY + nSize, nInactiveColor)
26+
  elseif nNumber == 2 then
27-
  paintutils.drawLine(startX + 1, (startY + 1) + nSize, startX + nSize, (startY + 1) + nSize, nInactiveColor)
27+
	rs.setBundledOutput(sSide, 2^0+2^2+2^3+2^4+2^6)
28-
  paintutils.drawLine(startX, (startY + 2) + nSize, startX, (startY + 1) + nSize * 2, nInactiveColor)
28+
  elseif nNumber == 3 then
29-
  paintutils.drawLine((startX + 1) + nSize, (startY + 2) + nSize, (startX + 1) + nSize, (startY + 1) + nSize * 2, nInactiveColor)
29+
	rs.setBundledOutput(sSide, 2^0+2^2+2^3+2^5+2^6)
30-
  paintutils.drawLine(startX + 1, (startY + 2) + nSize * 2, startX + nSize, (startY + 2) + nSize * 2, nInactiveColor)
30+
  elseif nNumber == 4 then
31
	rs.setBundledOutput(sSide, 2^1+2^2+2^3+2^5)
32-
  term.setBackgroundColor(oldBgColor)
32+
  elseif nNumber == 5 then
33
	rs.setBundledOutput(sSide, 2^0+2^1+2^3+2^5+2^6)
34
  elseif nNumber == 6 then
35
	rs.setBundledOutput(sSide, 2^0+2^1+2^3+2^4+2^5+2^6)
36
  elseif nNumber == 7 then
37-
function drawSevenSeg(nNumber, startX, startY, nSize, nActiveColor, nInactiveColor)
37+
	rs.setBundledOutput(sSide, 2^0+2^2+2^5)
38-
  nNumber, startX, startY, nSize, nActiveColor, nInactiveColor = tonumber(nNumber), tonumber(startX), tonumber(startY), tonumber(nSize), tonumber(nActiveColor), tonumber(nInactiveColor)
38+
  elseif nNumber == 8 then
39
	rs.setBundledOutput(sSide, 2^0+2^1+2^2+2^3+2^4+2^5+2^6)
40-
  if not nSize or type(nNumber) ~= "number" or type(startX) ~= "number" or type(startY) ~= "number" or type(nSize) ~= "number" then
40+
  elseif nNumber == 9 then
41-
    return false, "drawSevenSeg(nNumber, startX, startY, nSize[, nActiveColor, nInactiveColor])"
41+
	rs.setBundledOutput(sSide, 2^0+2^1+2^2+2^3+2^5+2^6)
42
  end
43
44-
  local oldBgColor = term.getBackgroundColor()
44+
45
end