about summary refs log tree commit diff stats
path: root/html/mountain
diff options
context:
space:
mode:
authorelioat <elioat@tilde.institute>2024-12-07 20:23:10 -0500
committerelioat <elioat@tilde.institute>2024-12-07 20:23:10 -0500
commite18e2fd8cb2715afd5a5ebb4d8bc82da99a34340 (patch)
treec0ab01c3a82ae17cc3d33b4a51f962fdb4c0b424 /html/mountain
parent72dccb46d7f9b51496ab14b37ab9f988e9b370f9 (diff)
downloadtour-e18e2fd8cb2715afd5a5ebb4d8bc82da99a34340.tar.gz
*
Diffstat (limited to 'html/mountain')
-rw-r--r--html/mountain/game.js23
1 files changed, 17 insertions, 6 deletions
diff --git a/html/mountain/game.js b/html/mountain/game.js
index 8cbfa4d..7db1892 100644
--- a/html/mountain/game.js
+++ b/html/mountain/game.js
@@ -30,6 +30,11 @@ const PARTITION_RATIO = 0.3;
 const MIN_PLATFORM_SPACING = 100;
 const DEADLY_BORDER_HEIGHT = 7;
 
+const ENEMY_SPEED = 2;
+
+const FALLING_PLATFORM_DELAY = 800;
+const FALLING_PLATFORM_GRAVITY = 0.5;
+
 const FPS = 60;
 const FRAME_TIME = 1000 / FPS;
 
@@ -44,11 +49,6 @@ const DEATH_PARTICLE_SIZE = 4;
 const DEATH_PARTICLE_LIFETIME = 50;
 const DEATH_ANIMATION_DURATION = 55;
 
-const ENEMY_SPEED = 2;
-
-const FALLING_PLATFORM_DELAY = 800;
-const FALLING_PLATFORM_GRAVITY = 0.5;
-
 const PLATFORM_PARTICLE_COUNT = 30;
 const PLATFORM_PARTICLE_SPEED = 8;
 const PLATFORM_PARTICLE_SIZE = 4;
@@ -154,12 +154,23 @@ function platformsOverlap(platform1, platform2) {
 
 function createParticle(x, y, velocityY) {
     return {
+        // Randomly places particles around the player, within the player's width
         x: x + PLAYER_SIZE / 2 + (Math.random() - 0.5) * PLAYER_SIZE,
+        
+        // Put particles to the top or bottom of the player depending on the direction
+        // the player is moving
         y: y + (velocityY > 0 ? 0 : PLAYER_SIZE),
+        
+        // Zoot out to the left and right of the player
         velocityX: (Math.random() - 0.5) * PARTICLE_SPEED * 2,
+        
+        // Zoot up or down, matching the player's direction
         velocityY: (Math.random() * PARTICLE_SPEED) * Math.sign(velocityY),
+        
+        // Add some variety to the particle sizes
         size: PARTICLE_SIZE + Math.random() * 2,
-        life: PARTICLE_LIFETIME,
+        
+        life: PARTICLE_LIFETIME,        
         initialOpacity: 0.3 + Math.random() * 0.7
     };
 }