backing up

This commit is contained in:
2020-12-10 20:07:23 -07:00
parent 927fd0f64d
commit 63f158afd9
18 changed files with 268 additions and 77 deletions

View File

@@ -22,7 +22,6 @@
<e p="SquareCell.cs" t="Include" />
<e p="SquareMap.cs" t="Include" />
</e>
<e p="Module.cs" t="Include" />
<e p="obj" t="ExcludeRecursive">
<e p="Debug" t="Include">
<e p="netcoreapp3.1" t="Include">

View File

@@ -15,22 +15,14 @@
</component>
<component name="ChangeListManager">
<list default="true" id="dafcaeb7-80aa-43a3-a480-786fafb78c0b" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/HexCell.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/HexMap.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/IHexCell.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/IHexMap.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/ISquareCell.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/ISquareMap.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/SquareCell.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/SquareMap.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.RobotIntelFinal/.idea/contentModel.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.RobotIntelFinal/.idea/contentModel.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.RobotIntelFinal/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.RobotIntelFinal/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Bootstrapper.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Bootstrapper.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/ISimRunner.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/ISimRunner.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/IMapFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/IMapFactory.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/MapFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/MapFactory.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/CoreModule.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/CoreModule.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/HexCell.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/HexCell.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/SquareCell.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/SquareCell.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/SquareMap.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/SquareMap.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Module.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Program.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Program.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/SimRunner.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/SimRunner.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/UserConsole.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/UserConsole.cs" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -56,24 +48,24 @@
<option value="$PROJECT_DIR$/Simulator/Networking/NetworkInterface.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/IUserConsole.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Module.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/CoreModule.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/MapFactory.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/UserConsole.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/IMapFactory.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Bootstrapper.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/IMapFactory.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/ISimRunner.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/SimRunner.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Program.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/MapFactory.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/SquareMap.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/HexMap.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/IHexMap.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/ISquareMap.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/HexCell.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/IHexCell.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/SquareCell.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/ISquareCell.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/SquareCell.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/HexCell.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/UserConsole.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Program.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/CoreModule.cs" />
</list>
</option>
</component>
@@ -86,8 +78,11 @@
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="DebuggerViewTab_PTCS_FirstProportionKey" value="0.3496007" />
<property name="DebuggerViewTab_PTCS_LastProportionKey" value="0.29991126" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="settings.editor.selected.configurable" value="SolutionBuilderGeneralOptionsPageId" />
<property name="vue.rearranger.settings.migration" value="true" />
</component>
<component name="RunManager" selected=".NET Project.ConsoleApp">
@@ -137,6 +132,9 @@
<option name="presentableId" value="Default" />
<updated>1607286398679</updated>
<workItem from="1607286402206" duration="6845000" />
<workItem from="1607640133651" duration="318000" />
<workItem from="1607640470920" duration="58000" />
<workItem from="1607640550443" duration="960000" />
</task>
<servers />
</component>
@@ -161,31 +159,117 @@
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
</component>
<component name="WindowStateProjectService">
<state width="1158" height="582" key="GridCell.Tab.0.bottom" timestamp="1607636097456">
<state width="1158" height="581" key="GridCell.Tab.0.bottom" timestamp="1607641379864">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="582" key="GridCell.Tab.0.bottom/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607636097456" />
<state width="1158" height="582" key="GridCell.Tab.0.center" timestamp="1607636097453">
<state width="1158" height="581" key="GridCell.Tab.0.bottom/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607641114775" />
<state width="1158" height="717" key="GridCell.Tab.0.bottom/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483925" />
<state width="1158" height="581" key="GridCell.Tab.0.bottom/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607641379864" />
<state width="1158" height="581" key="GridCell.Tab.0.center" timestamp="1607641379862">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="582" key="GridCell.Tab.0.center/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607636097453" />
<state width="1158" height="582" key="GridCell.Tab.0.left" timestamp="1607636097452">
<state width="1158" height="581" key="GridCell.Tab.0.center/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607641114773" />
<state width="1158" height="717" key="GridCell.Tab.0.center/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483923" />
<state width="1158" height="581" key="GridCell.Tab.0.center/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607641379862" />
<state width="1158" height="581" key="GridCell.Tab.0.left" timestamp="1607641379861">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="582" key="GridCell.Tab.0.left/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607636097452" />
<state width="1158" height="582" key="GridCell.Tab.0.right" timestamp="1607636097454">
<state width="1158" height="581" key="GridCell.Tab.0.left/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607641114772" />
<state width="1158" height="717" key="GridCell.Tab.0.left/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483923" />
<state width="1158" height="581" key="GridCell.Tab.0.left/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607641379861" />
<state width="1158" height="581" key="GridCell.Tab.0.right" timestamp="1607641379863">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="582" key="GridCell.Tab.0.right/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607636097454" />
<state x="1640" y="-86" key="Rider.ProjectTemplateDialog.Size" timestamp="1607287214952">
<state width="1158" height="581" key="GridCell.Tab.0.right/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607641114774" />
<state width="1158" height="717" key="GridCell.Tab.0.right/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483924" />
<state width="1158" height="581" key="GridCell.Tab.0.right/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607641379863" />
<state width="1158" height="738" key="GridCell.Tab.1.bottom" timestamp="1607640745266">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.1.bottom/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745266" />
<state width="1158" height="717" key="GridCell.Tab.1.bottom/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483781" />
<state width="1158" height="738" key="GridCell.Tab.1.bottom/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704043" />
<state width="1158" height="738" key="GridCell.Tab.1.center" timestamp="1607640745263">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.1.center/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745263" />
<state width="1158" height="717" key="GridCell.Tab.1.center/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483781" />
<state width="1158" height="738" key="GridCell.Tab.1.center/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704040" />
<state width="1158" height="738" key="GridCell.Tab.1.left" timestamp="1607640745262">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.1.left/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745262" />
<state width="1158" height="717" key="GridCell.Tab.1.left/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483780" />
<state width="1158" height="738" key="GridCell.Tab.1.left/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704038" />
<state width="1158" height="738" key="GridCell.Tab.1.right" timestamp="1607640745264">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.1.right/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745264" />
<state width="1158" height="717" key="GridCell.Tab.1.right/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483781" />
<state width="1158" height="738" key="GridCell.Tab.1.right/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704041" />
<state width="1158" height="738" key="GridCell.Tab.2.bottom" timestamp="1607640745280">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.2.bottom/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745280" />
<state width="1158" height="717" key="GridCell.Tab.2.bottom/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483782" />
<state width="1158" height="738" key="GridCell.Tab.2.bottom/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704050" />
<state width="1158" height="738" key="GridCell.Tab.2.center" timestamp="1607640745275">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.2.center/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745275" />
<state width="1158" height="717" key="GridCell.Tab.2.center/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483782" />
<state width="1158" height="738" key="GridCell.Tab.2.center/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704048" />
<state width="1158" height="738" key="GridCell.Tab.2.left" timestamp="1607640745274">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.2.left/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745274" />
<state width="1158" height="717" key="GridCell.Tab.2.left/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483781" />
<state width="1158" height="738" key="GridCell.Tab.2.left/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704046" />
<state width="1158" height="738" key="GridCell.Tab.2.right" timestamp="1607640745277">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.2.right/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745277" />
<state width="1158" height="717" key="GridCell.Tab.2.right/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483782" />
<state width="1158" height="738" key="GridCell.Tab.2.right/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704049" />
<state width="1158" height="738" key="GridCell.Tab.3.bottom" timestamp="1607640745288">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.3.bottom/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745288" />
<state width="1158" height="717" key="GridCell.Tab.3.bottom/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483784" />
<state width="1158" height="738" key="GridCell.Tab.3.bottom/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704055" />
<state width="1158" height="738" key="GridCell.Tab.3.center" timestamp="1607640745286">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.3.center/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745286" />
<state width="1158" height="717" key="GridCell.Tab.3.center/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483783" />
<state width="1158" height="738" key="GridCell.Tab.3.center/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704053" />
<state width="1158" height="738" key="GridCell.Tab.3.left" timestamp="1607640745282">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.3.left/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745282" />
<state width="1158" height="717" key="GridCell.Tab.3.left/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483783" />
<state width="1158" height="738" key="GridCell.Tab.3.left/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704052" />
<state width="1158" height="738" key="GridCell.Tab.3.right" timestamp="1607640745287">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state width="1158" height="738" key="GridCell.Tab.3.right/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640745287" />
<state width="1158" height="717" key="GridCell.Tab.3.right/0.25.1440.798/2640.-757.1200.1895/1440.-757.1200.1895@1440.-757.1200.1895" timestamp="1607639483784" />
<state width="1158" height="738" key="GridCell.Tab.3.right/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640704054" />
<state x="1640" y="-86" key="Rider.ProjectTemplateDialog.Size" timestamp="1607640243485">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state x="1640" y="-86" key="Rider.ProjectTemplateDialog.Size/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607286605974" />
<state x="1640" y="-86" key="Rider.ProjectTemplateDialog.Size/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607287214952" />
<state x="1640" y="-86" key="Rider.ProjectTemplateDialog.Size/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640243485" />
<state x="1860" y="-144" key="RiderGenerateDialog" timestamp="1607636510472">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state x="1860" y="-144" key="RiderGenerateDialog/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607636510472" />
<state x="1549" y="-186" key="SettingsEditor" timestamp="1607640461977">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>
<state x="1549" y="-186" key="SettingsEditor/0.0.1440.900/2640.-782.1200.1920/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640461977" />
<state x="1549" y="-186" key="SettingsEditor/0.25.1440.798/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607640274923" />
<state x="1549" y="-186" key="SettingsEditor/0.25.1440.875/2640.-757.1200.1895/1440.-782.1200.1920@1440.-782.1200.1920" timestamp="1607639999828" />
<state x="1703" y="-333" width="672" height="678" key="search.everywhere.popup" timestamp="1607633696072">
<screen x="1440" y="-782" width="1200" height="1920" />
</state>

View File

@@ -1,17 +1,18 @@
using System.Threading;
using ConsoleApp;
using ConsoleApp.Maps;
using DryIoc;
using Module = ConsoleApp.Module;
namespace Final
namespace ConsoleApp
{
public class CoreModule : Module
public class CoreModule : IModule
{
public virtual void Register(IContainer container, ExecutionContext executionContext)
public virtual void Register(IContainer container)
{
//container.Register<IUserConsole, UserConsole>(Reuse.Singleton);
container.Register<IMapFactory, MapFactory>(Reuse.Singleton);
container.Register<ISimRunner, SimRunner>(Reuse.Singleton);
}
public virtual void Resolve(IContainer container)
{

View File

@@ -0,0 +1,15 @@
using System;
namespace ConsoleApp.Maps
{
public class Direction
{
public static Tuple<int, int> Forward => _forward;
public static Tuple<int, int> Reverse => _reverse;
private static Tuple<int,int> _forward = new Tuple<int, int>(1, 0);
private static Tuple<int,int> _reverse = new Tuple<int, int>(-1, 0);
}
}

View File

@@ -0,0 +1,38 @@
namespace ConsoleApp.Maps
{
public class Heading
{
private (int, int) _currentHeading;
public (int, int) CurrentHeading { get; }
public void SetHeading((int,int)frontAxel, (int,int)backAxel)
{
var x = frontAxel.Item1 - backAxel.Item1;
var y = frontAxel.Item2 - backAxel.Item2;
//forward
if (x == 0 && y >= 1) _currentHeading = (0, 1);
//backward
if (x == 0 && y <= -1) _currentHeading = (0, -1);
//right
if (x >= 1 && y == 0) _currentHeading = (1, 0);
//left
if (x <= -1 && y == 0) _currentHeading = (-1, 0);
//left, back
if (x <= -1 && y <= -1) _currentHeading = (-1, -1);
//right, forward
if (x >= 1 && y >= 1) _currentHeading = (1, 1);
//left, forward
if (x <= -1 && y >= 1) _currentHeading = (-1, 1);
//right, back
if (x >= 1 && y <= -1) _currentHeading = (1, -1);
}
public Heading()
{
_currentHeading = (1,0);
CurrentHeading = _currentHeading;
}
}
}

View File

@@ -1,6 +1,6 @@
namespace ConsoleApp
{
public class HexCell
public struct HexCell
{
}

7
ConsoleApp/Maps/ICell.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace ConsoleApp.Maps
{
public interface ICell
{
}
}

9
ConsoleApp/Maps/IMap.cs Normal file
View File

@@ -0,0 +1,9 @@
using System.Collections.Generic;
namespace ConsoleApp.Maps
{
public interface IMap
{
public List<ICell> PossibleMoves();
}
}

View File

@@ -0,0 +1,7 @@
namespace ConsoleApp.Maps
{
public interface IMapManager
{
}
}

View File

@@ -1,7 +1,8 @@
namespace ConsoleApp.Maps
{
public interface ISquareCell
public interface ISquareCell : ICell
{
int X { get; }
int Y { get; }
}
}

View File

@@ -14,7 +14,7 @@ namespace ConsoleApp.Maps
{
Width = x;
Height = y;
throw new System.NotImplementedException();
new SquareMap(x, y);
}
public MapFactory()

View File

@@ -0,0 +1,6 @@
namespace ConsoleApp.Maps
{
public class MapManager : IMapManager
{
}
}

View File

@@ -1,7 +1,14 @@
namespace ConsoleApp.Maps
{
public class SquareCell
public struct SquareCell : ISquareCell
{
public int X { get; }
public int Y { get; }
public SquareCell(int x, int y)
{
X = x;
Y = y;
}
}
}

View File

@@ -1,7 +1,37 @@
using System;
using System.Collections.Generic;
namespace ConsoleApp.Maps
{
public class SquareMap
public class SquareMap : ISquareMap
{
public SquareCell[,] Map { get;}
public SquareMap(int x, int y)
{
Map = new SquareCell[x,y];
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
Map[i,j] = new SquareCell(i, j);
}
}
}
public List<ICell> PossibleMoves(SquareCell myCell)
{
var forward = (myCell.X , myCell.Y + 1);
var backwards= (myCell.X , myCell.Y - 1);
var right = (myCell.X + 1, myCell.Y);
var left = (myCell.X - 1, myCell.Y);
var possibles = new List<ICell>();
possibles.Add(Map[forward.Item1, forward.Item2]);
possibles.Add(Map[backwards.Item1, backwards.Item2]);
possibles.Add(Map[right.Item1, right.Item2]);
possibles.Add(Map[left.Item1, left.Item2]);
return possibles;
}
}
}

View File

@@ -1,21 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Collections.Generic;
using DryIoc;
namespace ConsoleApp
{
public abstract class Module : IModule
{
public virtual void Register(IContainer container)
{
}
public virtual void Resolve(IContainer container)
{
}
}
}

View File

@@ -10,12 +10,12 @@ namespace ConsoleApp
static void Main(string[] args)
{
_bootstrapper = new BootStrapper();
_bootstrapper = BootStrapper.BootstrapSystem(new CoreModule());
_userConsole = new UserConsole();
StartSimulation();
Initialization();
}
private static void StartSimulation()
private static void Initialization()
{
_userConsole.PrintStartMenu();
var input = _userConsole.GetUserInput();
@@ -27,14 +27,14 @@ namespace ConsoleApp
else
{
_userConsole.PrintInvalidInput();
StartSimulation();
Initialization();
}
}
private static void RunSimulation(int x,int y)
{
var simRunner = _bootstrapper.Resolve<ISimRunner>();
var mapFactory = _bootstrapper.Resolve<IMapFactory>();
var simRunner = _bootstrapper.Resolve<ISimRunner>();
mapFactory.GenerateMaps(x, y);
simRunner.Run();

View File

@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using ConsoleApp.Maps;
@@ -28,18 +29,22 @@ namespace ConsoleApp
public (int width, int height) GetMapDimensions()
{
Console.WriteLine($"Enter Dimensions of map/area to clear as (x, y)");
var input = GetUserInput();
var numbers = input.Split();
if (numbers.Length != 4)
Console.WriteLine($"Enter map height: ");
var x = GetUserInput();
if (!int.TryParse(x, out var width))
{
PrintInvalidInput();
GetMapDimensions();
}
var parsedNumbers = numbers.Where(x => !(x.Equals("(") || x.Equals(")"))).ToList();
int.TryParse(parsedNumbers[0], out var width);
int.TryParse(parsedNumbers[1], out var height);
Console.WriteLine($"Enter map height: ");
var y = GetUserInput();
if(!int.TryParse(y, out var height))
{
PrintInvalidInput();
GetMapDimensions();
}
return (width, height);
}
}

View File

@@ -0,0 +1,3 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Int64 x:Key="/Default/Environment/Hierarchy/Build/BuildTool/MsbuildVersion/@EntryValue">1048576</s:Int64>
<s:String x:Key="/Default/Environment/Hierarchy/Build/BuildTool/CustomBuildToolPath/@EntryValue">/Users/brady.bodily/.dotnet/sdk/3.1.402/MSBuild.dll</s:String></wpf:ResourceDictionary>