drobne modyfikacje kodu oraz komentarze

This commit is contained in:
tomasz 2020-05-12 20:39:36 +02:00
parent 162c9394a7
commit 97b64f4f02
31 changed files with 715 additions and 22 deletions

13
.idea/AI.iml Normal file
View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="R User Library" level="project" />
<orderEntry type="library" name="R Skeletons" level="application" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
</component>
</module>

4
.idea/encodings.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>

View File

@ -0,0 +1,6 @@
<component name="libraryTable">
<library name="R User Library">
<CLASSES />
<SOURCES />
</library>
</component>

4
.idea/misc.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/AI.iml" filepath="$PROJECT_DIR$/.idea/AI.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

602
.idea/workspace.xml Normal file
View File

@ -0,0 +1,602 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="8264ee8d-5217-4cb6-b982-78f67fabc82e" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/genetyczny/Data.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/genetyczny/metody.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/AStar.py" beforeDir="false" afterPath="$PROJECT_DIR$/AStar.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/opis/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/box.py" beforeDir="false" afterPath="$PROJECT_DIR$/Mapa/box.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/boxOnTheFloor.py" beforeDir="false" afterPath="$PROJECT_DIR$/Mapa/boxOnTheFloor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/environment.md" beforeDir="false" afterPath="$PROJECT_DIR$/opis/environment.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/floor.py" beforeDir="false" afterPath="$PROJECT_DIR$/Mapa/floor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/generate.py" beforeDir="false" afterPath="$PROJECT_DIR$/Mapa/generate.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/neurons.py" beforeDir="false" afterPath="$PROJECT_DIR$/neurons.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/program.py" beforeDir="false" afterPath="$PROJECT_DIR$/program.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/route-planning.md" beforeDir="false" afterPath="$PROJECT_DIR$/opis/route-planning.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/shelf.py" beforeDir="false" afterPath="$PROJECT_DIR$/Mapa/shelf.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/unboxOnTheFloor.py" beforeDir="false" afterPath="$PROJECT_DIR$/Mapa/unboxOnTheFloor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/wall.py" beforeDir="false" afterPath="$PROJECT_DIR$/Mapa/wall.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/wheel.py" beforeDir="false" afterPath="$PROJECT_DIR$/wheel.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/whereDecision.py" beforeDir="false" afterPath="$PROJECT_DIR$/whereDecision.py" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/program.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="54">
<caret line="55" selection-start-line="55" selection-end-line="55" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/wheel.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="527">
<caret line="37" selection-start-line="37" selection-end-line="37" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Mapa/shelf.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="14" column="23" selection-start-line="14" selection-start-column="23" selection-end-line="14" selection-end-column="23" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="36" column="24" selection-start-line="36" selection-start-column="24" selection-end-line="36" selection-end-column="24" />
<folding>
<element signature="e#0#21#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/neurons.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="35" column="9" selection-start-line="35" selection-start-column="9" selection-end-line="35" selection-end-column="9" />
<folding>
<element signature="e#0#12#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/AStar.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-83">
<caret line="48" selection-start-line="48" selection-end-line="48" />
<folding>
<element signature="e#0#12#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Mapa/floor.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" selection-start-line="9" selection-end-line="9" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/whereDecision.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="427">
<caret line="62" selection-start-line="62" selection-end-line="62" />
<folding>
<element signature="e#0#19#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/genetyczny/metody.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="2" lean-forward="true" selection-start-line="2" selection-end-line="2" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/genetyczny/Data.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="85">
<caret line="5" column="12" selection-start-line="5" selection-start-column="12" selection-end-line="5" selection-end-column="12" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>whereDecisio</find>
<find>toVisit</find>
<find>dra</find>
<find>neuro</find>
<find>where</find>
<find>regals</find>
<find>isOccupied</find>
<find>print</find>
<find>regal</find>
<find>whee</find>
<find>returnPath</find>
<find>10</find>
<find>regalsik</find>
<find>#</find>
</findStrings>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="RECENT_BRANCH_BY_REPOSITORY">
<map>
<entry key="$PROJECT_DIR$" value="master" />
</map>
</option>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/unboxOnTheFloor.py" />
<option value="$PROJECT_DIR$/generate.py" />
<option value="$PROJECT_DIR$/julian.py" />
<option value="$PROJECT_DIR$/whereDecision.py" />
<option value="$PROJECT_DIR$/dodatkoweMetody.py" />
<option value="$PROJECT_DIR$/Mapa/generate.py" />
<option value="$PROJECT_DIR$/wheel.py" />
<option value="$PROJECT_DIR$/Data.py" />
<option value="$PROJECT_DIR$/genetyczny/Data.py" />
<option value="$PROJECT_DIR$/main.py" />
<option value="$PROJECT_DIR$/neurons.py" />
<option value="$PROJECT_DIR$/AStar.py" />
<option value="$PROJECT_DIR$/program.py" />
<option value="$PROJECT_DIR$/genetyczny/metody.py" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="1">
<option name="x" value="2150" />
<option name="y" value="142" />
<option name="width" value="1296" />
<option name="height" value="840" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="AI" type="b2602c69:ProjectViewProjectNode" />
<item name="AI" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="AI" type="b2602c69:ProjectViewProjectNode" />
<item name="AI" type="462c0819:PsiDirectoryNode" />
<item name="genetyczny" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="AI" type="b2602c69:ProjectViewProjectNode" />
<item name="AI" type="462c0819:PsiDirectoryNode" />
<item name="Mapa" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\zwyklak\Desktop\AI\genetyczny" />
<recent name="C:\Users\zwyklak\Desktop\AI\opis" />
<recent name="C:\Users\zwyklak\Desktop\AI\Mapa" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="Python.main">
<configuration name="AStar" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="AI" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/AStar.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="generate" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="AI" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="C:\Users\zwyklak\Desktop\AI\Mapa\generate.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="julian" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="AI" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/julian.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="main" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="AI" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/main.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="neurons" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="AI" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/neurons.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.main" />
<item itemvalue="Python.julian" />
<item itemvalue="Python.generate" />
<item itemvalue="Python.neurons" />
<item itemvalue="Python.AStar" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="8264ee8d-5217-4cb6-b982-78f67fabc82e" name="Default Changelist" comment="" />
<created>1588070561873</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1588070561873</updated>
</task>
<servers />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="2150" y="142" width="1296" height="840" extended-state="1" />
<editor active="true" />
<layout>
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.32119742" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.3279003" />
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.49932885" weight="0.22243528" />
<window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.65912306" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.3286119" />
<window_info anchor="bottom" id="Version Control" order="7" weight="0.3286119" />
<window_info anchor="bottom" id="Terminal" order="8" weight="0.3286119" />
<window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.50067115" side_tool="true" weight="0.3286119" />
<window_info anchor="bottom" id="Python Console" order="10" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="right" id="R Graphics" order="3" />
<window_info anchor="right" id="R Packages" order="4" />
</layout>
<layout-to-restore>
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.24871466" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.3286119" />
<window_info active="true" anchor="bottom" id="Run" order="2" sideWeight="0.49932885" visible="true" weight="0.22243528" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.44759208" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.3286119" />
<window_info anchor="bottom" id="Version Control" order="7" weight="0.3286119" />
<window_info anchor="bottom" id="Terminal" order="8" weight="0.3286119" />
<window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.50067115" side_tool="true" weight="0.3286119" />
<window_info anchor="bottom" id="Python Console" order="10" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="right" id="R Graphics" order="3" />
<window_info anchor="right" id="R Packages" order="4" />
</layout-to-restore>
</component>
<component name="XDebuggerManager">
<watches-manager>
<configuration name="PythonConfigurationType">
<watch expression="all" />
<watch expression="startNode" />
</configuration>
</watches-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/opis/environment.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="-612" />
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/images/sc.png">
<provider selected="true" editor-type-id="images" />
</entry>
<entry file="file://$PROJECT_DIR$/opis/route-planning.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor />
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/julian.py" />
<entry file="file://$PROJECT_DIR$/Mapa/wall.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="187">
<caret line="11" column="26" selection-start-line="11" selection-start-column="26" selection-end-line="11" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/dodatkoweMetody.py" />
<entry file="file://$PROJECT_DIR$/Mapa/unboxOnTheFloor.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="8" selection-start-line="8" selection-end-line="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Evencik.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/genetyczny/__init__.py" />
<entry file="file://$PROJECT_DIR$/Mapa/boxOnTheFloor.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/Mapa/generate.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2992">
<caret line="176" column="8" selection-start-line="176" selection-start-column="8" selection-end-line="176" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Mapa/box.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="36" column="24" selection-start-line="36" selection-start-column="24" selection-end-line="36" selection-end-column="24" />
<folding>
<element signature="e#0#21#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/neurons.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="35" column="9" selection-start-line="35" selection-start-column="9" selection-end-line="35" selection-end-column="9" />
<folding>
<element signature="e#0#12#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/AStarState.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/AStar.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-83">
<caret line="48" selection-start-line="48" selection-end-line="48" />
<folding>
<element signature="e#0#12#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/images/wop.png">
<provider selected="true" editor-type-id="images" />
</entry>
<entry file="file://$PROJECT_DIR$/images/wo.png">
<provider selected="true" editor-type-id="images" />
</entry>
<entry file="file://$PROJECT_DIR$/wheel.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="527">
<caret line="37" selection-start-line="37" selection-end-line="37" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Mapa/shelf.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="14" column="23" selection-start-line="14" selection-start-column="23" selection-end-line="14" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/genetyczny/Data.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="85">
<caret line="5" column="12" selection-start-line="5" selection-start-column="12" selection-end-line="5" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/genetyczny/metody.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="2" lean-forward="true" selection-start-line="2" selection-end-line="2" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/whereDecision.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="427">
<caret line="62" selection-start-line="62" selection-end-line="62" />
<folding>
<element signature="e#0#19#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Mapa/floor.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" selection-start-line="9" selection-end-line="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/program.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="54">
<caret line="55" selection-start-line="55" selection-end-line="55" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

View File

@ -16,8 +16,8 @@ class AStar:
result[path[i][0]][path[i][1]] = startValue result[path[i][0]][path[i][1]] = startValue
startValue+=1 startValue+=1
return result return result
######################################################### w current jest koszt do przebycia
def search(self, start, end, grid, cost): def search(self, start, end, grid, cost): #start to kordy wózka, end miejsce podjęcia paczki
noRows, noColumns = numpy.shape(grid) noRows, noColumns = numpy.shape(grid)
startNode = AStarState(None, tuple(start)) startNode = AStarState(None, tuple(start))
endNode = AStarState(None, tuple(end)) endNode = AStarState(None, tuple(end))
@ -46,10 +46,11 @@ class AStar:
visited.append(current) visited.append(current)
toVisit.pop(currentIndeks) toVisit.pop(currentIndeks)
if current==endNode: if current==endNode:
return self.returnPath(current, grid) return self.returnPath(current, grid) #zwracanie wagi przejscia
children = [] children = []
for new in moves: for new in moves:
positions = (current.position[0]+new[0], current.position[1]+new[1]) positions = (current.position[0]+new[0], current.position[1]+new[1])
if (positions[0] > (noRows - 1) or if (positions[0] > (noRows - 1) or
positions[0] < 0 or positions[0] < 0 or
positions[1] > (noColumns - 1) or positions[1] > (noColumns - 1) or
@ -57,16 +58,21 @@ class AStar:
continue continue
if grid[positions[0]][positions[1]]!=0: if grid[positions[0]][positions[1]]!=0:
continue continue
children.append(AStarState(current, positions)) children.append(AStarState(current, positions))
for child in children: for child in children:
if len([visitedChild for visitedChild in visited if visitedChild==child])>0: if len([visitedChild for visitedChild in visited if visitedChild==child])>0:
continue continue
if child.position[0]<=(len(grid)-4) and child.position[0]>=3 and child.position[1]>=4 and child.position[1]<=(len(grid[0])-1): if child.position[0]<=(len(grid)-4) and child.position[0]>=3 and child.position[1]>=4 and child.position[1]<=(len(grid[0])-1):
child.g = current.g + (10 * cost) child.g = current.g + (10 * cost)
else: else:
child.g = current.g + cost child.g = current.g + cost
child.h = (((child.position[0]-endNode.position[0]) ** 2) + ((child.position[1]-endNode.position[1]) ** 2)) child.h = (((child.position[0]-endNode.position[0]) ** 2) + ((child.position[1]-endNode.position[1]) ** 2))
child.f = child.g + child.h child.f = child.g + child.h
if len([i for i in toVisit if child==i and child.g>i.g])>0: if len([i for i in toVisit if child==i and child.g>i.g])>0:
continue continue
toVisit.append(child) toVisit.append(child)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -168,9 +168,13 @@ class Generate:
all[wysokosc-2][szerokosc-2] = 1 all[wysokosc-2][szerokosc-2] = 1
all[0][2] = 2 all[0][2] = 2
all[1][2] = 2 all[1][2] = 2
#zmiana miejsca zrzutu paczki, unboxOnTheFloor
#all[1][4] = 2
#all[0][4] = 23
#all[1][5] = 1
all[wysokosc-2][szerokosc-3] = 2 all[wysokosc-2][szerokosc-3] = 2
all[wysokosc-1][szerokosc-3] = 23 all[wysokosc-1][szerokosc-3] = 23
all[wysokosc-2][szerokosc-4] = 1 all[wysokosc-2][szerokosc-4] = 1
return all return all
x = Generate.generate(8, 9, 1, 1, 1, 1) #x = Generate.generate(8, 9, 1, 1, 1, 1)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,6 @@
class Data:
def __init__(self):
pass

Binary file not shown.

View File

@ -0,0 +1,11 @@
from Mapa.shelf import Shelf
from wheel import Wheel
def RandomBox(shelfs_, mapa_):
shelfs = shelfs_
mapa = mapa_
return mapa

10
main.py
View File

@ -6,6 +6,7 @@ def main():
good = False good = False
while (True): while (True):
good = True good = True
"""
fieldValues = multenterbox("Wprowadź warunki początkowe", "Start programu", ["Szerekość kraty (>=6)", "Wysokość kraty (>=7)", "Ilość regałów kruchych", "Ilość regałów łatwopalnych", "Ilość regałów radioaktywnych", "Ilość regałów niebezpiecznych"]) fieldValues = multenterbox("Wprowadź warunki początkowe", "Start programu", ["Szerekość kraty (>=6)", "Wysokość kraty (>=7)", "Ilość regałów kruchych", "Ilość regałów łatwopalnych", "Ilość regałów radioaktywnych", "Ilość regałów niebezpiecznych"])
if(fieldValues[0].isnumeric() and (fieldValues[0]!="")): if(fieldValues[0].isnumeric() and (fieldValues[0]!="")):
if(int(fieldValues[0])<=5): if(int(fieldValues[0])<=5):
@ -30,7 +31,14 @@ def main():
elif (good == True): elif (good == True):
msgbox("Wartość nie jest liczbą", "Błąd") msgbox("Wartość nie jest liczbą", "Błąd")
good = False good = False
"""
if good: if good:
window = MainWindow(int(fieldValues[0]), int(fieldValues[1]), int(fieldValues[2]), int(fieldValues[3]), int(fieldValues[4]), int(fieldValues[5])); szerokosc = 15 #min 6
wysokosc = 8 #min 7
kruche = 1
latwopalne = 1
radioaktywne = 1
niebezpieczne= 1
window = MainWindow(szerokosc, wysokosc, kruche, latwopalne, radioaktywne, niebezpieczne);
break break
main() main()

View File

@ -29,8 +29,11 @@ class Neurons:
if confidence > 0.5: if confidence > 0.5:
class_ids.append(class_id) class_ids.append(class_id)
print([classes[ids] for ids in class_ids])""" print([classes[ids] for ids in class_ids])"""
# randomowe przydzielanie typów paczek poki nie ma rozpoznawania paczki
x = [1, 0, 0, 0, 0] x = [1, 0, 0, 0, 0]
numpy.random.shuffle(x) #numpy.random.shuffle(x)
if x[0]==1: if x[0]==1:
print("Zwykła") print("Zwykła")
elif x[1]==1: elif x[1]==1:

View File

@ -1,19 +1,19 @@
import pygame import pygame
from os import sys from os import sys
from generate import Generate from Mapa.generate import Generate
from floor import Floor from Mapa.floor import Floor
from wall import Wall from Mapa.wall import Wall
from shelf import Shelf from Mapa.shelf import Shelf
from wheel import Wheel from wheel import Wheel
from boxOnTheFloor import BoxOnTheFloor from Mapa.boxOnTheFloor import BoxOnTheFloor
from box import Box from Mapa.box import Box
from unboxOnTheFloor import UnboxOnTheFloor from Mapa.unboxOnTheFloor import UnboxOnTheFloor
from AStar import AStar from AStar import AStar
import numpy
import easygui import easygui
from neurons import Neurons from neurons import Neurons
from whereDecision import WhereDecision from whereDecision import WhereDecision
from Evencik import Evencik from Evencik import Evencik
from genetyczny import metody
class MainWindow: class MainWindow:
def __init__(self, szerokosc, wysokosc, kruche, latwopalne, radioaktywne, niebezpieczne): def __init__(self, szerokosc, wysokosc, kruche, latwopalne, radioaktywne, niebezpieczne):
@ -33,6 +33,9 @@ class MainWindow:
self.whereDecision = WhereDecision() self.whereDecision = WhereDecision()
#create #create
self.wheel = Wheel(self.screen, self.cell); self.wheel = Wheel(self.screen, self.cell);
#przekladanie wartosci liczbowych z tablicy na mapę obiektow
for i in range(len(self.map)): for i in range(len(self.map)):
for j in range(len(self.map[i])): for j in range(len(self.map[i])):
if (self.map[i][j]==1): if (self.map[i][j]==1):
@ -44,11 +47,14 @@ class MainWindow:
elif (self.map[i][j]==23): elif (self.map[i][j]==23):
self.map[i][j] = UnboxOnTheFloor(self.screen, self.cell, i, j) self.map[i][j] = UnboxOnTheFloor(self.screen, self.cell, i, j)
self.mapForAStar[i][j] = 1 self.mapForAStar[i][j] = 1
else: else:
#regals (kordy i,j oraz rodzaj regału)
self.regals.append((i, j, (self.map[i][j]-3)//4)) self.regals.append((i, j, (self.map[i][j]-3)//4))
self.map[i][j] = Shelf(self.screen, self.cell, i, j, (self.map[i][j]-3)%4, (self.map[i][j]-3)//4) self.map[i][j] = Shelf(self.screen, self.cell, i, j, (self.map[i][j]-3)%4, (self.map[i][j]-3)//4)
self.mapForAStar[i][j] = 1 self.mapForAStar[i][j] = 1
#loop
#loop
while True: while True:
self.events() self.events()
self.draw() self.draw()
@ -66,6 +72,7 @@ class MainWindow:
elif (self.moves[0]==4): elif (self.moves[0]==4):
self.wheel.move(Evencik(pygame.K_RIGHT), self.map) self.wheel.move(Evencik(pygame.K_RIGHT), self.map)
self.moves.pop(0) self.moves.pop(0)
def events(self): def events(self):
for event in pygame.event.get(): for event in pygame.event.get():
if(event.type==pygame.QUIT): if(event.type==pygame.QUIT):
@ -76,8 +83,9 @@ class MainWindow:
elif(event.type==pygame.MOUSEBUTTONDOWN): elif(event.type==pygame.MOUSEBUTTONDOWN):
if (type(self.map[0][2]) == Floor): if (type(self.map[0][2]) == Floor):
whatIsIt = self.neurons.whatIsIt(easygui.fileopenbox("Wybierz zdjęcie paczki", "Wybierz zdjęcie paczki", filetypes = [["*.jpg", "*.jpeg", "*.png", "Pliki graficzne"]])) whatIsIt = self.neurons.whatIsIt(easygui.fileopenbox("Wybierz zdjęcie paczki", "Wybierz zdjęcie paczki", filetypes = [["*.jpg", "*.jpeg", "*.png", "Pliki graficzne"]]))
where = self.whereDecision.recognize(whatIsIt, self.regalsik()) where = self.whereDecision.recognize(whatIsIt, self.regalsik()) #kordy regalu
self.map[0][2] = BoxOnTheFloor(self.screen, self.cell, 0, 2, Box()) self.map[0][2] = BoxOnTheFloor(self.screen, self.cell, 0, 2, Box())
star = AStar() star = AStar()
path = star.search([self.wheel.ns, self.wheel.we], [0, 2], self.mapForAStar, 1) path = star.search([self.wheel.ns, self.wheel.we], [0, 2], self.mapForAStar, 1)
cns = self.wheel.ns cns = self.wheel.ns
@ -106,6 +114,8 @@ class MainWindow:
continue continue
break break
self.mapForAStar[where[0]][where[1]] = 0 self.mapForAStar[where[0]][where[1]] = 0
# wyszukiwanie ścieżki z miejsca podjęcia paczki do regału
# zmienna path posiada macierz oraz kroki podjęte przez wózek
path = star.search([0, 2], where, self.mapForAStar, 1) path = star.search([0, 2], where, self.mapForAStar, 1)
self.mapForAStar[where[0]][where[1]] = 1 self.mapForAStar[where[0]][where[1]] = 1
value = path[cns][cwe] value = path[cns][cwe]

View File

@ -1,12 +1,13 @@
import pygame import pygame
from floor import Floor from Mapa.floor import Floor
from boxOnTheFloor import BoxOnTheFloor from Mapa.boxOnTheFloor import BoxOnTheFloor
from unboxOnTheFloor import UnboxOnTheFloor from Mapa.unboxOnTheFloor import UnboxOnTheFloor
from shelf import Shelf from Mapa.shelf import Shelf
class Wheel: class Wheel:
def __init__(self, screen, cell): def __init__(self, screen, cell):
self.cell = cell self.cell = cell
#kordy wozka
self.ns = 1 self.ns = 1
self.we = 2 self.we = 2
self.direction = 3 self.direction = 3
@ -55,7 +56,7 @@ class Wheel:
elif(self.occupied==False and krata[self.ns+1][self.we].isOccupied()==True and krata[self.ns+1][self.we].kierunek==1): elif(self.occupied==False and krata[self.ns+1][self.we].isOccupied()==True and krata[self.ns+1][self.we].kierunek==1):
self.putBox(krata[self.ns+1][self.we].get()) self.putBox(krata[self.ns+1][self.we].get())
self.direction = 3 self.direction = 3
elif(type(krata[self.ns+1][self.we])==UnboxOnTheFloor): elif(type(krata[self.ns+1][self.we])==UnboxOnTheFloor): # Aktywacja unBoxOnTheFloor jak wózek najedzie na pole przed nim
if(self.ns+1==len(krata)-1): if(self.ns+1==len(krata)-1):
self.ns+=1 self.ns+=1
self.m_ns=self.cell*(-1) self.m_ns=self.cell*(-1)

View File

@ -59,4 +59,5 @@ class WhereDecision:
y = prenumeratorzy["lokacja"] y = prenumeratorzy["lokacja"]
drzewko = DecisionTreeClassifier(criterion="entropy") drzewko = DecisionTreeClassifier(criterion="entropy")
drzewko.fit(X=z, y=y) drzewko.fit(X=z, y=y)
return list(make_tuple(lokacja_kody[drzewko.predict(recognize)][0])) tmp = list(make_tuple(lokacja_kody[drzewko.predict(recognize)][0]))
return tmp