Advertisement
MagmaLP

Item-Wert_PC_English_Version

Apr 23rd, 2022 (edited)
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.04 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,"How many adjustable emitters does the seller own?")
  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,"How many High Voltage Solar Panels does the seller own?")
  21.     term.setTextColor(colors.red)
  22.     term.setCursorPos(01,06)
  23.    
  24.     nutzlos1 = read()
  25. end
  26. msg(01,09,09,16,"How many Adjustable Emitters does the buyer own?")
  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,"How many High Voltage Solar Panels does the buyer own?")
  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,"What kind of item is sold?")
  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. --Button Abfrage und Vorbereitung der Rechnung
  101. function itemabfrage()
  102.     local event, button, X, Y = os.pullEvent("mouse_click")
  103.     if X >= 02 and X <= 25 and Y == 3 then  --UU_Matter
  104.         Verkauf_Item_Preis = UU_Matter
  105.         print("How much UU Matter is sold?")
  106.         Verkauf_Menge = read()
  107.         Verkauf_Menge = tonumber(Verkauf_Menge)
  108.         berechnung1()
  109.     elseif X >= 02 and X <= 25 and Y == 5 then  --Ferrouse_Ore
  110.         Verkauf_Item_Preis = Ferrouse_Ore
  111.         print("How much Ferrouse Ore is sold?")
  112.         Verkauf_Menge = read()
  113.         Verkauf_Menge = tonumber(Verkauf_Menge)
  114.         berechnung1()
  115.     elseif X >= 02 and X <= 25 and Y == 7 then  --Shiny_Ingot
  116.         Verkauf_Item_Preis = Shiny_Ingot
  117.         print("How much Shiny Ingot is sold?")
  118.         Verkauf_Menge = read()
  119.         Verkauf_Menge = tonumber(Verkauf_Menge)
  120.         berechnung1()
  121.     elseif X >= 02 and X <= 25 and Y == 9 then  --Azure_Dust
  122.         Verkauf_Item_Preis = Azure_Dust
  123.         print("How much Azure Dust is sold?")
  124.         Verkauf_Menge = read()
  125.         Verkauf_Menge = tonumber(Verkauf_Menge)
  126.         berechnung1()
  127.     elseif X >= 02 and X <= 25 and Y == 11 then --Amaranthine_Dust
  128.         Verkauf_Item_Preis = Amaranthine_Dust
  129.         print("How much Amaranthine Dust is sold?")
  130.         Verkauf_Menge = read()
  131.         Verkauf_Menge = tonumber(Verkauf_Menge)
  132.         berechnung1()
  133.     elseif X >= 02 and X <= 25 and Y == 13 then --Iridescent_Dust
  134.         Verkauf_Item_Preis = Iridescent_Dust
  135.         print("How much Iridescent Dust is sold?")
  136.         Verkauf_Menge = read()
  137.         Verkauf_Menge = tonumber(Verkauf_Menge)
  138.         berechnung1()
  139.     elseif X >= 02 and X <= 25 and Y == 15 then --Wither_Skull
  140.         Verkauf_Item_Preis = Wither_Skull
  141.         print("How many Wither skulls are sold?")
  142.         Verkauf_Menge = read()
  143.         Verkauf_Menge = tonumber(Verkauf_Menge)
  144.         berechnung1()
  145.     elseif X >= 27 and X <= 50 and Y == 03 then --Nether_Star
  146.         Verkauf_Item_Preis = Nether_Star
  147.         print("How many Nether Stars are sold?")
  148.         Verkauf_Menge = read()
  149.         Verkauf_Menge = tonumber(Verkauf_Menge)
  150.         AE = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / Adjustable_Emitter
  151.         HV = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / High_Voltage_Solar_Panel
  152.         MV = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / Medium_Voltage_Solar_Panel
  153.         LV = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / Low_Voltage_Solar_Panel
  154.         Sol = AdjustableEmitterRechenwert * 32000 * Verkauf_Menge / Solar_Panel
  155.     elseif X >= 27 and X <= 50 and Y == 05 then --Shard_of_Minium
  156.         Verkauf_Item_Preis = Shard_of_Minium
  157.         print("How much Shard of Minium is sold?")
  158.         Verkauf_Menge = read()
  159.         Verkauf_Menge = tonumber(Verkauf_Menge)
  160.         AE = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / Adjustable_Emitter
  161.         HV = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / High_Voltage_Solar_Panel
  162.         MV = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / Medium_Voltage_Solar_Panel
  163.         LV = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / Low_Voltage_Solar_Panel
  164.         Sol = AdjustableEmitterRechenwert * 30 * Verkauf_Menge / Solar_Panel
  165.     elseif X >= 27 and X <= 50 and Y == 07 then --Quartz_Crystal
  166.         Verkauf_Item_Preis = Quartz_Crystal
  167.         print("How much Quartz Crystal is sold?")
  168.         Verkauf_Menge = read()
  169.         Verkauf_Menge = tonumber(Verkauf_Menge)
  170.         berechnung1()
  171.     elseif X >= 27 and X <= 50 and Y == 09 then --Lead_Ingot
  172.         Verkauf_Item_Preis = Lead_Ingot
  173.         print("How much Lead Ingot is sold?")
  174.         Verkauf_Menge = read()
  175.         Verkauf_Menge = tonumber(Verkauf_Menge)
  176.         berechnung1()
  177.     else
  178.         print(" ")
  179.     end
  180. end
  181.  
  182. itemabfrage()
  183.  
  184. function ausgabe()
  185.     msg(01,01,05,16,"calculation of equivalents:")
  186.     msg(01,02,05,16,"~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  187.     term.setTextColor(colors.lightGray)
  188.     term.setCursorPos(01,05)
  189.     print(" Adjustable Emitter:               "..AE)
  190.     print(" ")
  191.     print(" High Voltage Solar Panels:        "..HV)
  192.     print(" ")
  193.     print(" Medium Voltage Solar Panels:      "..MV)
  194.     print(" ")
  195.     print(" Low Voltage Solar Panels:         "..LV)
  196.     print(" ")
  197.     print(" Solar Panels:                     "..Sol)
  198. end
  199.  
  200. --Ausgabe berechneter Mengen
  201. term.setCursorPos(1,1)
  202. term.setBackgroundColor(colors.black)
  203. term.clear()
  204.  
  205. ausgabe()
  206.  
  207. --Programm neustarten                                                )
  208. msg(01,17,16,06,"                                                   ")
  209. msg(01,18,16,06,"       click here to start a new calculation       ")
  210. msg(01,19,16,06,"                                                   ")
  211. local event, button, X, Y = os.pullEvent("mouse_click")
  212. if X >= 01 and X <= 51 and Y >= 17 and Y <= 19 then --restart
  213.     os.reboot()
  214. else
  215.     ausgabe()
  216. end
  217.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement