From 6b6f5f49164bfad444c3fff03648be5d90202d8e Mon Sep 17 00:00:00 2001 From: Beta-Devin AI <248786709+beta-devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 17:51:38 +0000 Subject: [PATCH 1/2] Add simple web-based snake game Co-Authored-By: ahlback.emil+coggitgrant --- snake-game.html | 304 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 304 insertions(+) create mode 100644 snake-game.html diff --git a/snake-game.html b/snake-game.html new file mode 100644 index 0000000..acb2694 --- /dev/null +++ b/snake-game.html @@ -0,0 +1,304 @@ + + + + + + Snake Game + + + +

Snake Game

+
+
Score: 0
+
High Score: 0
+
+ +
+ +
+
+ +
+
+ +
+ Arrow keys or WASD to move
+ Press Space or Enter to start / restart +
+ + + + From 202058d51f127e065a5c02ac0b56f7cae728f0c4 Mon Sep 17 00:00:00 2001 From: Beta-Devin AI <248786709+beta-devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 17:55:56 +0000 Subject: [PATCH 2/2] Fix overlay positioning: center Game Over overlay on canvas Co-Authored-By: ahlback.emil+coggitgrant --- snake-game.html | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/snake-game.html b/snake-game.html index acb2694..749d940 100644 --- a/snake-game.html +++ b/snake-game.html @@ -58,14 +58,22 @@ #overlay { position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; + background: rgba(0, 0, 0, 0.5); + border-radius: 4px; + display: none; } #overlay.active { + display: flex; pointer-events: auto; } @@ -74,7 +82,6 @@ font-weight: bold; color: #fff; text-shadow: 0 0 15px rgba(0, 210, 255, 0.8); - display: none; } #restart-btn { @@ -248,21 +255,12 @@

Snake Game

function showOverlay(msg) { overlayEl.classList.add('active'); - overlayText.style.display = 'block'; overlayText.textContent = msg; restartBtn.style.display = 'inline-block'; - - // Position overlay on top of canvas - const rect = canvas.getBoundingClientRect(); - overlayEl.style.left = rect.left + 'px'; - overlayEl.style.top = rect.top + 'px'; - overlayEl.style.width = rect.width + 'px'; - overlayEl.style.height = rect.height + 'px'; } function hideOverlay() { overlayEl.classList.remove('active'); - overlayText.style.display = 'none'; restartBtn.style.display = 'none'; }