From 17367cd435361bc29b8ee039d6c19903f59d2ed8 Mon Sep 17 00:00:00 2001 From: William Date: Sat, 18 Apr 2020 16:32:41 -0400 Subject: [PATCH 01/14] Change color --- docs/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.html b/docs/index.html index 3a817c4..1408db0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -14,6 +14,7 @@ margin:auto; border: 5px solid var(--theme-webpage-canvas_border); border-radius: 10px; + background-color: darkslategray; } From 0cae24deb802611a95f87bc568ee32263d9cad31 Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Sat, 18 Apr 2020 16:33:18 -0400 Subject: [PATCH 02/14] Implement footstep sounds when walking --- docs/assets/js/player/player.js | 3 +++ docs/assets/js/sounds/sounds.js | 6 ++++-- docs/assets/sounds/footstep.mp3 | Bin 0 -> 7008 bytes 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 docs/assets/sounds/footstep.mp3 diff --git a/docs/assets/js/player/player.js b/docs/assets/js/player/player.js index 601cb43..67490a5 100644 --- a/docs/assets/js/player/player.js +++ b/docs/assets/js/player/player.js @@ -44,6 +44,9 @@ Player.prototype.update = function() { this.rightLeg.angle += pi; } this.shouldMoveLeg = false; + + // Play the footstep sound + soundAssets.footstep.play(); } // deselect } else { diff --git a/docs/assets/js/sounds/sounds.js b/docs/assets/js/sounds/sounds.js index 164acff..5465ed1 100644 --- a/docs/assets/js/sounds/sounds.js +++ b/docs/assets/js/sounds/sounds.js @@ -12,12 +12,14 @@ // A mapping of asset names to their files // This exists to give nicer names to files let soundAssetMap = { - "debug-ding":"./assets/sounds/debug-ding.mp3" + "debug-ding": "./assets/sounds/debug-ding.mp3", + "footstep":"./assets/sounds/footstep.mp3" } // All available sounds let soundAssets = { - debug_ding: new SoundSnippet("debug-ding", audioAssetType.sfx) + debug_ding: new SoundSnippet("debug-ding", audioAssetType.sfx), + footstep: new SoundSnippet("footstep", audioAssetType.sfx) } /** diff --git a/docs/assets/sounds/footstep.mp3 b/docs/assets/sounds/footstep.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ea351606fd4f60070c137382c8726b91b26eca5a GIT binary patch literal 7008 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 H-%bAu$>y1Z literal 0 HcmV?d00001 From 2663b642e0ed9080fc8528dd32a7f85e58a8ec10 Mon Sep 17 00:00:00 2001 From: rsninja722 Date: Sat, 18 Apr 2020 17:05:26 -0400 Subject: [PATCH 03/14] new collision to reflect art work --- docs/assets/images/level.png | Bin 0 -> 9401 bytes docs/assets/js/index.js | 6 ++++-- docs/assets/js/player/player.js | 2 +- docs/assets/js/world/level.js | 2 +- docs/index.html | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 docs/assets/images/level.png diff --git a/docs/assets/images/level.png b/docs/assets/images/level.png new file mode 100644 index 0000000000000000000000000000000000000000..4af8de36186f092bdfa3f734665e12c29a916df1 GIT binary patch literal 9401 zcmeAS@N?(olHy`uVBq!ia0y~yU_Zmaz&wG24JZ<`w>tqyaTa()7Besim4Gngy)^j> z1_lKNPZ!6KiaBp?Z_H&5vQRUC3^}qMMmj~(xfsUVd z_4jILFhj&9sEo2k!+?QdGz><=08}E3 zri0Ni7)=MGb>nEOV6-G0EeVHdNmz3B%(u2J#pk}UKnl7B75Qfn7J~}sC~Gtf7_g^< z*xS%vu<>SFMurNB(QHD?i|9;&s#>~mTrn&7jNBNvj!E2#|f>a;Kgbg>= z%$WI>lYv1~?+nx?51~;O)x%)dHb`2}nF$VUouWiONZNOplrYMob{JgRY6}kC7m&35 z;bf~NwB794G|KY4{tXx!55Au{^NmGpZZWWh2n2r!6ab&v!2#C-(!{{A}kA^q{)!Tc6GxiC&O5Hmnmw|yL9<&w! zl0rs91{e;bsbe$@K-po~q=S3!e(&4v4$a{Q@{8%(#JOZ$JJ0w=NJeQT$N`?NelF{r G5}E+w$D*hJ literal 0 HcmV?d00001 diff --git a/docs/assets/js/index.js b/docs/assets/js/index.js index b288566..bc31443 100644 --- a/docs/assets/js/index.js +++ b/docs/assets/js/index.js @@ -3,7 +3,8 @@ var page_preloader = new Preloader(); page_preloader.show(true); images = [ - "" + "assets/images/", + "level.png" ]; audio = [ @@ -68,7 +69,7 @@ function draw() { break; // playing case globalStates.playing: - camera.zoom = 2; + camera.zoom = 1; drawWorldBlocks(); player.draw(); break; @@ -82,6 +83,7 @@ function draw() { break; //building - to be used only in development case globalStates.building: + imgIgnoreCutoff(sprites.level,0,0); buildDraw(); break; } diff --git a/docs/assets/js/player/player.js b/docs/assets/js/player/player.js index 67490a5..aab8495 100644 --- a/docs/assets/js/player/player.js +++ b/docs/assets/js/player/player.js @@ -243,5 +243,5 @@ function distanceToLineSegment(lx1, ly1, lx2, ly2, px, py) { -var player = new Player(500,100); +var player = new Player(500,-100); diff --git a/docs/assets/js/world/level.js b/docs/assets/js/world/level.js index ae5e364..fe6f783 100644 --- a/docs/assets/js/world/level.js +++ b/docs/assets/js/world/level.js @@ -12,7 +12,7 @@ class block { } // create blocks -var blockData = [631,407,590,461,316,427,40,420,277,447,40,380,238,466,40,340,199,486,40,300,161,507,40,260,121,527,40,220,82,545,40,180,-407,561,1300,150,-1000,350,120,570,-281,483,120,70,-191,481,35,35,878,145,95,776,734,172,195,76]; +var blockData = [942,-184,94,507,942,191,94,507,372,411,1054,67,-316,369,1214,152,-38,270,86,107,-166,243,125,127,238,320,45,127,273,284,45,127,309,248,45,127,341,215,45,127,377,179,45,127,412,143,45,127,450,107,45,127,603,105,285,196,777,27,285,196,-989,23,175,959,154,-441,2555,51]; for (let i = 0, l = blockData.length; i < l; i += 4) { collisionRects.push(new block(blockData[i], blockData[i + 1], blockData[i + 2], blockData[i + 3])); } diff --git a/docs/index.html b/docs/index.html index 1408db0..e5212f0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -37,7 +37,7 @@ - + From 8b95cf8cc286be68d3f20d05aa8173e9dbbefa78 Mon Sep 17 00:00:00 2001 From: William Date: Sat, 18 Apr 2020 17:31:37 -0400 Subject: [PATCH 04/14] no more flying --- docs/assets/js/player/player.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/assets/js/player/player.js b/docs/assets/js/player/player.js index 67490a5..ed5eba7 100644 --- a/docs/assets/js/player/player.js +++ b/docs/assets/js/player/player.js @@ -37,7 +37,8 @@ Player.prototype.update = function() { // select if (this.shouldMoveLeg) { this.moveLeg(); - if(mousePress[0]) {// if (collidingWithWorld({ x: curLeg.x2, y: curLeg.y2, w: 4, h: 4 })) { + if(mousePress[0] && collidingWithWorld({x: curLeg.x2, y: curLeg.y2, w:8, h:8})) { + if (this.legSelected === "R") { this.leftLeg.angle += pi; } else { From 278f5393eaa07a7d003d4d4bb56d0a766f7fb6bf Mon Sep 17 00:00:00 2001 From: William Date: Sat, 18 Apr 2020 18:55:20 -0400 Subject: [PATCH 05/14] Added Credits screen --- docs/assets/js/index.js | 7 +- docs/assets/js/titleScreen/titleScreen.js | 82 +++++++++++++++++++++++ docs/index.html | 2 +- 3 files changed, 87 insertions(+), 4 deletions(-) diff --git a/docs/assets/js/index.js b/docs/assets/js/index.js index b288566..23a226a 100644 --- a/docs/assets/js/index.js +++ b/docs/assets/js/index.js @@ -18,13 +18,14 @@ var globalStates = { end: 4, building: 5 }; -var globalState = globalStates.playing; +var globalState = globalStates.titleScreen; function update() { + switch (globalState) { // title screen case globalStates.titleScreen: - + handleTitleScreen(); break; // level transition case globalStates.levelTransition: @@ -60,7 +61,7 @@ function draw() { switch (globalState) { // title screen case globalStates.titleScreen: - + drawTitleScreen(); break; // level transition case globalStates.levelTransition: diff --git a/docs/assets/js/titleScreen/titleScreen.js b/docs/assets/js/titleScreen/titleScreen.js index e69de29..84be1a4 100644 --- a/docs/assets/js/titleScreen/titleScreen.js +++ b/docs/assets/js/titleScreen/titleScreen.js @@ -0,0 +1,82 @@ +var titleScreenState = "main" +var cursor = mousePos; +var timer = 0; + +function handleTitleScreen(){ + + switch(titleScreenState){ + + case("main"): + handleMainScreen(); + break; + case("credits"): + handleCredits(); + break; + + + + } + + +} + + +function handleMainScreen(){ + if(timer > 20){ + if(rectpoint({x:415, y:200, w: 300, h: 50}, {x:cursor.x, y:cursor.y}) && mouseDown[0]){ + globalStates = globalStates.playing; + timer = 0; + } + if(rectpoint({x:415, y:550, w: 300, h: 50}, {x:cursor.x, y:cursor.y}) && mouseDown[0]){ + titleScreenState = "credits" + timer = 0; + } + }else{ + timer++; + } +} + + +function handleCredits(){ + + if(timer > 20){ + if(rectpoint({x:395, y:550, w: 140, h: 50}, {x:cursor.x, y:cursor.y}) && mouseDown[0]){ + + titleScreenState = "main"; + timer = 0; + } + }else{ + timer++; + } + + +} + + + +function drawTitleScreen(){ + + if(titleScreenState === "main"){ + text("GAME TITLE HERE", 50, 50, "green", 8, 1000); + rect(415, 200, 300, 50, "green"); + text("Play!", 355, 185, "white", 5, 150); + + rect(415, 550, 300, 50, "green"); + text("Credits", 325, 535, "white", 5, 150); + } + + if(titleScreenState === "credits"){ + text("CREDITS", 250, 50, "green", 8, 300); + + + + rect(395, 550, 140, 50, "green"); + text("Back", 345, 535, "white", 5, 150); + + } + + + + + +} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 1408db0..63b8207 100644 --- a/docs/index.html +++ b/docs/index.html @@ -46,7 +46,7 @@ - + From 32b803443e5cff91869218723e3b782a24f1f05d Mon Sep 17 00:00:00 2001 From: William Date: Sat, 18 Apr 2020 19:16:41 -0400 Subject: [PATCH 06/14] Added State Switching --- docs/assets/js/titleScreen/titleScreen.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/assets/js/titleScreen/titleScreen.js b/docs/assets/js/titleScreen/titleScreen.js index 84be1a4..3e8e08e 100644 --- a/docs/assets/js/titleScreen/titleScreen.js +++ b/docs/assets/js/titleScreen/titleScreen.js @@ -24,7 +24,7 @@ function handleTitleScreen(){ function handleMainScreen(){ if(timer > 20){ if(rectpoint({x:415, y:200, w: 300, h: 50}, {x:cursor.x, y:cursor.y}) && mouseDown[0]){ - globalStates = globalStates.playing; + globalState = globalStates.playing; timer = 0; } if(rectpoint({x:415, y:550, w: 300, h: 50}, {x:cursor.x, y:cursor.y}) && mouseDown[0]){ @@ -41,7 +41,6 @@ function handleCredits(){ if(timer > 20){ if(rectpoint({x:395, y:550, w: 140, h: 50}, {x:cursor.x, y:cursor.y}) && mouseDown[0]){ - titleScreenState = "main"; timer = 0; } From 228768e3565aaa9abf907c56c02248bbf64be7f5 Mon Sep 17 00:00:00 2001 From: rsninja722 Date: Sat, 18 Apr 2020 20:14:09 -0400 Subject: [PATCH 07/14] angle fix and background --- docs/assets/images/level_2.png | Bin 0 -> 9472 bytes docs/assets/js/index.js | 6 ++++-- docs/assets/js/player/player.js | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 docs/assets/images/level_2.png diff --git a/docs/assets/images/level_2.png b/docs/assets/images/level_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b2bd9ef603f44e8c928fa992ee9e47ec18c43391 GIT binary patch literal 9472 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 literal 0 HcmV?d00001 diff --git a/docs/assets/js/index.js b/docs/assets/js/index.js index 4e738f9..7c59cf5 100644 --- a/docs/assets/js/index.js +++ b/docs/assets/js/index.js @@ -4,7 +4,8 @@ page_preloader.show(true); images = [ "assets/images/", - "level.png" + "level.png", + "level_2.png" ]; audio = [ @@ -72,6 +73,7 @@ function draw() { case globalStates.playing: camera.zoom = 1; drawWorldBlocks(); + imgIgnoreCutoff(sprites.level_2,0,0,0,4,4); player.draw(); break; // paused @@ -84,7 +86,7 @@ function draw() { break; //building - to be used only in development case globalStates.building: - imgIgnoreCutoff(sprites.level,0,0); + buildDraw(); break; } diff --git a/docs/assets/js/player/player.js b/docs/assets/js/player/player.js index 236a189..1d1e94b 100644 --- a/docs/assets/js/player/player.js +++ b/docs/assets/js/player/player.js @@ -96,17 +96,19 @@ Player.prototype.moveLeg = function(){ // move selected leg towards mouse // console.log(curLeg.angle.toPrecision(5),pointTo(curLeg,target).toPrecision(5)); - curLeg.angle = turn(curLeg.angle, pointTo(curLeg, target), constants.player.leg_speed); + var angleDif = turn(curLeg.angle, pointTo(curLeg, target), constants.player.leg_speed) - curLeg.angle; + curLeg.angle += angleDif; // var angle = pointTo(curLeg,target); curLeg.x2 = curLeg.x + curLeg.len * Math.cos(curLeg.angle); curLeg.y2 = curLeg.y + curLeg.len * Math.sin(curLeg.angle); // Collision - if(collidingWithWorld({x:curLeg.x2,y:curLeg.y2,w:4,h:4})){ + if(collidingWithWorld({x:curLeg.x2,y:curLeg.y2,w:2,h:2})){ this.collided = true; curLeg.x2 = lastX; curLeg.y2 = lastY; + curLeg.angle -= angleDif; return 0; } From d9e57f02b5ec105c8ee57fc103cf39465127b183 Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Sat, 18 Apr 2020 20:14:20 -0400 Subject: [PATCH 08/14] REVERB --- docs/.jekyll-metadata | Bin 2814 -> 0 bytes docs/assets/sounds/footstep.mp3 | Bin 7008 -> 17352 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/.jekyll-metadata diff --git a/docs/.jekyll-metadata b/docs/.jekyll-metadata deleted file mode 100644 index 512f2b68a32dca2d525c73b6c2dd5fc4beb3cb16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2814 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 u*Ew-%GD^>t}!`p1!4`D5fOE#md3Xj_mP2 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 H-%bAu$>y1Z From ba0e49bb63340c0872dbd3164d1c6a0170e13683 Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Sat, 18 Apr 2020 20:34:09 -0400 Subject: [PATCH 09/14] Random footsteps --- docs/assets/js/player/player.js | 2 +- docs/assets/js/sounds/sounds.js | 23 +++++++++++++++++++-- docs/assets/sounds/footstep.mp3 | Bin 17352 -> 0 bytes docs/assets/sounds/footsteps/footstep1.mp3 | Bin 0 -> 7632 bytes docs/assets/sounds/footsteps/footstep2.mp3 | Bin 0 -> 8328 bytes docs/assets/sounds/footsteps/footstep3.mp3 | Bin 0 -> 9480 bytes docs/assets/sounds/footsteps/footstep4.mp3 | Bin 0 -> 8136 bytes docs/assets/sounds/footsteps/footstep5.mp3 | Bin 0 -> 8928 bytes docs/assets/sounds/footsteps/footstep6.mp3 | Bin 0 -> 8184 bytes 9 files changed, 22 insertions(+), 3 deletions(-) delete mode 100644 docs/assets/sounds/footstep.mp3 create mode 100644 docs/assets/sounds/footsteps/footstep1.mp3 create mode 100644 docs/assets/sounds/footsteps/footstep2.mp3 create mode 100644 docs/assets/sounds/footsteps/footstep3.mp3 create mode 100644 docs/assets/sounds/footsteps/footstep4.mp3 create mode 100644 docs/assets/sounds/footsteps/footstep5.mp3 create mode 100644 docs/assets/sounds/footsteps/footstep6.mp3 diff --git a/docs/assets/js/player/player.js b/docs/assets/js/player/player.js index 1d1e94b..a694ae7 100644 --- a/docs/assets/js/player/player.js +++ b/docs/assets/js/player/player.js @@ -47,7 +47,7 @@ Player.prototype.update = function() { this.shouldMoveLeg = false; // Play the footstep sound - soundAssets.footstep.play(); + playRandomFootstep(); } // deselect } else { diff --git a/docs/assets/js/sounds/sounds.js b/docs/assets/js/sounds/sounds.js index 5465ed1..df85a48 100644 --- a/docs/assets/js/sounds/sounds.js +++ b/docs/assets/js/sounds/sounds.js @@ -13,13 +13,32 @@ // This exists to give nicer names to files let soundAssetMap = { "debug-ding": "./assets/sounds/debug-ding.mp3", - "footstep":"./assets/sounds/footstep.mp3" + "footstep1":"./assets/sounds/footsteps/footstep1.mp3", + "footstep2":"./assets/sounds/footsteps/footstep2.mp3", + "footstep3":"./assets/sounds/footsteps/footstep3.mp3", + "footstep4":"./assets/sounds/footsteps/footstep4.mp3", + "footstep5":"./assets/sounds/footsteps/footstep5.mp3", + "footstep6":"./assets/sounds/footsteps/footstep6.mp3" } // All available sounds let soundAssets = { debug_ding: new SoundSnippet("debug-ding", audioAssetType.sfx), - footstep: new SoundSnippet("footstep", audioAssetType.sfx) + footstep1: new SoundSnippet("footstep1", audioAssetType.sfx), + footstep2: new SoundSnippet("footstep2", audioAssetType.sfx), + footstep3: new SoundSnippet("footstep3", audioAssetType.sfx), + footstep4: new SoundSnippet("footstep4", audioAssetType.sfx), + footstep5: new SoundSnippet("footstep5", audioAssetType.sfx), + footstep6: new SoundSnippet("footstep6", audioAssetType.sfx) +} + +/** + * Play a random footstep sound because ReAlIsM + */ +function playRandomFootstep() { + + // There has to be a one-liner somewhere in the game... + [soundAssets.footstep1, soundAssets.footstep2, soundAssets.footstep3, soundAssets.footstep4, soundAssets.footstep5, soundAssets.footstep6][Math.floor(Math.random() * Object.keys(soundAssets).length - 1)].play(); } /** diff --git a/docs/assets/sounds/footstep.mp3 b/docs/assets/sounds/footstep.mp3 deleted file mode 100644 index c9d5a62e3a41c64fba04751327325120114fe436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17352 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 K_q0Ab`u_lFw-Pr1 literal 0 HcmV?d00001 diff --git a/docs/assets/sounds/footsteps/footstep4.mp3 b/docs/assets/sounds/footsteps/footstep4.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9ace01371522a6aa84a6b7de838b3b9581ca3071 GIT binary patch literal 8136 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 k7@@HJ&sP)`{~rQ42SZmuBWZ|BpQX4_ifpr~m)} literal 0 HcmV?d00001 diff --git a/docs/assets/sounds/footsteps/footstep6.mp3 b/docs/assets/sounds/footsteps/footstep6.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0c6db455aa76ec57456e4cee617e1374b470d93d GIT binary patch literal 8184 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 I|A%k*53*?MH~;_u literal 0 HcmV?d00001 From d58a7f2580b54c5a6da04fc2eb72d050f70a479e Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Sat, 18 Apr 2020 20:38:59 -0400 Subject: [PATCH 10/14] tyr to fix NPE without actually debigging the thing --- docs/assets/js/sounds/sounds.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/assets/js/sounds/sounds.js b/docs/assets/js/sounds/sounds.js index df85a48..85a0583 100644 --- a/docs/assets/js/sounds/sounds.js +++ b/docs/assets/js/sounds/sounds.js @@ -38,7 +38,7 @@ let soundAssets = { function playRandomFootstep() { // There has to be a one-liner somewhere in the game... - [soundAssets.footstep1, soundAssets.footstep2, soundAssets.footstep3, soundAssets.footstep4, soundAssets.footstep5, soundAssets.footstep6][Math.floor(Math.random() * Object.keys(soundAssets).length - 1)].play(); + [soundAssets.footstep1, soundAssets.footstep2, soundAssets.footstep3, soundAssets.footstep4, soundAssets.footstep5, soundAssets.footstep6][Math.min(Math.floor(Math.random() * Object.keys(soundAssets).length - 1), Object.keys(soundAssets).length - 1)].play(); } /** From 62f96562f15908cf05bb192a4867a8d00a741189 Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Sat, 18 Apr 2020 20:46:35 -0400 Subject: [PATCH 11/14] Actually fix NPE in footsteps --- docs/assets/js/sounds/sounds.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/assets/js/sounds/sounds.js b/docs/assets/js/sounds/sounds.js index 85a0583..f513783 100644 --- a/docs/assets/js/sounds/sounds.js +++ b/docs/assets/js/sounds/sounds.js @@ -37,8 +37,14 @@ let soundAssets = { */ function playRandomFootstep() { - // There has to be a one-liner somewhere in the game... - [soundAssets.footstep1, soundAssets.footstep2, soundAssets.footstep3, soundAssets.footstep4, soundAssets.footstep5, soundAssets.footstep6][Math.min(Math.floor(Math.random() * Object.keys(soundAssets).length - 1), Object.keys(soundAssets).length - 1)].play(); + // Build a list of footsteps + let step_sounds = [soundAssets.footstep1, soundAssets.footstep2, soundAssets.footstep3, soundAssets.footstep4, soundAssets.footstep5, soundAssets.footstep6]; + + // Choose a random footstep + let footstep_id = Math.floor(Math.random() * step_sounds.length); + + // Play the sound + step_sounds[footstep_id].play(); } /** From 0be54c38e1d04113c98e84a6d5ca5fd6a53f0d8d Mon Sep 17 00:00:00 2001 From: William Date: Sat, 18 Apr 2020 20:50:47 -0400 Subject: [PATCH 12/14] spawning doesn't suck now --- docs/assets/js/player/player.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/assets/js/player/player.js b/docs/assets/js/player/player.js index a694ae7..a87c1fd 100644 --- a/docs/assets/js/player/player.js +++ b/docs/assets/js/player/player.js @@ -246,5 +246,5 @@ function distanceToLineSegment(lx1, ly1, lx2, ly2, px, py) { -var player = new Player(500,-100); +var player = new Player(500,-70); From ae42f45bcdc1f531888bb9ee52a2358407ac52a8 Mon Sep 17 00:00:00 2001 From: William Date: Sat, 18 Apr 2020 20:51:46 -0400 Subject: [PATCH 13/14] Changed Name --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index badf7e9..a100559 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,7 +2,7 @@ - title + html.aspx