Play a sound when a square in the minefield is made visible minesweeper
authorJaroslav Tulach <jtulach@netbeans.org>
Mon, 10 Feb 2014 16:50:08 +0100
branchminesweeper
changeset 7903bec9dcc860
parent 78 cc5da2ae3940
child 80 ec060bb2b997
Play a sound when a square in the minefield is made visible
minesweeper/pom.xml
minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java
minesweeper/src/main/webapp/pages/move.mp3
     1.1 --- a/minesweeper/pom.xml	Sat Feb 08 13:02:21 2014 +0100
     1.2 +++ b/minesweeper/pom.xml	Mon Feb 10 16:50:08 2014 +0100
     1.3 @@ -73,6 +73,11 @@
     1.4          <version>${net.java.html.version}</version>
     1.5      </dependency>
     1.6      <dependency>
     1.7 +        <groupId>org.netbeans.html</groupId>
     1.8 +        <artifactId>net.java.html.sound</artifactId>
     1.9 +        <version>${net.java.html.version}</version>
    1.10 +    </dependency>
    1.11 +    <dependency>
    1.12        <groupId>org.testng</groupId>
    1.13        <artifactId>testng</artifactId>
    1.14        <version>6.7</version>
     2.1 --- a/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java	Sat Feb 08 13:02:21 2014 +0100
     2.2 +++ b/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java	Mon Feb 10 16:50:08 2014 +0100
     2.3 @@ -31,6 +31,7 @@
     2.4  import net.java.html.json.Model;
     2.5  import net.java.html.json.ModelOperation;
     2.6  import net.java.html.json.Property;
     2.7 +import net.java.html.sound.AudioClip;
     2.8  
     2.9  /** Model of the mine field.
    2.10   */
    2.11 @@ -218,6 +219,7 @@
    2.12          }
    2.13      }
    2.14      
    2.15 +    private static final AudioClip TOUCH = AudioClip.create("move.mp3");
    2.16      @Function static void click(Mines model, Square data) {
    2.17          if (model.getState() != GameState.IN_PROGRESS) {
    2.18              return;
    2.19 @@ -229,6 +231,7 @@
    2.20                      showAllBombs(model, SquareType.EXPLOSION);
    2.21                      model.setState(GameState.LOST);
    2.22                  } else {
    2.23 +                    TOUCH.play();
    2.24                      expandKnown(model, data);
    2.25                  }
    2.26              break;
     3.1 Binary file minesweeper/src/main/webapp/pages/move.mp3 has changed