diff options
author | Steph Enders <smenders@gmail.com> | 2022-06-16 16:14:18 -0400 |
---|---|---|
committer | Steph Enders <smenders@gmail.com> | 2022-06-16 16:16:34 -0400 |
commit | c57ae8c42c1f2f2ed576719c00cff5cf613fe650 (patch) | |
tree | 0e0c6533b099edbe2c283a8961b1b240d29ad904 /include/queue.lua | |
parent | 750b308d70cf1c903812316deeb0a8c4befa37ce (diff) |
Added onUpdate logic to move the enemies etc
Created some algorithm logic for enemy movement
Allowed for default overrides
Diffstat (limited to 'include/queue.lua')
-rw-r--r-- | include/queue.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/queue.lua b/include/queue.lua new file mode 100644 index 0000000..2eb77c6 --- /dev/null +++ b/include/queue.lua @@ -0,0 +1,29 @@ +Queue = {} + +function Queue:new() + o = { first = 1, top = 0, data = {} } + self.__index = self + return setmetatable(o, self) +end + +function Queue:push(val) + local top = self.top + 1 + self.top = top + self.data[top] = val +end + +function Queue:pop() + if self:empty() then + return nil + end + local val = self.data[self.first] + self.data[self.first] = nil + self.first = self.first + 1 + return val +end + +function Queue:empty() + return self.top < self.first +end + +return Queue |