sound system implemented when king in check - Exterminate

This commit is contained in:
Jérôme BEDIER 2025-05-22 21:19:43 +02:00
parent fd51f7932a
commit 42074cfe75
3 changed files with 22 additions and 0 deletions

BIN
exterminate.wav Normal file

Binary file not shown.

View File

@ -570,6 +570,7 @@ public class Board {
public boolean isKingInCheck(boolean isWhite) { public boolean isKingInCheck(boolean isWhite) {
// First, find the king's position // First, find the king's position
Piece king = findKing(isWhite); Piece king = findKing(isWhite);
SoundPlayer soundPlayer = new SoundPlayer();
if (king == null) { if (king == null) {
// If king not found (shouldn't happen in a valid chess game) // If king not found (shouldn't happen in a valid chess game)
@ -595,6 +596,7 @@ public class Board {
// Check if any move can capture the king // Check if any move can capture the king
for (Move move : moves) { for (Move move : moves) {
if (move.getToX() == kingX && move.getToY() == kingY) { if (move.getToX() == kingX && move.getToY() == kingY) {
soundPlayer.playCheckSound();
return true; // King is in check return true; // King is in check
} }
} }

View File

@ -0,0 +1,20 @@
package backend;
import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;
public class SoundPlayer {
public void playCheckSound() {
try {
// Replace "check.wav" with the path to your check sound file
File soundFile = new File("exterminate.wav");
AudioInputStream audioStream = AudioSystem.getAudioInputStream(soundFile);
Clip clip = AudioSystem.getClip();
clip.open(audioStream);
clip.start();
} catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) {
e.printStackTrace();
}
}
}