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