From 190bc48f1cac5dcf628a5353c7ab5a1bb6a8cbb4 Mon Sep 17 00:00:00 2001
From: Elias Leinenweber <elias.leinenweber@etu.unistra.fr>
Date: Mon, 29 Mar 2021 15:43:35 +0200
Subject: [PATCH] =?UTF-8?q?Avanc=C3=A9=20dans=20la=20map?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Wanderer.csproj           |  5 +++++
 model/Map.cs              | 13 +++++++++++++
 model/Terrain.cs          |  9 +++++++++
 model/Tile.cs             |  7 +++++++
 view/Controls/MapView.cs  | 18 ++++++++++++++++++
 view/Controls/TileView.cs | 29 +++++++++++++++++++++++++++++
 6 files changed, 81 insertions(+)
 create mode 100644 model/Map.cs
 create mode 100644 model/Terrain.cs
 create mode 100644 model/Tile.cs
 create mode 100644 view/Controls/MapView.cs
 create mode 100644 view/Controls/TileView.cs

diff --git a/Wanderer.csproj b/Wanderer.csproj
index 9018aef..93ab5ba 100644
--- a/Wanderer.csproj
+++ b/Wanderer.csproj
@@ -47,6 +47,11 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="model\Map.cs" />
+    <Compile Include="model\Terrain.cs" />
+    <Compile Include="model\Tile.cs" />
+    <Compile Include="view\Controls\MapView.cs" />
+    <Compile Include="view\Controls\TileView.cs" />
     <Compile Include="view\FormAide.cs">
       <SubType>Form</SubType>
     </Compile>
diff --git a/model/Map.cs b/model/Map.cs
new file mode 100644
index 0000000..e4d7f20
--- /dev/null
+++ b/model/Map.cs
@@ -0,0 +1,13 @@
+namespace Wanderer
+{
+    public class Map
+    {
+        private Tile[,] _tiles;
+
+        public Tile[,] Tiles
+        {
+            get => _tiles;
+            set => _tiles = value;
+        }
+    }
+}
\ No newline at end of file
diff --git a/model/Terrain.cs b/model/Terrain.cs
new file mode 100644
index 0000000..7a07c1f
--- /dev/null
+++ b/model/Terrain.cs
@@ -0,0 +1,9 @@
+namespace Wanderer
+{
+    public enum Terrain
+    {
+        Plains,
+        Hills,
+        Mountains
+    }
+}
\ No newline at end of file
diff --git a/model/Tile.cs b/model/Tile.cs
new file mode 100644
index 0000000..ed08678
--- /dev/null
+++ b/model/Tile.cs
@@ -0,0 +1,7 @@
+namespace Wanderer
+{
+    public class Tile
+    {
+        public Terrain Terrain { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/view/Controls/MapView.cs b/view/Controls/MapView.cs
new file mode 100644
index 0000000..af665ca
--- /dev/null
+++ b/view/Controls/MapView.cs
@@ -0,0 +1,18 @@
+using System.Windows.Forms;
+
+namespace Wanderer.view.Controls
+{
+    public class MapView : TableLayoutPanel
+    {
+        private TileView[,] tileViews;
+
+        public MapView(Map map)
+        {
+            for (int i = 0; i < map.Tiles.GetLength(0); ++i)
+                for (int j = 0; j < map.Tiles.GetLength(1); ++j)
+                {
+                    tileViews[i, j] = new TileView(map.Tiles[i, j]);
+                }
+        }
+    }
+}
\ No newline at end of file
diff --git a/view/Controls/TileView.cs b/view/Controls/TileView.cs
new file mode 100644
index 0000000..7f33317
--- /dev/null
+++ b/view/Controls/TileView.cs
@@ -0,0 +1,29 @@
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace Wanderer.view.Controls
+{
+    public class TileView : Button
+    {
+        private Tile model;
+        
+        public TileView(Tile tile)
+        {
+            model = tile;
+            Image = imageFromTerrain();
+        }
+
+        private Image imageFromTerrain()
+        {
+            switch (model.Terrain)
+            {
+                case Terrain.Plains:
+                    break;
+                case Terrain.Hills:
+                    break;
+            }
+
+            return null;
+        }
+    }
+}
\ No newline at end of file
-- 
GitLab