Erweiterte Schnecken dings

This commit is contained in:
Daniel Brunner
2016-12-20 10:38:34 +01:00
parent 607d8d4eec
commit 80b57d58d3
27 changed files with 332 additions and 263 deletions

362
.idea/workspace.xml generated
View File

@ -2,21 +2,31 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="5b9a0ba8-faec-4467-9114-acbf3fcc979d" name="Default" comment=""> <list default="true" id="5b9a0ba8-faec-4467-9114-acbf3fcc979d" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" /> <change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/Main.class" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Person.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/Schnecke.class" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennErgebnis.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.class" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.class" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.class" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wette.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.class" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.class" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/Main.java" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java" afterPath="" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.java" /> <change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.java" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.java" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.java" afterPath="" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/Program.class" afterPath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/Program.class" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/RennSimulator.class" afterPath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/RennSimulator.class" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/Rennen.class" afterPath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/Rennen.class" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/Wettbüro.class" afterPath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/Wettbüro.class" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Person.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Person.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java" />
</list> </list>
<ignored path="PGTL-Programs.iws" /> <ignored path="PGTL-Programs.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
@ -36,27 +46,33 @@
<favorites_list name="PGTL-Programs" /> <favorites_list name="PGTL-Programs" />
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf>
<file leaf-file-name="Program.java" pinned="false" current-in-tab="false"> <file leaf-file-name="Rennen.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="471"> <state relative-caret-position="216">
<caret line="76" column="24" selection-start-line="76" selection-start-column="24" selection-end-line="76" selection-end-column="24" /> <caret line="19" column="42" selection-start-line="19" selection-start-column="42" selection-end-line="19" selection-end-column="42" />
<folding> <folding />
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="RennSimulator.java" pinned="false" current-in-tab="true"> <file leaf-file-name="Rennstrecke.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170"> <state relative-caret-position="459">
<caret line="10" column="19" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" /> <caret line="27" column="67" selection-start-line="27" selection-start-column="67" selection-end-line="29" selection-end-column="69" />
<folding> <folding />
<element signature="imports" expanded="true" /> </state>
</folding> </provider>
</entry>
</file>
<file leaf-file-name="Schnecke.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="410">
<caret line="32" column="42" selection-start-line="32" selection-start-column="42" selection-end-line="32" selection-end-column="42" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -85,21 +101,22 @@
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program2/Program.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program2/Program.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/Main.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/Main.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wette.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wette.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Person.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennsimulation.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennsimulation.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennErgebnis.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennErgebnis.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennsimulator.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennsimulator.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ÄnderungenNichtMehrErlaubtException.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Person.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java" /> <option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java" />
<option value="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java" />
</list> </list>
</option> </option>
</component> </component>
@ -111,10 +128,9 @@
</option> </option>
</component> </component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="-8" /> <option name="x" value="-7" />
<option name="y" value="-8" /> <option name="width" value="960" />
<option name="width" value="1936" /> <option name="height" value="1047" />
<option name="height" value="1056" />
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false"> <component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" /> <OptionsSetting value="true" id="Add" />
@ -141,7 +157,6 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="Scratches" /> <pane id="Scratches" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
@ -161,24 +176,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="PGTL-Programs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="PGTL-Programs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="pgtl" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="PGTL-Programs" /> <option name="myItemId" value="PGTL-Programs" />
@ -218,21 +215,14 @@
<option name="myItemId" value="pgtl" /> <option name="myItemId" value="pgtl" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="program3" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="exceptions" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="PackagesPane" /> <pane id="PackagesPane" />
<pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="RunManager" selected="Application.Main"> <component name="RunManager" selected="Application.Program">
<configuration default="false" name="Main" type="Application" factoryName="Application" temporary="true"> <configuration default="false" name="Main" type="Application" factoryName="Application" temporary="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="ninja.brunner.pgtl.Main" /> <option name="MAIN_CLASS_NAME" value="ninja.brunner.pgtl.Main" />
@ -250,6 +240,26 @@
<ConfigurationWrapper RunnerId="Run" /> <ConfigurationWrapper RunnerId="Run" />
<method /> <method />
</configuration> </configuration>
<configuration default="false" name="Program" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="ninja.brunner.pgtl.program3.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="MAIN_CLASS_NAME" value="ninja.brunner.pgtl.program3.Program" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="PGTL-Programs" />
<envs />
<method />
</configuration>
<configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application"> <configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application">
<module name="" /> <module name="" />
<option name="DEPLOY" value="true" /> <option name="DEPLOY" value="true" />
@ -472,12 +482,14 @@
<listeners /> <listeners />
<method /> <method />
</configuration> </configuration>
<list size="1"> <list size="2">
<item index="0" class="java.lang.String" itemvalue="Application.Main" /> <item index="0" class="java.lang.String" itemvalue="Application.Main" />
<item index="1" class="java.lang.String" itemvalue="Application.Program" />
</list> </list>
<recent_temporary> <recent_temporary>
<list size="1"> <list size="2">
<item index="0" class="java.lang.String" itemvalue="Application.Main" /> <item index="0" class="java.lang.String" itemvalue="Application.Program" />
<item index="1" class="java.lang.String" itemvalue="Application.Main" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@ -498,22 +510,22 @@
<servers /> <servers />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> <frame x="-7" y="0" width="960" height="1047" extended-state="0" />
<editor active="false" /> <editor active="true" />
<layout> <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" /> <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" />
<window_info id="TODO" 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="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" 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="6" side_tool="false" content_ui="tabs" />
<window_info id="Messages" 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="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32977587" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" 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="Palette&#9;" 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="Capture Analysis" 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="Capture Analysis" 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="Event Log" 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="true" content_ui="tabs" /> <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.33" 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="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="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2653277" 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.38420492" sideWeight="0.5" order="2" 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.32980973" sideWeight="0.5" order="7" 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.32980973" sideWeight="0.5" order="7" 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="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32977587" 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="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="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.17239584" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3506356" 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="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="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" /> <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" />
@ -548,12 +560,34 @@
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1241">
<caret line="76" column="26" selection-start-line="76" selection-start-column="26" selection-end-line="76" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="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" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding />
<element signature="imports" expanded="true" /> </state>
</folding> </provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1241">
<caret line="76" column="24" selection-start-line="76" selection-start-column="24" selection-end-line="76" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.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" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -561,9 +595,15 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="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" /> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding />
<element signature="imports" expanded="true" /> </state>
</folding> </provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.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" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -581,97 +621,39 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/Main.java"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.java" />
<provider selected="true" editor-type-id="text-editor"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.java" />
<state relative-caret-position="170"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java" />
<caret line="10" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="10" selection-end-column="0" /> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.java" />
</state> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java" />
</provider> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/Main.java" />
</entry> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ÄnderungenNichtMehrErlaubtException.java" />
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wette.java"> <entry file="jar://C:/Program Files (x86)/Java/jdk1.7.0_55/src.zip!/java/lang/Throwable.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<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>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="85">
<caret line="5" column="56" selection-start-line="5" selection-start-column="56" selection-end-line="5" selection-end-column="56" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17">
<caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Person.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119">
<caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
<folding>
<element signature="e#361#368#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="8" column="46" selection-start-line="8" selection-start-column="23" selection-end-line="8" selection-end-column="46" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255"> <state relative-caret-position="255">
<caret line="15" column="8" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="16" /> <caret line="113" column="13" selection-start-line="113" selection-start-column="13" selection-end-line="113" selection-end-column="13" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java"> <entry file="jar://C:/Program Files (x86)/Java/jdk1.7.0_55/src.zip!/java/lang/Exception.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="17"> <state relative-caret-position="306">
<caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="4" selection-end-column="0" /> <caret line="82" column="40" selection-start-line="82" selection-start-column="40" selection-end-line="82" selection-end-column="40" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="193">
<caret line="13" column="76" selection-start-line="13" selection-start-column="18" selection-end-line="13" selection-end-column="76" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="e#2406#2407#0" expanded="false" />
<element signature="e#2443#2444#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files (x86)/Java/jdk1.7.0_55/src.zip!/com/sun/jmx/remote/internal/ArrayQueue.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennErgebnis.java"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennErgebnis.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102"> <state relative-caret-position="102">
@ -680,33 +662,67 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wette.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<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>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306"> <state relative-caret-position="289">
<caret line="18" column="31" selection-start-line="18" selection-start-column="31" selection-end-line="18" selection-end-column="31" /> <caret line="17" column="47" selection-start-line="17" selection-start-column="47" selection-end-line="17" selection-end-column="47" />
<folding> <folding />
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="471"> <state relative-caret-position="493">
<caret line="76" column="24" selection-start-line="76" selection-start-column="24" selection-end-line="76" selection-end-column="24" /> <caret line="65" column="49" selection-start-line="65" selection-start-column="49" selection-end-line="65" selection-end-column="49" />
<folding> <folding />
<element signature="imports" expanded="true" /> </state>
</folding> </provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Person.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="289">
<caret line="17" column="14" selection-start-line="17" selection-start-column="14" selection-end-line="17" selection-end-column="14" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java"> <entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170"> <state relative-caret-position="72">
<caret line="10" column="19" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" /> <caret line="68" column="13" selection-start-line="68" selection-start-column="13" selection-end-line="68" selection-end-column="13" />
<folding> <folding />
<element signature="imports" expanded="true" /> </state>
</folding> </provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="216">
<caret line="19" column="42" selection-start-line="19" selection-start-column="42" selection-end-line="19" selection-end-column="42" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="459">
<caret line="27" column="67" selection-start-line="27" selection-start-column="67" selection-end-line="29" selection-end-column="69" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Schnecke.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="410">
<caret line="32" column="42" selection-start-line="32" selection-start-column="42" selection-end-line="32" selection-end-column="42" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>

View File

@ -1,10 +0,0 @@
package ninja.brunner.pgtl;
import ninja.brunner.pgtl.program3.Program;
public class Main {
public static void main(String[] args) throws InterruptedException {
Program.main(args);
}
}

View File

@ -15,6 +15,8 @@ public class Person {
{ {
ArrayList<Wette> wetten = new ArrayList<Wette>(); ArrayList<Wette> wetten = new ArrayList<Wette>();
//TODO
return wetten; return wetten;
} }
} }

View File

@ -1,16 +1,10 @@
package ninja.brunner.pgtl.program3; package ninja.brunner.pgtl.program3;
import ninja.brunner.pgtl.program3.exceptions.NameBereitsVergebenException;
import ninja.brunner.pgtl.program3.exceptions.ZuWenigGeldException;
import java.util.ArrayList;
public class Program { public class Program {
public static void main(String[] args) throws InterruptedException { public static void main(String[] args) throws InterruptedException {
System.out.println("Initialisiere..."); System.out.println("Initialisiere...");
RennSimulator rennSimulator = new RennSimulator(); RennSimulator rennSimulator = new RennSimulator();
Wettbüro büro = new Wettbüro();
try { try {
Rennstrecke rennstrecken[] = { Rennstrecke rennstrecken[] = {
@ -48,33 +42,35 @@ public class Program {
}; };
Person personen[] = { Person personen[] = {
büro.registrierePerson("Person 1", 1234), rennSimulator.getWettbüro().registrierePerson("Person 1", 1234),
büro.registrierePerson("Person 2", 12345), rennSimulator.getWettbüro().registrierePerson("Person 2", 12345),
büro.registrierePerson("Person 3", 123), rennSimulator.getWettbüro().registrierePerson("Person 3", 123),
büro.registrierePerson("Person 4", 4444), rennSimulator.getWettbüro().registrierePerson("Person 4", 4444),
büro.registrierePerson("Person 5", 1500), rennSimulator.getWettbüro().registrierePerson("Person 5", 1500),
büro.registrierePerson("Person 6", 8123), rennSimulator.getWettbüro().registrierePerson("Person 6", 8123),
büro.registrierePerson("Person 7", 1000), rennSimulator.getWettbüro().registrierePerson("Person 7", 1000),
büro.registrierePerson("Person 8", 5555) rennSimulator.getWettbüro().registrierePerson("Person 8", 5555)
}; };
büro.wetteAbschließen(personen[0], rennen[0], rennen[0].schnecken[0], 100); rennSimulator.getWettbüro().wetteAbschließen(personen[0], rennen[0], rennen[0].schnecken[0], 100);
büro.wetteAbschließen(personen[0], rennen[0], rennen[0].schnecken[0], 100); rennSimulator.getWettbüro().wetteAbschließen(personen[1], rennen[0], rennen[0].schnecken[0], 100);
büro.wetteAbschließen(personen[0], rennen[0], rennen[0].schnecken[0], 100); rennSimulator.getWettbüro().wetteAbschließen(personen[2], rennen[0], rennen[0].schnecken[0], 100);
büro.wetteAbschließen(personen[0], rennen[0], rennen[0].schnecken[0], 100); rennSimulator.getWettbüro().wetteAbschließen(personen[3], rennen[0], rennen[0].schnecken[0], 100);
} }
catch (NameBereitsVergebenException ex) catch (Exception ex)
{
System.out.println("Fehler beim Initialisieren: " + ex.toString());
return;
}
catch (ZuWenigGeldException ex)
{ {
System.out.println("Fehler beim Initialisieren: " + ex.toString()); System.out.println("Fehler beim Initialisieren: " + ex.toString());
return; return;
} }
rennSimulator.start(); System.out.println("Beginne Simulation...");
try {
rennSimulator.start();
} catch (Exception ex) {
System.out.println("Fehler beim Simulieren: " + ex.toString());
return;
}
System.out.println("Simulation beendet."); System.out.println("Simulation beendet.");
} }

View File

@ -1,17 +1,24 @@
package ninja.brunner.pgtl.program3; package ninja.brunner.pgtl.program3;
import ninja.brunner.pgtl.program3.exceptions.NameBereitsVergebenException;
import java.util.ArrayList; import java.util.ArrayList;
public class RennSimulator { public class RennSimulator {
private Wettbüro wettbüro;
private ArrayList<Rennstrecke> rennstrecken; private ArrayList<Rennstrecke> rennstrecken;
private ArrayList<Schnecke> schnecken; private ArrayList<Schnecke> schnecken;
private ArrayList<Rennen> rennen; private ArrayList<Rennen> rennen;
private boolean changesAllowed; private boolean changesAllowed;
public Wettbüro getWettbüro() {
return wettbüro;
}
public RennSimulator() public RennSimulator()
{ {
wettbüro = new Wettbüro();
rennstrecken = new ArrayList<Rennstrecke>(); rennstrecken = new ArrayList<Rennstrecke>();
schnecken = new ArrayList<Schnecke>(); schnecken = new ArrayList<Schnecke>();
rennen = new ArrayList<Rennen>(); rennen = new ArrayList<Rennen>();
@ -19,30 +26,39 @@ public class RennSimulator {
changesAllowed = true; changesAllowed = true;
} }
public Rennstrecke registriereRennstrecke(String name, int length) throws NameBereitsVergebenException { public Rennstrecke registriereRennstrecke(String name, int length) throws Exception {
if(!changesAllowed)
throw new Exception("Änderungen nicht mehr erlaubt!");
for(Rennstrecke rennstrecke : rennstrecken) for(Rennstrecke rennstrecke : rennstrecken)
if(rennstrecke.name == name) if(rennstrecke.name == name)
throw new NameBereitsVergebenException(); throw new Exception("Name bereits vergeben!");
Rennstrecke rennstrecke = new Rennstrecke(name, length); Rennstrecke rennstrecke = new Rennstrecke(name, length);
rennstrecken.add(rennstrecke); rennstrecken.add(rennstrecke);
return rennstrecke; return rennstrecke;
} }
public Schnecke registriereSchnecke(String name) throws NameBereitsVergebenException { public Schnecke registriereSchnecke(String name) throws Exception {
if(!changesAllowed)
throw new Exception("Änderungen nicht mehr erlaubt!");
for(Schnecke schnecke : schnecken) for(Schnecke schnecke : schnecken)
if(schnecke.name == name) if(schnecke.name == name)
throw new NameBereitsVergebenException(); throw new Exception("Name bereits vergeben!");
Schnecke schnecke = new Schnecke(name); Schnecke schnecke = new Schnecke(name);
schnecken.add(schnecke); schnecken.add(schnecke);
return schnecke; return schnecke;
} }
public Rennen registriereRennen(String name, Rennstrecke rennstrecke, Schnecke schnecken[]) throws NameBereitsVergebenException { public Rennen registriereRennen(String name, Rennstrecke rennstrecke, Schnecke schnecken[]) throws Exception {
if(!changesAllowed)
throw new Exception("Änderungen nicht mehr erlaubt!");
for(Rennen _rennen : rennen) for(Rennen _rennen : rennen)
if(_rennen.name == name) if(_rennen.name == name)
throw new NameBereitsVergebenException(); throw new Exception("Name bereits vergeben!");
Rennen _rennen = new Rennen(name, rennstrecke, schnecken); Rennen _rennen = new Rennen(name, rennstrecke, schnecken);
rennen.add(_rennen); rennen.add(_rennen);
@ -53,7 +69,7 @@ public class RennSimulator {
try { try {
rennen.begin(); rennen.begin();
//TODO while(rennen.schritt());
rennen.cleanup(); rennen.cleanup();
} }
@ -67,6 +83,21 @@ public class RennSimulator {
return null; return null;
} }
public void start() { public void start() throws Exception {
if(!changesAllowed)
throw new Exception("Simulation bereits gestartet!");
changesAllowed = false;
for(Rennen _rennen : rennen)
{
RennErgebnis rennErgebnis = simuliere(_rennen);
//TODO: notify wettBüro
}
rennen.clear();
changesAllowed = true;
} }
} }

View File

@ -1,9 +1,5 @@
package ninja.brunner.pgtl.program3; package ninja.brunner.pgtl.program3;
import ninja.brunner.pgtl.program3.exceptions.StreckeNichtFreiException;
import ninja.brunner.pgtl.program3.exceptions.SchneckeNichtFreiException;
import ninja.brunner.pgtl.program3.exceptions.RennenNichtAktivException;
public class Rennen { public class Rennen {
String name; String name;
Rennstrecke rennStrecke; Rennstrecke rennStrecke;
@ -20,28 +16,37 @@ public class Rennen {
this.currentlyRenning = false; this.currentlyRenning = false;
} }
public void begin() throws StreckeNichtFreiException, SchneckeNichtFreiException { public void begin() throws Exception {
if(rennStrecke.currentRennen != null) System.out.println("Begine Rennen \"" + name + "\"");
throw new StreckeNichtFreiException(); if(currentlyRenning)
throw new Exception("Rennen bereits aktiv!");
rennStrecke.begin(this);
for(Schnecke schnecke : schnecken) for(Schnecke schnecke : schnecken)
if(schnecke.currentRennen != null) schnecke.begin(this);
throw new SchneckeNichtFreiException();
currentlyRenning = true; currentlyRenning = true;
rennStrecke.currentRennen = this;
for(Schnecke schnecke : schnecken)
schnecke.currentRennen = this;
} }
public void cleanup() throws RennenNichtAktivException public void cleanup() throws Exception {
{ System.out.println("Beende Rennen \"" + name + "\"");
if(!currentlyRenning) if(!currentlyRenning)
throw new RennenNichtAktivException(); throw new Exception("Rennen nicht aktiv!");
currentlyRenning = false; rennStrecke.cleanup();
rennStrecke.currentRennen = null;
for(Schnecke schnecke : schnecken) for(Schnecke schnecke : schnecken)
schnecke.currentRennen = null; schnecke.cleanup();
currentlyRenning = false;
}
public boolean schritt() throws Exception {
if(!currentlyRenning)
throw new Exception("Rennen nicht aktiv!");
boolean anySchnecke = false;
for(Schnecke schnecke : schnecken)
anySchnecke |= schnecke.krabbeln();
return anySchnecke;
} }
} }

View File

@ -13,4 +13,22 @@ public class Rennstrecke {
currentRennen = null; currentRennen = null;
} }
public void begin(Rennen rennen) throws Exception {
if(currentRennen != null)
throw new Exception("Bereits in einem Rennen!");
System.out.println("Bereite Rennstrecke \"" + name + "\" vor auf Rennen \"" + rennen.name + "\"");
currentRennen = rennen;
}
public void cleanup() throws Exception {
if(currentRennen == null)
throw new Exception("In keinem Rennen in Verwendung!");
System.out.println("Räume Rennstrecke \"" + name + "\" auf");
currentRennen = null;
}
} }

View File

@ -15,4 +15,39 @@ public class Schnecke {
currentRennen = null; currentRennen = null;
position = null; position = null;
} }
public void begin(Rennen rennen) throws Exception {
if(currentRennen != null)
throw new Exception("Bereits in einem Rennen!");
System.out.println("Bereite Schnecke \"" + name + "\" vor auf Rennen \"" + rennen.name + "\"");
this.currentRennen = rennen;
this.position = 0;
}
public void cleanup() throws Exception {
if(currentRennen == null)
throw new Exception("Gerade in keinem Rennen!");
System.out.println("Räume Schnecke \"" + name + "\" auf");
this.currentRennen = null;
this.position = null;
}
public boolean krabbeln() throws Exception {
if(currentRennen == null)
throw new Exception("Schnecke gerade nicht in einem Rennen!");
if(position < currentRennen.rennStrecke.length) {
position += 1; //TODO: random
if (position > currentRennen.rennStrecke.length) {
position = currentRennen.rennStrecke.length;
return false;
}
return true;
} else
return false;
}
} }

View File

@ -1,7 +1,6 @@
package ninja.brunner.pgtl.program3; package ninja.brunner.pgtl.program3;
import java.util.ArrayList; import java.util.ArrayList;
import ninja.brunner.pgtl.program3.exceptions.ZuWenigGeldException;
public class Wettbüro { public class Wettbüro {
public ArrayList<Person> personen; public ArrayList<Person> personen;
@ -12,11 +11,11 @@ public class Wettbüro {
wetten = new ArrayList<Wette>(); wetten = new ArrayList<Wette>();
} }
public Wette wetteAbschließen(Person person, Rennen rennen, Schnecke schnecke, float einsatz) throws ZuWenigGeldException { public Wette wetteAbschließen(Person person, Rennen rennen, Schnecke schnecke, float einsatz) throws Exception {
if(person.guthaben < einsatz) if(person.guthaben < einsatz)
throw new ZuWenigGeldException(); throw new Exception("Zu wenig Geld!");
person.guthaben -= einsatz; person.guthaben -= einsatz;

View File

@ -1,4 +0,0 @@
package ninja.brunner.pgtl.program3.exceptions;
public class NameBereitsVergebenException extends Exception {
}

View File

@ -1,4 +0,0 @@
package ninja.brunner.pgtl.program3.exceptions;
public class RennenNichtAktivException extends Exception {
}

View File

@ -1,4 +0,0 @@
package ninja.brunner.pgtl.program3.exceptions;
public class SchneckeNichtFreiException extends Exception {
}

View File

@ -1,7 +0,0 @@
package ninja.brunner.pgtl.program3.exceptions;
/**
* Created by Daniel on 13.12.2016.
*/
public class StreckeNichtFreiException extends Exception {
}

View File

@ -1,4 +0,0 @@
package ninja.brunner.pgtl.program3.exceptions;
public class ZuWenigGeldException extends Exception {
}