Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
local state = false local modemSide = "back" local modem = peripheral.wrap(modemSide) local width, height = term.getSize() local data = {"info","off","Temp",0,"Coolant",0,"Damage",0,"Waste",0} local yh,yb = math.floor(height/2+3), height-1 local xg,xd = 2, width-1 local buttonY = math.floor(3 * height / 4) remoteID = 14 rednet.open(modemSide) local function sendData(Data) rednet.send(remoteID, Data) end local function drawButton(state, text) --term.clear() term.setCursorPos(xg,yh) local bgColor = colors.red local fgColor = colors.white if state then bgColor = colors.green fgColor = colors.black end for y = yh, yb do term.setCursorPos(xg,y) term.setBackgroundColor(bgColor) term.write(string.rep(" ", xd - xg + 1)) end local textLen = #text local x = math.floor((width - textLen) / 2) + 1 local y = math.floor((yh + yb) / 2) term.setCursorPos(x, y) term.setTextColor(fgColor) term.write(text) -- Reset colors term.setBackgroundColor(colors.black) term.setTextColor(colors.white) end local function chState() while true do if state then drawButton(true, "ON") else drawButton(false, "OFF") end local event, button, x, y = os.pullEvent("mouse_click") if y >= yh and y <= yb and x >= xg and x <= xd then state = not state sendData(state) end end end local function dataDisplay() while true do -- Affichage simple des données sous forme clé-valeur term.setCursorPos(1,1) term.setBackgroundColor(colors.black) term.setTextColor(colors.white) term.clearLine() term.write("Données reçues :") local line = 2 for i=1, #data, 2 do term.setCursorPos(1, line) term.clearLine() term.write(string.format("%s : %s", tostring(data[i]), tostring(data[i+1]))) line = line + 1 end sleep(1) -- mettre à jour toutes les 1s end end local function dataUpdate() while true do local senderID, message = rednet.receive() if senderID == remoteID and type(message) == "table" then data = message end end end local function main() parallel.waitForAny(dataUpdate, chState, dataDisplay) end main()
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)