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()