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">
<component name="ChangeListManager">
<list default="true" id="5b9a0ba8-faec-4467-9114-acbf3fcc979d" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Person.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennErgebnis.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wette.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.java" />
<change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/Main.class" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/Schnecke.class" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.class" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.class" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.class" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.class" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/out/production/PGTL-Programs/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.class" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/Main.java" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java" afterPath="" />
<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/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/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/Wettbüro.java" afterPath="$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Wettbüro.java" />
</list>
<ignored path="PGTL-Programs.iws" />
<ignored path=".idea/workspace.xml" />
@ -36,27 +46,33 @@
<favorites_list name="PGTL-Programs" />
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="Program.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Program.java">
<leaf>
<file leaf-file-name="Rennen.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennen.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="471">
<caret line="76" column="24" selection-start-line="76" selection-start-column="24" selection-end-line="76" selection-end-column="24" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<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>
</file>
<file leaf-file-name="RennSimulator.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/RennSimulator.java">
<file leaf-file-name="Rennstrecke.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/Rennstrecke.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170">
<caret line="10" column="19" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<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>
</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>
</provider>
</entry>
@ -85,21 +101,22 @@
<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/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/RennErgebnis.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/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/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/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>
</option>
</component>
@ -111,10 +128,9 @@
</option>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-8" />
<option name="y" value="-8" />
<option name="width" value="1936" />
<option name="height" value="1056" />
<option name="x" value="-7" />
<option name="width" value="960" />
<option name="height" value="1047" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
@ -141,7 +157,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
@ -161,24 +176,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</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_ELEMENT>
<option name="myItemId" value="PGTL-Programs" />
@ -218,21 +215,14 @@
<option name="myItemId" value="pgtl" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</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>
</subPane>
</pane>
<pane id="PackagesPane" />
<pane id="Scope" />
</panes>
</component>
<component name="RunManager" selected="Application.Main">
<component name="RunManager" selected="Application.Program">
<configuration default="false" name="Main" type="Application" factoryName="Application" temporary="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" value="ninja.brunner.pgtl.Main" />
@ -250,6 +240,26 @@
<ConfigurationWrapper RunnerId="Run" />
<method />
</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">
<module name="" />
<option name="DEPLOY" value="true" />
@ -472,12 +482,14 @@
<listeners />
<method />
</configuration>
<list size="1">
<list size="2">
<item index="0" class="java.lang.String" itemvalue="Application.Main" />
<item index="1" class="java.lang.String" itemvalue="Application.Program" />
</list>
<recent_temporary>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="Application.Main" />
<list size="2">
<item index="0" class="java.lang.String" itemvalue="Application.Program" />
<item index="1" class="java.lang.String" itemvalue="Application.Main" />
</list>
</recent_temporary>
</component>
@ -498,22 +510,22 @@
<servers />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="false" />
<frame x="-7" y="0" width="960" height="1047" extended-state="0" />
<editor active="true" />
<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="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="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="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="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="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="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" />
@ -548,12 +560,34 @@
</component>
<component name="editorHistoryManager">
<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">
<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>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</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>
</provider>
</entry>
@ -561,9 +595,15 @@
<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>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</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>
</provider>
</entry>
@ -581,97 +621,39 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170">
<caret line="10" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
</state>
</provider>
</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/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">
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/StreckeNichtFreiException.java" />
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/SchneckeNichtFreiException.java" />
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/RennenNichtAktivException.java" />
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ZuWenigGeldException.java" />
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/NameBereitsVergebenException.java" />
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/Main.java" />
<entry file="file://$PROJECT_DIR$/src/ninja/brunner/pgtl/program3/exceptions/ÄnderungenNichtMehrErlaubtException.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="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 />
</state>
</provider>
</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">
<state relative-caret-position="17">
<caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
<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" />
<state relative-caret-position="306">
<caret line="82" column="40" selection-start-line="82" selection-start-column="40" selection-end-line="82" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2406#2407#0" expanded="false" />
<element signature="e#2443#2444#0" expanded="false" />
</folding>
</state>
</provider>
</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">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
@ -680,33 +662,67 @@
</state>
</provider>
</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">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="18" column="31" selection-start-line="18" selection-start-column="31" selection-end-line="18" selection-end-column="31" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<state relative-caret-position="289">
<caret line="17" column="47" selection-start-line="17" selection-start-column="47" selection-end-line="17" selection-end-column="47" />
<folding />
</state>
</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="471">
<caret line="76" column="24" selection-start-line="76" selection-start-column="24" selection-end-line="76" selection-end-column="24" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<state relative-caret-position="493">
<caret line="65" column="49" selection-start-line="65" selection-start-column="49" selection-end-line="65" selection-end-column="49" />
<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="289">
<caret line="17" column="14" selection-start-line="17" selection-start-column="14" selection-end-line="17" selection-end-column="14" />
<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="170">
<caret line="10" column="19" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<state relative-caret-position="72">
<caret line="68" column="13" selection-start-line="68" selection-start-column="13" selection-end-line="68" selection-end-column="13" />
<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="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>
</provider>
</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>();
//TODO
return wetten;
}
}

View File

@ -1,16 +1,10 @@
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 static void main(String[] args) throws InterruptedException {
System.out.println("Initialisiere...");
RennSimulator rennSimulator = new RennSimulator();
Wettbüro büro = new Wettbüro();
try {
Rennstrecke rennstrecken[] = {
@ -48,33 +42,35 @@ public class Program {
};
Person personen[] = {
büro.registrierePerson("Person 1", 1234),
büro.registrierePerson("Person 2", 12345),
büro.registrierePerson("Person 3", 123),
büro.registrierePerson("Person 4", 4444),
büro.registrierePerson("Person 5", 1500),
büro.registrierePerson("Person 6", 8123),
büro.registrierePerson("Person 7", 1000),
büro.registrierePerson("Person 8", 5555)
rennSimulator.getWettbüro().registrierePerson("Person 1", 1234),
rennSimulator.getWettbüro().registrierePerson("Person 2", 12345),
rennSimulator.getWettbüro().registrierePerson("Person 3", 123),
rennSimulator.getWettbüro().registrierePerson("Person 4", 4444),
rennSimulator.getWettbüro().registrierePerson("Person 5", 1500),
rennSimulator.getWettbüro().registrierePerson("Person 6", 8123),
rennSimulator.getWettbüro().registrierePerson("Person 7", 1000),
rennSimulator.getWettbüro().registrierePerson("Person 8", 5555)
};
bü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);
bü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[0], rennen[0], rennen[0].schnecken[0], 100);
rennSimulator.getWettbüro().wetteAbschließen(personen[1], rennen[0], rennen[0].schnecken[0], 100);
rennSimulator.getWettbüro().wetteAbschließen(personen[2], rennen[0], rennen[0].schnecken[0], 100);
rennSimulator.getWettbüro().wetteAbschließen(personen[3], rennen[0], rennen[0].schnecken[0], 100);
}
catch (NameBereitsVergebenException ex)
{
System.out.println("Fehler beim Initialisieren: " + ex.toString());
return;
}
catch (ZuWenigGeldException ex)
catch (Exception ex)
{
System.out.println("Fehler beim Initialisieren: " + ex.toString());
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.");
}

View File

@ -1,17 +1,24 @@
package ninja.brunner.pgtl.program3;
import ninja.brunner.pgtl.program3.exceptions.NameBereitsVergebenException;
import java.util.ArrayList;
public class RennSimulator {
private Wettbüro wettbüro;
private ArrayList<Rennstrecke> rennstrecken;
private ArrayList<Schnecke> schnecken;
private ArrayList<Rennen> rennen;
private boolean changesAllowed;
public Wettbüro getWettbüro() {
return wettbüro;
}
public RennSimulator()
{
wettbüro = new Wettbüro();
rennstrecken = new ArrayList<Rennstrecke>();
schnecken = new ArrayList<Schnecke>();
rennen = new ArrayList<Rennen>();
@ -19,30 +26,39 @@ public class RennSimulator {
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)
if(rennstrecke.name == name)
throw new NameBereitsVergebenException();
throw new Exception("Name bereits vergeben!");
Rennstrecke rennstrecke = new Rennstrecke(name, length);
rennstrecken.add(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)
if(schnecke.name == name)
throw new NameBereitsVergebenException();
throw new Exception("Name bereits vergeben!");
Schnecke schnecke = new Schnecke(name);
schnecken.add(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)
if(_rennen.name == name)
throw new NameBereitsVergebenException();
throw new Exception("Name bereits vergeben!");
Rennen _rennen = new Rennen(name, rennstrecke, schnecken);
rennen.add(_rennen);
@ -53,7 +69,7 @@ public class RennSimulator {
try {
rennen.begin();
//TODO
while(rennen.schritt());
rennen.cleanup();
}
@ -67,6 +83,21 @@ public class RennSimulator {
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;
import ninja.brunner.pgtl.program3.exceptions.StreckeNichtFreiException;
import ninja.brunner.pgtl.program3.exceptions.SchneckeNichtFreiException;
import ninja.brunner.pgtl.program3.exceptions.RennenNichtAktivException;
public class Rennen {
String name;
Rennstrecke rennStrecke;
@ -20,28 +16,37 @@ public class Rennen {
this.currentlyRenning = false;
}
public void begin() throws StreckeNichtFreiException, SchneckeNichtFreiException {
if(rennStrecke.currentRennen != null)
throw new StreckeNichtFreiException();
public void begin() throws Exception {
System.out.println("Begine Rennen \"" + name + "\"");
if(currentlyRenning)
throw new Exception("Rennen bereits aktiv!");
rennStrecke.begin(this);
for(Schnecke schnecke : schnecken)
if(schnecke.currentRennen != null)
throw new SchneckeNichtFreiException();
schnecke.begin(this);
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)
throw new RennenNichtAktivException();
throw new Exception("Rennen nicht aktiv!");
currentlyRenning = false;
rennStrecke.currentRennen = null;
rennStrecke.cleanup();
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;
}
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;
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;
import java.util.ArrayList;
import ninja.brunner.pgtl.program3.exceptions.ZuWenigGeldException;
public class Wettbüro {
public ArrayList<Person> personen;
@ -12,11 +11,11 @@ public class Wettbüro {
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)
throw new ZuWenigGeldException();
throw new Exception("Zu wenig Geld!");
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 {
}