cutechicken commited on
Commit
81f1290
·
verified ·
1 Parent(s): 8cba9c1

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +45 -51
index.html CHANGED
@@ -694,7 +694,7 @@ const defaultPlayerStats = {
694
  ctx.stroke();
695
  ctx.setLineDash([]);
696
  ctx.lineWidth = 1; // 다른 그리기에 영향을 주지 않도록 리셋
697
- }
698
 
699
  isExpired() {
700
  return Date.now() - this.startTime > this.duration;
@@ -966,27 +966,27 @@ function updateGame() {
966
 
967
  fireBullet();
968
  }
969
- //플레이어 사망시 소리 재생 부분
970
- if(player.health <= 0) {
971
- gameOver = true;
972
- restartBtn.style.display = 'block';
973
- effects.push(new Effect(player.x, player.y, 1000, 'death'));
974
-
975
- // BGM 정지
976
- bgm.pause();
977
- bgm.currentTime = 0;
978
-
979
- // 사망 효과음 재생
980
- deathSound.play().then(() => {
981
- // deathSound 재생이 끝난 후 escape 효과음 재생
982
  setTimeout(() => {
983
- escapeSound.volume = 1.0;
984
- escapeSound.play().catch(err => console.error("Error playing escape sound:", err));
985
- }, 1000); // 1초 후에 재생
986
- }).catch(err => console.error("Error playing death sound:", err));
987
-
988
- return; // 사망 처리 후 함수 종료
989
- }
 
990
  // BF109 관련 코드
991
  if (hasBF109 && !isCountingDown) {
992
  const now = Date.now();
@@ -1038,30 +1038,30 @@ function updateGame() {
1038
  bullet.y += Math.sin(bullet.angle) * bullet.speed;
1039
 
1040
  if(!bullet.isEnemy) {
1041
- enemies = enemies.filter(enemy => {
1042
- const dist = Math.hypot(bullet.x - enemy.x, bullet.y - enemy.y);
1043
- if(dist < 30) {
1044
- let damage = currentWeapon === 'cannon' ? 250 : 50;
1045
- enemy.health -= damage;
1046
- if(enemy.health <= 0) {
1047
- spawnHealthItem(enemy.x, enemy.y);
1048
- gold += 100;
1049
- effects.push(new Effect(enemy.x, enemy.y, 1000, 'death'));
1050
- deathSound.cloneNode().play();
1051
-
1052
- // 히트 사운드 재생 추가
1053
- if (!currentHitSound || currentHitSound.ended) {
1054
- currentHitSound = hitSounds[Math.floor(Math.random() * hitSounds.length)];
1055
- currentHitSound.volume = 1.0;
1056
- currentHitSound.play();
1057
- }
1058
-
1059
- return false;
1060
- }
1061
- return true;
1062
- }
1063
- return true;
1064
- });
1065
  } else {
1066
  // 상점이 열려있지 않을 때만 플레이어 데미지 처리
1067
  if (!document.getElementById('shop').style.display ||
@@ -1069,12 +1069,6 @@ function updateGame() {
1069
  const distToPlayer = Math.hypot(bullet.x - player.x, bullet.y - player.y);
1070
  if(distToPlayer < 30) {
1071
  player.health -= bullet.damage || 100;
1072
- if(player.health <= 0) {
1073
- gameOver = true;
1074
- restartBtn.style.display = 'block';
1075
- effects.push(new Effect(player.x, player.y, 1000, 'death'));
1076
- deathSound.cloneNode().play();
1077
- }
1078
  return false;
1079
  }
1080
 
 
694
  ctx.stroke();
695
  ctx.setLineDash([]);
696
  ctx.lineWidth = 1; // 다른 그리기에 영향을 주지 않도록 리셋
697
+ }//문제생기면 }+ 수정
698
 
699
  isExpired() {
700
  return Date.now() - this.startTime > this.duration;
 
966
 
967
  fireBullet();
968
  }
969
+
970
+ //플레이어 사망시 소리 재생 부분 - 순서 조정
971
+ if(player.health <= 0) {
972
+ // BGM 정지
973
+ bgm.pause();
974
+ bgm.currentTime = 0;
975
+
976
+ // escape 효과음 먼저 재생
977
+ escapeSound.volume = 1.0;
978
+ escapeSound.play();
979
+
980
+ // 약간의 딜레이 후 사망 효과음 재생
 
981
  setTimeout(() => {
982
+ deathSound.play();
983
+ }, 100);
984
+
985
+ gameOver = true;
986
+ restartBtn.style.display = 'block';
987
+ effects.push(new Effect(player.x, player.y, 1000, 'death'));
988
+ }
989
+
990
  // BF109 관련 코드
991
  if (hasBF109 && !isCountingDown) {
992
  const now = Date.now();
 
1038
  bullet.y += Math.sin(bullet.angle) * bullet.speed;
1039
 
1040
  if(!bullet.isEnemy) {
1041
+ enemies = enemies.filter(enemy => {
1042
+ const dist = Math.hypot(bullet.x - enemy.x, bullet.y - enemy.y);
1043
+ if(dist < 30) {
1044
+ let damage = currentWeapon === 'cannon' ? 250 : 50;
1045
+ enemy.health -= damage;
1046
+ if(enemy.health <= 0) {
1047
+ spawnHealthItem(enemy.x, enemy.y);
1048
+ gold += 100;
1049
+ effects.push(new Effect(enemy.x, enemy.y, 1000, 'death'));
1050
+ deathSound.cloneNode().play();
1051
+
1052
+ // 히트 사운드 재생 추가
1053
+ if (!currentHitSound || currentHitSound.ended) {
1054
+ currentHitSound = hitSounds[Math.floor(Math.random() * hitSounds.length)];
1055
+ currentHitSound.volume = 1.0;
1056
+ currentHitSound.play();
1057
+ }
1058
+
1059
+ return false;
1060
+ }
1061
+ return true;
1062
+ }
1063
+ return true;
1064
+ });
1065
  } else {
1066
  // 상점이 열려있지 않을 때만 플레이어 데미지 처리
1067
  if (!document.getElementById('shop').style.display ||
 
1069
  const distToPlayer = Math.hypot(bullet.x - player.x, bullet.y - player.y);
1070
  if(distToPlayer < 30) {
1071
  player.health -= bullet.damage || 100;
 
 
 
 
 
 
1072
  return false;
1073
  }
1074