Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --@piloute33
- rednet.open("back") -- << Side du modem
- local channel = nil -- << ID de la Turtle
- local display, btn
- local function onclick(item,x,y)
- return x >= item.x1
- and x <= item.x2
- and y >= item.y1
- and y <= item.y2
- end
- --Raccourcis
- local _r = string.rep
- local _c = string.char
- if pocket then
- local h=0
- --GFX
- display = function()
- -- Résolution (pocket) : 26x20
- -- +---------+-----------+
- -- | Avancer | Reculer |
- -- +---------+-----------+
- -- | Gauche | Droite |
- -- +---------+-----------+
- -- | Monter | Descendre |
- -- +---------+-----------+
- -- | Casser | Poser |
- -- +---------+-----------+
- -- | Aspirer | Cracher |
- -- +---------+-----------+
- -- | Quitter | Éteindre |
- -- +---------------------+
- term.setCursorPos(1,2)
- term.setTextColor(colors.white)
- term.setBackgroundColor(colors.black)
- local interline = _c(157).._r(_c(140),9).._c(157).._r(_c(140),11).._c(149)
- print( string.format(" %s\n channel: #%d\n"
- .." %s\n"
- .." %s Avancer %s Reculer %s\n"
- .." %s\n"
- .." %s Gauche %s Droite %s\n"
- .." %s\n"
- .." %s Monter %s Descendre %s\n"
- .." %s\n"
- .." %s Casser %s Poser %s\n"
- .." %s\n"
- .." %s Aspirer %s Cracher %s\n"
- .." %s\n"
- .." %s Quitter %s Éteindre %s\n"
- .." %s\n",
- shell.getRunningProgram(), channel,
- _c(156).._r(_c(140),9).._c(156).._r(_c(140),11).._c(148),
- _c(149), _c(149), _c(149), interline,
- _c(149), _c(149), _c(149), interline,
- _c(149), _c(149), _c(149), interline,
- _c(149), _c(149), _c(149), interline,
- _c(149), _c(149), _c(149), interline,
- _c(149), _c(149), _c(149),
- _c(141).._r(_c(140),9).._c(141).._r(_c(140),11).._c(133)
- ))
- end
- --hiboxes
- btn = {
- ["Avancer"] ={x1= 4,x2=12,y1= 5,y2= 5},
- ["Reculer"] ={x1=14,x2=23,y1= 5,y2= 5},
- ["Gauche"] ={x1= 4,x2=12,y1= 7,y2= 7},
- ["Droite"] ={x1=14,x2=23,y1= 7,y2= 7},
- ["Monter"] ={x1= 4,x2=12,y1= 9,y2= 9},
- ["Descendre"]={x1=14,x2=23,y1= 9,y2= 9},
- ["Casser"] ={x1= 4,x2=12,y1=11,y2=11},
- ["Poser"] ={x1=14,x2=23,y1=11,y2=11},
- ["Aspirer"] ={x1= 4,x2=12,y1=13,y2=13},
- ["Cracher"] ={x1=14,x2=23,y1=13,y2=13},
- ["X"] ={x1= 4,x2=12,y1=15,y2=15},
- ["Eteindre"] ={x1=14,x2=23,y1=15,y2=15},
- }
- else
- --GFX
- display = function()
- local image = paintutils.loadImage("ig")
- paintutils.drawImage(image , 1, 1)
- term.setBackgroundColor(colors.red)
- term.setCursorPos(8,3)
- write("Avancé")
- term.setCursorPos(23,3)
- write("Cassé")
- term.setCursorPos(37,3)
- write("Reculé")
- term.setCursorPos(8,8)
- write("Monté")
- term.setCursorPos(36,8)
- write("Descendre")
- term.setCursorPos(19,8)
- write("Posé un bloc")
- term.setCursorPos(8,13)
- write("Gauche")
- term.setCursorPos(36,13)
- write("Droite")
- term.setCursorPos(21,13)
- write("Recupéré")
- term.setCursorPos(48,1)
- write("X")
- term.setCursorPos(38,17)
- write("Eteindre")
- term.setCursorPos(1,1)
- term.setBackgroundColor(colors.black)
- term.setTextColor(colors.black)
- end
- --hitboxes
- btn = {
- ["Avancer"] ={x1= 4,x2=17,y1= 2,y2= 5},
- ["Casser"] ={x1=19,x2=31,y1= 2,y2= 5},
- ["Reculer"] ={x1=33,x2=45,y1= 2,y2= 5},
- ["Monter"] ={x1= 4,x2=17,y1= 7,y2=10},
- ["Descendre"]={x1=32,x2=47,y1= 7,y2=10},
- ["Poser"] ={x1=19,x2=31,y1= 7,y2=11},
- ["Gauche"] ={x1= 3,x2=17,y1=12,y2=16},
- ["Droite"] ={x1=33,x2=45,y1=12,y2=16},
- ["Aspirer"] ={x1=18,x2=31,y1=12,y2=16},
- ["X"] ={x1=47,x2=49,y1= 1,y2= 2},
- ["Eteindre"] ={x1=36,x2=49,y1=17,y2=18},
- }
- end
- local _debug = false
- term.clear()
- display()
- while true do
- local _, mouse, x, y = os.pullEvent("mouse_click")
- term.setTextColor(colors.white)
- if _debug then
- if pocket then
- term.setCursorPos(1,19) term.clearLine() term.write(_f("x:%d | y:%d",x,y))
- else
- print(x,y)
- end
- else
- if onclick(btn["Avancer"], x, y) then
- rednet.send(channel, "forward")
- elseif onclick(btn["Casser"], x, y) then
- rednet.send(channel, "dig")
- elseif onclick(btn["Reculer"], x, y) then
- rednet.send(channel, "back")
- elseif onclick(btn["Monter"], x, y) then
- rednet.send(channel, "up")
- elseif onclick(btn["Descendre"], x, y) then
- rednet.send(channel, "down")
- elseif onclick(btn["Poser"], x, y) then
- rednet.send(channel, "place")
- elseif onclick(btn["Gauche"], x, y) then
- rednet.send(channel, "turnleft")
- elseif onclick(btn["Droite"], x, y) then
- rednet.send(channel, "turnright")
- elseif onclick(btn["Aspirer"], x, y) then
- rednet.send(channel, "suck")
- elseif pocket and onclick(btn["Cracher"], x, y) then
- rednet.send(channel, "drop")
- elseif onclick(btn["X"], x, y) then
- --os.shutdown()
- term.setCursorPos(1,1)
- term.clear()
- printError("Terminated")
- sleep(.3)
- return
- elseif onclick(btn["Eteindre"], x, y) then
- rednet.send(channel, "urgence")
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement