Advertisement
Guest User

mon1

a guest
Jan 16th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.62 KB | None | 0 0
  1. mon = peripheral.wrap("front")
  2. x,y = mon.getSize()
  3. x1,y1 = mon.getCursorPos()
  4.  
  5. t_x,t_y = term.getSize()
  6. t_x1,t_y1 = term.getCursorPos()
  7.  
  8. g_strona = 1
  9. Tytul =
  10. {
  11.         "Survival i wyzwania",
  12.         "Sortownia i magazyn ",
  13.         "Proste konstrukcje (1)",
  14.         "Proste konstrukcje (2)",
  15.         "Mechanizmy i automaty (1)",
  16.         "Mechanizmy i automaty (2)",
  17.         "Zrodla pozyskania energii (1)",
  18.         "Zrodla pozyskania energii (2)",
  19.         "Szkola czarow i magii",
  20.         "Inne wyzwania",
  21.         "Poboczne for fun"
  22. }
  23. Lista_zadan =
  24. {
  25. zad1, zad2, zad3, zad4, zad5, zad6, zad7, zad8, zad9, zad10,
  26. zad11, zad12, zad13, zad14, zad15, zad16, zad17, zad18, zad19, zad20,
  27. zad21, zad22, zad23, zad24, zad25, zad26, zad27, zad28, zad29, zad30,
  28. zad31, zad32, zad33, zad34, zad35, zad36, zad37, zad38, zad39, zad40,
  29. zad41, zad42, zad43, zad44, zad45, zad46, zad47, zad48, zad49, zad50,
  30. zad51, zad52, zad53, zad54, zad55, zad56, zad57, zad58, zad59, zad60,
  31. zad61, zad62, zad63, zad64, zad65, zad66, zad67, zad68, zad69, zad70,
  32. zad71, zad72, zad73, zad74, zad75, zad76, zad77, zad78, zad79, zad80,
  33. zad81, zad82, zad83, zad84, zad85, zad86, zad87, zad88, zad89, zad90,
  34. zad91, zad92, zad93, zad94, zad95, zad96, zad97, zad98, zad99, zad100,
  35. zad101, zad102, zad103, zad104, zad105, zad106, zad107, zad108, zad109, zad110,}
  36. --for n=1,110 do
  37. --table.insert(Lista_zadan,{"test","N"} )
  38. --end
  39.  
  40. function save(table, name)
  41.         local file = fs.open(name, "w")
  42.         file.write(textutils.serialize(table))
  43.         file.close()
  44. end
  45.  
  46. function load(name)
  47.         local file = fs.open(name, "r")
  48.         local data = file.readAll()
  49.         file.close()
  50.         return textutils.unserialize(data)
  51. end
  52. Lista_zadan = load("lista_zadan")
  53. mon.setBackgroundColor(colors.black)  
  54. function ekran()
  55.   term.clear()
  56.   mon.clear()
  57.  
  58.   mon.setTextScale(0.5)
  59.  
  60.   term.setTextColor(64)
  61.   mon.setTextColor(3)
  62.  
  63.   mon.setCursorPos(1,1)
  64.   term.setCursorPos(1,1)
  65.   banner = '-----------------------------------------------'
  66.   term.setCursorPos((math.floor(t_x/2) - (math.floor(#banner/2))),2)
  67.   mon.setCursorPos((math.floor(x/2) - (math.floor(#banner/2))),2)
  68.   mon.write(banner)
  69.   term.write(banner)
  70.   banner = 'Strona '..tostring(g_strona)..' - HZSquad'
  71.   term.setCursorPos((math.floor(t_x/2) - (math.floor(#banner/2))),3)
  72.   mon.setCursorPos((math.floor(x/2) - (math.floor(#banner/2))),3)
  73.   mon.write(banner)
  74.   term.write(banner)
  75.   banner = '-----------------------------------------------'
  76.   term.setCursorPos((math.floor(t_x/2) - (math.floor(#banner/2))),4)
  77.   mon.setCursorPos((math.floor(x/2) - (math.floor(#banner/2))),4)
  78.   mon.write(banner)
  79.   term.write(banner)
  80.   licznik = 1
  81.   -- 5 - zielony     8192
  82.   -- 14 - Czerwony   16384
  83.   for i = ((g_strona-1)*10+1), #Lista_zadan do
  84.     term.setCursorPos(1, 4 + (licznik))
  85.  mon.setCursorPos(1, 4 + (licznik*2))
  86.  if Lista_zadan[i][2] == "T" then
  87.   term.setTextColor(8192)
  88.   mon.setTextColor(8192)
  89.  else
  90.    term.setTextColor(16384)
  91.    mon.setTextColor(16384)
  92.  end
  93.  term.write( Lista_zadan[i][1])
  94.  mon.write(Lista_zadan[i][1])
  95.  
  96.  licznik = licznik + 1
  97.  if licznik > 20 then
  98.    break
  99.  end
  100.   end
  101.  mon.setTextColor(3)
  102.   term.setCursorPos(1, 27)
  103.   term.write("Nastepna strona - >")
  104.   term.setCursorPos(1, 28)
  105.   term.write("<- Poprzednia strona")
  106.  
  107.   mon.setCursorPos(1, y)
  108.   mon.write("<- Poprzednia strona")
  109.   mon.setCursorPos(x-(#"<- Poprzednia strona"), y)
  110.   mon.write("Nastepna strona - >")
  111.  
  112.   return Pilnuj_dotyk()
  113. end
  114.  
  115. function Pilnuj_dotyk()
  116.     while true do
  117.     event,button,xPos,yPos = os.pullEvent()
  118.  if event == "mouse_click" then
  119.    mon.setCursorPos(1,1)
  120.    
  121.    if button == 1 then
  122.      term.setCursorPos(1,1)
  123.      term.write("y: " .. yPos)
  124.      if yPos >= 5 and yPos <= 15 then
  125.     if Lista_zadan[((g_strona-1)*10) + (yPos-4)][2] == "T" then
  126.       Lista_zadan[((g_strona-1)*10) + (yPos)-4][2] = "N"
  127.     else
  128.       Lista_zadan[((g_strona-1)*10) + (yPos)-4][2] = "T"
  129.     end
  130.   end
  131.   if yPos == 17 then  -- nastepny
  132.       if g_strona < 11 then
  133.         g_strona = g_strona + 1
  134.     end
  135.   end
  136.   if yPos == 18 then  -- poprzedni
  137.     if g_strona > 1 then
  138.       g_strona = g_strona - 1
  139.     end    
  140.   end
  141.   save(Lista_zadan, "lista_zadan")
  142.   return ekran()
  143.    end
  144.  elseif event == "monitor_touch" then
  145.  
  146.    if yPos >= 6 and yPos <= 44 then
  147.      l_nr  = 0
  148.   l_nr = math.floor(yPos/2-2)
  149.    --       if yPos == 6 then l_nr = 1
  150.  -- elseif yPos == 8 then l_nr = 2
  151.  -- elseif yPos == 10 then l_nr = 3
  152.  -- elseif yPos == 12 then l_nr = 4
  153.  -- elseif yPos == 14 then l_nr = 5
  154.  -- elseif yPos == 16 then l_nr = 6
  155.  -- elseif yPos == 18 then l_nr = 7
  156.  -- elseif yPos == 20 then l_nr = 8
  157.   --elseif yPos == 22 then l_nr = 9
  158.  -- elseif yPos == 24 then l_nr = 10
  159.  -- end
  160.  
  161.      if l_nr > 0 then
  162.        if Lista_zadan[((g_strona-1)*10) + l_nr][2] == "T" then
  163.       Lista_zadan[((g_strona-1)*10) + l_nr][2] = "N"
  164.     else
  165.       Lista_zadan[((g_strona-1)*10) + l_nr][2] = "T"
  166.     end
  167.   end
  168.  
  169.    end
  170.    
  171.    if yPos >= 45 then  -- nastepny
  172.      if xPos < 20 then
  173.     if g_strona > 1 then
  174.       g_strona = g_strona - 1
  175.     end
  176.   elseif xPos> x-20 then
  177.     if g_strona < 5 then
  178.       g_strona = g_strona + 1
  179.     end
  180.   end
  181.    end
  182.    
  183.    save(Lista_zadan, "lista_zadan")
  184.    return ekran()
  185.  end
  186.   end
  187. end
  188.  
  189. function main()
  190.    if fs.exists("lista_zadan") then
  191.    else
  192.      save(Lista_zadan, "lista_zadan")
  193.    end
  194.    Lista_zadan_kopia = load("lista_zadan")
  195.  
  196.   for i = 1, #Lista_zadan_kopia do
  197.     Lista_zadan[i][2] = Lista_zadan_kopia[i][2]
  198.   end
  199.   save(Lista_zadan, "lista_zadan")
  200.    
  201.   mon.clear()
  202.   term.clear()
  203.   return ekran()
  204. end
  205.  
  206. return main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement