MagmaLP

Item-WertRechner_EN

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