From 32a62cfcb925225359a5c90761b795f2f737ebd2 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 18 Aug 2026 00:08:28 -0400 Subject: Re-populate games --- 2026/games/liquidcake1/queue.mjs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 2026/games/liquidcake1/queue.mjs (limited to '2026/games/liquidcake1/queue.mjs') diff --git a/2026/games/liquidcake1/queue.mjs b/2026/games/liquidcake1/queue.mjs new file mode 100644 index 0000000..e6c3efe --- /dev/null +++ b/2026/games/liquidcake1/queue.mjs @@ -0,0 +1,30 @@ +export class Queue { + /* Structure is a (hopefully short) list of (longer) lists. + * Queue to the last list. + * Hold index into first list. + */ + length = 0; + index = -1; + content = [[]]; + max_len = 100; + push(x) { + let content = this.content; + if (content[content.length - 1].length > this.max_len) { + content.push([]); + } + content[content.length - 1].push(x); + this.length += 1; + } + pop() { + this.index += 1; + if (this.index >= this.content[0].length) { + if (this.content.length == 1) { + throw("empty"); + } + this.content.shift(); + this.index = 0; + } + this.length -= 1; + return this.content[0][this.index]; + } +} -- cgit v1.3.1