diff options
| author | LLLL Colonq <llll@colonq> | 2026-08-26 23:47:59 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2026-08-26 23:47:59 -0400 |
| commit | 0d2d8cd897e94bd94e0b3ae7c6ce9aa580a44a0a (patch) | |
| tree | e9039d1c3aedca515d6cb499451d4b73aca4f5fd /2026/games_submissions/crm148/color.js | |
| parent | 242943e5b023ce40eb3be826c418a478d4672f78 (diff) | |
Add a_tension_span
Diffstat (limited to '2026/games_submissions/crm148/color.js')
| -rw-r--r-- | 2026/games_submissions/crm148/color.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/2026/games_submissions/crm148/color.js b/2026/games_submissions/crm148/color.js new file mode 100644 index 0000000..8e8ba11 --- /dev/null +++ b/2026/games_submissions/crm148/color.js @@ -0,0 +1,31 @@ + +const lerp = (start, end, t) => start + (end - start) * t; + +export default class Color { + r = 0; + g = 0; + b = 0; + constructor(r, g, b) { + this.r = r; + this.g = g; + this.b = b; + } + + to_string() { + return `rgb(${this.r}, ${this.g}, ${this.b})`; + + } + + static interpolate(color1, color2, t) { + const r = Math.round(lerp(color1.r, color2.r, t)); + const g = Math.round(lerp(color1.g, color2.g, t)); + const b = Math.round(lerp(color1.b, color2.b, t)); + + return new Color(r,g,b); + } + static PlayerColor = new Color(150, 200, 150); + static StarDim = new Color(0x77, 0x11, 0x11); + static StarColor = new Color(0xbb, 0x33, 0x33); + static StarBright = new Color(0xbb, 0x33, 0x33); + static PulseColor = new Color(0xcc, 0x22, 0x22); +} |
