# HG changeset patch # User Jaroslav Tulach # Date 1392047408 -3600 # Node ID 03bec9dcc8601b0f8aa91a6654e0be576570fc20 # Parent cc5da2ae3940d8027a51943da9cb5767a66ca1ff Play a sound when a square in the minefield is made visible diff -r cc5da2ae3940 -r 03bec9dcc860 minesweeper/pom.xml --- a/minesweeper/pom.xml Sat Feb 08 13:02:21 2014 +0100 +++ b/minesweeper/pom.xml Mon Feb 10 16:50:08 2014 +0100 @@ -73,6 +73,11 @@ ${net.java.html.version} + org.netbeans.html + net.java.html.sound + ${net.java.html.version} + + org.testng testng 6.7 diff -r cc5da2ae3940 -r 03bec9dcc860 minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java --- a/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java Sat Feb 08 13:02:21 2014 +0100 +++ b/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java Mon Feb 10 16:50:08 2014 +0100 @@ -31,6 +31,7 @@ import net.java.html.json.Model; import net.java.html.json.ModelOperation; import net.java.html.json.Property; +import net.java.html.sound.AudioClip; /** Model of the mine field. */ @@ -218,6 +219,7 @@ } } + private static final AudioClip TOUCH = AudioClip.create("move.mp3"); @Function static void click(Mines model, Square data) { if (model.getState() != GameState.IN_PROGRESS) { return; @@ -229,6 +231,7 @@ showAllBombs(model, SquareType.EXPLOSION); model.setState(GameState.LOST); } else { + TOUCH.play(); expandKnown(model, data); } break; diff -r cc5da2ae3940 -r 03bec9dcc860 minesweeper/src/main/webapp/pages/move.mp3 Binary file minesweeper/src/main/webapp/pages/move.mp3 has changed