FluidContainers/test.lua

66 lines
1.1 KiB
Lua
Raw Permalink Normal View History

2018-10-01 16:12:32 +00:00
local Fluid = require("Fluid")
local copy
copy = function(tab)
local new = { }
for k, v in pairs(tab) do
new[k] = v
end
return new
end
local air = {
nitrogen = 0.775,
oxygen = 0.21,
argon = 0.01,
co2 = 0.005
}
local A = Fluid({
volume = 32,
pressure = 12,
contents = copy(air)
})
local B = Fluid({
volume = 1100,
pressure = 2,
contents = {
hydrogen = 0.9,
helium = 0.1
}
})
A:print()
B:print()
A:breach(B, 5)
A:update(1)
B:update(1)
A:print()
B:print()
print("...")
local Air = Fluid({
volume = 1000,
pressure = 1,
contents = copy(air)
})
local Vacuum = Fluid({
volume = math.huge,
pressure = 0
})
Air:breach(Vacuum)
for i = 1, 10 do
Air:print()
Air:update(i)
end
print("...")
Air = Fluid({
volume = 1000,
pressure = 1,
contents = copy(air)
})
Air:print()
local half = Air:amount("oxygen") / 2
print("Removing half the oxygen (" .. tostring(half) .. ").")
Air:remove("oxygen", half)
Air:print()
local full = Air:amount("oxygen")
print("Removing the rest (" .. tostring(full) .. ").")
Air:remove("oxygen", full)
return Air:print()