diff --git a/gui/.idea/workspace.xml b/gui/.idea/workspace.xml index 3e962a163ccfe714d496398ed298df09c9d0226d..8ab253502008501645117b887575fe0db7f222d0 100644 --- a/gui/.idea/workspace.xml +++ b/gui/.idea/workspace.xml @@ -2,8 +2,8 @@ <project version="4"> <component name="ChangeListManager"> <list default="true" id="6b0da734-2128-4439-a43a-750a0a564c07" name="Default" comment=""> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/Main.java" afterPath="$PROJECT_DIR$/src/main/Main.java" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../src/mcts/allocator.hpp" afterPath="$PROJECT_DIR$/../src/mcts/allocator.hpp" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/controller/Controller.java" afterPath="$PROJECT_DIR$/src/controller/Controller.java" /> </list> <ignored path="gui.iws" /> <ignored path=".idea/workspace.xml" /> @@ -28,7 +28,7 @@ <file leaf-file-name="UpdateThread.java" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/controller/UpdateThread.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-205"> + <state relative-caret-position="1368"> <caret line="85" column="33" selection-start-line="85" selection-start-column="33" selection-end-line="85" selection-end-column="33" /> <folding /> </state> @@ -38,18 +38,68 @@ <file leaf-file-name="Controller.java" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/controller/Controller.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2567"> - <caret line="223" column="0" selection-start-line="223" selection-start-column="0" selection-end-line="223" selection-end-column="0" /> + <state relative-caret-position="2106"> + <caret line="145" column="36" selection-start-line="145" selection-start-column="36" selection-end-line="145" selection-end-column="36" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="Main.java" pinned="false" current-in-tab="true"> + <file leaf-file-name="Main.java" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/main/Main.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="335"> - <caret line="39" column="58" selection-start-line="39" selection-start-column="58" selection-end-line="39" selection-end-column="58" /> + <state relative-caret-position="522"> + <caret line="41" column="50" selection-start-line="35" selection-start-column="12" selection-end-line="41" selection-end-column="50" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="GameState.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/model/GameState.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="180"> + <caret line="16" column="55" selection-start-line="16" selection-start-column="55" selection-end-line="16" selection-end-column="55" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="Move.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/model/Move.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="36"> + <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="Player.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/model/Player.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="36"> + <caret line="2" column="12" selection-start-line="2" selection-start-column="12" selection-end-line="2" selection-end-column="12" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="Tile.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/model/Tile.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="504"> + <caret line="31" column="15" selection-start-line="31" selection-start-column="15" selection-end-line="31" selection-end-column="15" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="TileView.java" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/view/TileView.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="306"> + <caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" /> <folding /> </state> </provider> @@ -82,16 +132,17 @@ <option name="CHANGED_PATHS"> <list> <option value="$PROJECT_DIR$/src/controller/UpdateThread.java" /> - <option value="$PROJECT_DIR$/src/controller/Controller.java" /> <option value="$PROJECT_DIR$/src/view/TileView.java" /> <option value="$PROJECT_DIR$/src/main/Main.java" /> + <option value="$PROJECT_DIR$/src/controller/Controller.java" /> </list> </option> </component> <component name="ProjectFrameBounds"> + <option name="x" value="-1" /> <option name="y" value="25" /> - <option name="width" value="1366" /> - <option name="height" value="743" /> + <option name="width" value="1368" /> + <option name="height" value="744" /> </component> <component name="ProjectLevelVcsManager" settingsEditedManually="true"> <OptionsSetting value="true" id="Add" /> @@ -118,9 +169,6 @@ <foldersAlwaysOnTop value="true" /> </navigator> <panes> - <pane id="Scope" /> - <pane id="PackagesPane" /> - <pane id="Scratches" /> <pane id="ProjectPane"> <subPane> <PATH> @@ -213,6 +261,9 @@ </PATH> </subPane> </pane> + <pane id="Scratches" /> + <pane id="PackagesPane" /> + <pane id="Scope" /> </panes> </component> <component name="PropertiesComponent"> @@ -479,7 +530,7 @@ <servers /> </component> <component name="ToolWindowManager"> - <frame x="0" y="25" width="1366" height="743" extended-state="6" /> + <frame x="-1" y="25" width="1368" height="744" extended-state="6" /> <editor active="false" /> <layout> <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> @@ -490,11 +541,11 @@ <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32923076" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.66923076" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.66923076" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.1727672" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17349927" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> @@ -532,7 +583,6 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="36"> <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" /> - <folding /> </state> </provider> </entry> @@ -615,7 +665,6 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="36"> <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" /> - <folding /> </state> </provider> </entry> @@ -687,7 +736,6 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="36"> <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" /> - <folding /> </state> </provider> </entry> @@ -759,7 +807,6 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="36"> <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" /> - <folding /> </state> </provider> </entry> @@ -831,7 +878,6 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - <folding /> </state> </provider> </entry> @@ -857,50 +903,52 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/view/TileView.java"> + <entry file="file://$PROJECT_DIR$/gui.iml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="306"> - <caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" /> - <folding /> + <state relative-caret-position="36"> + <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/controller/Controller.java"> + <entry file="file://$PROJECT_DIR$/src/view/view.fxml"> + <provider editor-type-id="JavaFX-Scene-Builder"> + <state /> + </provider> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2567"> - <caret line="223" column="0" selection-start-line="223" selection-start-column="0" selection-end-line="223" selection-end-column="0" /> + <state relative-caret-position="0"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/controller/UpdateThread.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-205"> + <state relative-caret-position="1368"> <caret line="85" column="33" selection-start-line="85" selection-start-column="33" selection-end-line="85" selection-end-column="33" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/gui.iml"> + <entry file="file://$PROJECT_DIR$/src/controller/Controller.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="36"> - <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" /> + <state relative-caret-position="2106"> + <caret line="145" column="36" selection-start-line="145" selection-start-column="36" selection-end-line="145" selection-end-column="36" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/model/Tile.java"> + <entry file="file://$PROJECT_DIR$/src/main/Main.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="504"> - <caret line="31" column="15" selection-start-line="31" selection-start-column="15" selection-end-line="31" selection-end-column="15" /> + <state relative-caret-position="522"> + <caret line="41" column="50" selection-start-line="35" selection-start-column="12" selection-end-line="41" selection-end-column="50" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/model/Player.java"> + <entry file="file://$PROJECT_DIR$/src/model/GameState.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="108"> - <caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" /> + <state relative-caret-position="180"> + <caret line="16" column="55" selection-start-line="16" selection-start-column="55" selection-end-line="16" selection-end-column="55" /> <folding /> </state> </provider> @@ -913,29 +961,26 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/model/GameState.java"> + <entry file="file://$PROJECT_DIR$/src/model/Player.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="180"> - <caret line="16" column="55" selection-start-line="16" selection-start-column="55" selection-end-line="16" selection-end-column="55" /> + <state relative-caret-position="36"> + <caret line="2" column="12" selection-start-line="2" selection-start-column="12" selection-end-line="2" selection-end-column="12" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/view/view.fxml"> - <provider editor-type-id="JavaFX-Scene-Builder"> - <state /> - </provider> + <entry file="file://$PROJECT_DIR$/src/model/Tile.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <state relative-caret-position="504"> + <caret line="31" column="15" selection-start-line="31" selection-start-column="15" selection-end-line="31" selection-end-column="15" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/Main.java"> + <entry file="file://$PROJECT_DIR$/src/view/TileView.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="335"> - <caret line="39" column="58" selection-start-line="39" selection-start-column="58" selection-end-line="39" selection-end-column="58" /> + <state relative-caret-position="306"> + <caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" /> <folding /> </state> </provider> diff --git a/gui/resource/clic.wav b/gui/resource/clic.wav new file mode 100644 index 0000000000000000000000000000000000000000..ce7736c096268e1c7605e7dce0f1a21090596956 Binary files /dev/null and b/gui/resource/clic.wav differ diff --git a/gui/src/controller/Controller.java b/gui/src/controller/Controller.java index 32f454277026fdac91ba8b7542c99dbe6990915e..9387e8bf0d70724da57781323d8dfa25e79e1429 100644 --- a/gui/src/controller/Controller.java +++ b/gui/src/controller/Controller.java @@ -15,11 +15,11 @@ import model.GameState; import model.Move; import model.Player; import model.Tile; +import sun.audio.AudioPlayer; +import sun.audio.AudioStream; import view.TileView; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; +import java.io.*; import java.net.URL; import java.util.List; import java.util.ResourceBundle; @@ -111,6 +111,8 @@ public class Controller implements Initializable */ private class TileClickHandler implements EventHandler<MouseEvent> { + + private int tileNumber; public TileClickHandler(int tileNumber) @@ -131,6 +133,22 @@ public class Controller implements Initializable @Override public void handle(MouseEvent event) { + // open the sound file as a Java input stream + String intro = "./resource/clic.wav"; + InputStream in = null; + try { + in = new FileInputStream(intro); + // create an audiostream from the inputstream + AudioStream audioStream = new AudioStream(in); + // play the audio clip with the audioplayer class + AudioPlayer.player.start(audioStream); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + if (!gameState.getCurrent_player().equals(humanPlayer)) return;