Advertisement
MagmaLP

Item-Wert_PC_German_Version

Apr 23rd, 2022 (edited)
871
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.08 KB | None | 0 0
  1. function calc_color(color)
  2.     return math.pow(2, color - 1)
  3. end
  4.  
  5. function msg(gap, line, color, groundb, text)
  6.     term.setBackgroundColor(calc_color(groundb))
  7.     term.setCursorPos(gap,line)
  8.     term.setTextColor(calc_color(color))
  9.     text = term.write(text)
  10. end  
  11.  
  12. --AE und HV Mengenabfrage
  13. term.clear()
  14. msg(01,02,09,16,"Wie viele Adjustable Emitter besitzt der Verkäufer?")
  15. term.setTextColor(colors.red)
  16. term.setCursorPos(01,03)
  17. AdjustableEmitterBesitz1 = read()
  18. AdjustableEmitterBesitz1 = tonumber(AdjustableEmitterBesitz1)
  19. if AdjustableEmitterBesitz1 < 1 then
  20.     msg(01,05,09,16,"Wie viele HVs besitzt der Verkäufer?")
  21.     term.setTextColor(colors.red)
  22.     term.setCursorPos(01,06)
  23.    
  24.     nutzlos1 = read()
  25. end
  26. msg(01,09,09,16,"Wie viele Adjustable Emitter besitzt der Käufer?")
  27. term.setTextColor(colors.red)
  28. term.setCursorPos(01,10)
  29. AdjustableEmitterBesitz2 = read()
  30. AdjustableEmitterBesitz2 = tonumber(AdjustableEmitterBesitz2)
  31. if AdjustableEmitterBesitz2 < 1 then
  32.     msg(01,12,09,16,"Wie viele HVs besitzt der Käufer?")
  33.     term.setTextColor(colors.red)
  34.     term.setCursorPos(01,13)
  35.     nutzlos2 = read()
  36. end
  37.  
  38. --Berechnung kleinster Menge an AEs
  39. if AdjustableEmitterBesitz1 > AdjustableEmitterBesitz2 then
  40.     AdjustableEmitterBesitz = AdjustableEmitterBesitz2
  41. elseif AdjustableEmitterBesitz1 < AdjustableEmitterBesitz2 then
  42.     AdjustableEmitterBesitz = AdjustableEmitterBesitz1
  43. else
  44.     AdjustableEmitterBesitz = AdjustableEmitterBesitz1
  45. end
  46.  
  47. --Umrechnung AE-Menge in AE-Rechenmenge
  48. if AdjustableEmitterBesitz < 10 then
  49.     AdjustableEmitterRechenwert = 1
  50.     AdjustableEmitterRechenwert = tonumber(AdjustableEmitterRechenwert)
  51. else
  52.     AdjustableEmitterRechenwert = 1 + AdjustableEmitterBesitz / 100
  53.     AdjustableEmitterRechenwert = tonumber(AdjustableEmitterRechenwert)
  54. end
  55.  
  56. --Name des Items und Rechenpreis in Dollar
  57. Adjustable_Emitter = 1536000
  58. High_Voltage_Solar_Panel = 8000
  59. Medium_Voltage_Solar_Panel = 1000
  60. Low_Voltage_Solar_Panel = 125
  61. Solar_Panel = 15.625
  62. UU_Matter = 1.953125
  63. Ferrouse_Ore = 200
  64. Shiny_Ingot = 2000
  65. Azure_Dust = 4000
  66. Amaranthine_Dust = 8000
  67. Iridescent_Dust = 14000
  68. Wither_Skull = 8000/3
  69. Nether_Star = 8000
  70. Shard_of_Minium = 25
  71. Quartz_Crystal = 25
  72. Lead_Ingot = 10
  73.  
  74. --Item/Verkauf Auswahl
  75. term.setCursorPos(1,1)
  76. term.clear()
  77. msg(01,01,01,16,"Was für ein Item wird verkauft?")
  78. msg(01,02,15,16,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  79. msg(02,03,01,15," UU-Matter              ") msg(27,03,01,15," Nether Star            ")
  80. msg(02,05,01,15," Ferrouse Ore           ") msg(27,05,01,15," Shard of Minium        ")
  81. msg(02,07,01,15," Shiny Ingot            ") msg(27,07,01,15," Quartz Crystal         ")
  82. msg(02,09,01,15," Azure Dust             ") msg(27,09,01,15," Lead Ingot             ")
  83. msg(02,11,01,15," Amaranthine Dust       ") msg(27,11,01,15,"                        ")
  84. msg(02,13,01,15," Iridescent Dust        ") msg(27,13,01,15,"                        ")
  85. msg(02,15,01,15," Wither Skull           ") msg(27,15,01,15,"                        ")
  86. term.setCursorPos(01,17)
  87.  
  88. --Hauptberechnungsformel_1
  89. function berechnung1()
  90.     AE = AdjustableEmitterRechenwert * Verkauf_Item_Preis * Verkauf_Menge / Adjustable_Emitter
  91.     if AE <= 0.001 then
  92.         AE = 0.0
  93.     end
  94.     HV = AdjustableEmitterRechenwert * Verkauf_Item_Preis * Verkauf_Menge / High_Voltage_Solar_Panel
  95.     MV = AdjustableEmitterRechenwert * Verkauf_Item_Preis * Verkauf_Menge / Medium_Voltage_Solar_Panel
  96.     LV = AdjustableEmitterRechenwert * Verkauf_Item_Preis * Verkauf_Menge / Low_Voltage_Solar_Panel
  97.     Sol = AdjustableEmitterRechenwert * Verkauf_Item_Preis * Verkauf_Menge / Solar_Panel
  98. end
  99.  
  100.  
  101. --Button Abfrage und Vorbereitung der Rechnung
  102. function itemabfrage()
  103.     local event, button, X, Y = os.pullEvent("mouse_click")
  104.     if X >= 02 and X <= 25 and Y == 3 then  --UU_Matter
  105.         Verkauf_Item_Preis = UU_Matter
  106.         print("Wie viel UU-Matter wird verkauft?")
  107.         Verkauf_Menge = read()
  108.         Verkauf_Menge = tonumber(Verkauf_Menge)
  109.         berechnung1()
  110.     elseif X >= 02 and X <= 25 and Y == 5 then  --Ferrouse_Ore
  111.         Verkauf_Item_Preis = Ferrouse_Ore
  112.         print("Wie viel Ferrouse Ore wird verkauft?")
  113.         Verkauf_Menge = read()
  114.         Verkauf_Menge = tonumber(Verkauf_Menge)
  115.         berechnung1()
  116.     elseif X >= 02 and X <= 25 and Y == 7 then  --Shiny_Ingot
  117.         Verkauf_Item_Preis = Shiny_Ingot
  118.         print("Wie viel Shiny Ingot wird verkauft?")
  119.         Verkauf_Menge = read()
  120.         Verkauf_Menge = tonumber(Verkauf_Menge)
  121.         berechnung1()
  122.     elseif X >= 02 and X <= 25 and Y == 9 then  --Azure_Dust
  123.         Verkauf_Item_Preis = Azure_Dust
  124.         print("Wie viel Azure Dust wird verkauft?")
  125.         Verkauf_Menge = read()
  126.         Verkauf_Menge = tonumber(Verkauf_Menge)
  127.         berechnung1()
  128.     elseif X >= 02 and X <= 25 and Y == 11 then --Amaranthine_Dust
  129.         Verkauf_Item_Preis = Amaranthine_Dust
  130.         print("Wie viel Amaranthine Dust wird verkauft?")
  131.         Verkauf_Menge = read()
  132.         Verkauf_Menge = tonumber(Verkauf_Menge)
  133.         berechnung1()
  134.     elseif X >= 02 and X <= 25 and Y == 13 then --Iridescent_Dust
  135.         Verkauf_Item_Preis = Iridescent_Dust
  136.         print("Wie viel Iridescent Dust wird verkauft?")
  137.         Verkauf_Menge = read()
  138.         Verkauf_Menge = tonumber(Verkauf_Menge)
  139.         berechnung1()
  140.     elseif X >= 02 and X <= 25 and Y == 15 then --Wither_Skull
  141.         Verkauf_Item_Preis = Wither_Skull
  142.         print("Wie viele Wither Skulls wird verkauft?")
  143.         Verkauf_Menge = read()
  144.         Verkauf_Menge = tonumber(Verkauf_Menge)
  145.         berechnung1()
  146.     elseif X >= 27 and X <= 50 and Y == 03 then --Nether_Star
  147.         Verkauf_Item_Preis = Nether_Star
  148.         print("Wie viele Nether Stars wird verkauft?")
  149.         Verkauf_Menge = read()
  150.         Verkauf_Menge = tonumber(Verkauf_Menge)
  151.         AE = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / Adjustable_Emitter
  152.         HV = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / High_Voltage_Solar_Panel
  153.         MV = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / Medium_Voltage_Solar_Panel
  154.         LV = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / Low_Voltage_Solar_Panel
  155.         Sol = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / Solar_Panel
  156.     elseif X >= 27 and X <= 50 and Y == 05 then --Shard_of_Minium
  157.         Verkauf_Item_Preis = Shard_of_Minium
  158.         print("Wie viel Shard of Minium wird verkauft?")
  159.         Verkauf_Menge = read()
  160.         Verkauf_Menge = tonumber(Verkauf_Menge)
  161.         AE = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / Adjustable_Emitter
  162.         HV = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / High_Voltage_Solar_Panel
  163.         MV = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / Medium_Voltage_Solar_Panel
  164.         LV = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / Low_Voltage_Solar_Panel
  165.         Sol = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / Solar_Panel
  166.     elseif X >= 27 and X <= 50 and Y == 07 then --Quartz_Crystal
  167.         Verkauf_Item_Preis = Quartz_Crystal
  168.         print("Wie viel Quartz Crystal wird verkauft?")
  169.         Verkauf_Menge = read()
  170.         Verkauf_Menge = tonumber(Verkauf_Menge)
  171.         berechnung1()
  172.     elseif X >= 27 and X <= 50 and Y == 09 then --Lead_Ingot
  173.         Verkauf_Item_Preis = Lead_Ingot
  174.         print("Wie viel Lead Ingot wird verkauft?")
  175.         Verkauf_Menge = read()
  176.         Verkauf_Menge = tonumber(Verkauf_Menge)
  177.         berechnung1()
  178.     else
  179.         itemabfrage()
  180.     end
  181. end
  182.  
  183. itemabfrage()
  184.  
  185. function ausgabe()
  186.     msg(01,01,05,16,"Berechnung der Gegenwerte:")
  187.     msg(01,02,05,16,"~~~~~~~~~~~~~~~~~~~~~~~~~~")
  188.     term.setTextColor(colors.lightGray)
  189.     term.setCursorPos(01,05)
  190.     print(" Adjustable Emitter:               "..AE)
  191.     print(" ")
  192.     print(" High Voltage Solar Panels:        "..HV)
  193.     print(" ")
  194.     print(" Medium Voltage Solar Panels:      "..MV)
  195.     print(" ")
  196.     print(" Low Voltage Solar Panels:         "..LV)
  197.     print(" ")
  198.     print(" Solar Panels:                     "..Sol)
  199. end
  200.  
  201. --Ausgabe berechneter Mengen
  202. term.setCursorPos(1,1)
  203. term.setBackgroundColor(colors.black)
  204. term.clear()
  205.  
  206. ausgabe()
  207.  
  208. --Programm neustarten                                                )
  209. msg(01,17,16,06,"                                                   ")
  210. msg(01,18,16,06,"     klick hier um neue Berechnung zu starten      ")
  211. msg(01,19,16,06,"                                                   ")
  212. local event, button, X, Y = os.pullEvent("mouse_click")
  213. if X >= 01 and X <= 51 and Y >= 17 and Y <= 19 then --restart
  214.     os.reboot()
  215. else
  216.     ausgabe()
  217. end
  218.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement