Skip to content
Snippets Groups Projects
Commit ad853fcc authored by Elias Leinenweber's avatar Elias Leinenweber
Browse files

Meilleur respect de MVC

parent 00e9e161
No related merge requests found
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="model\Improvement.cs" />
<Compile Include="model\Player.cs" /> <Compile Include="model\Player.cs" />
<Compile Include="view\Controls\MapView.Designer.cs" /> <Compile Include="view\Controls\MapView.Designer.cs" />
<Compile Include="view\FormFin.cs"> <Compile Include="view\FormFin.cs">
......
namespace Wanderer.model
{
public enum Improvement
{
TrainStation,
Path,
Refuge,
Club,
Factory
}
}
\ No newline at end of file
using Wanderer.model; namespace Wanderer.model
namespace Wanderer
{ {
public class Map public class Map
{ {
...@@ -9,6 +7,9 @@ namespace Wanderer ...@@ -9,6 +7,9 @@ namespace Wanderer
public Map(int x, int y) public Map(int x, int y)
{ {
_tiles = new Tile[x, y]; _tiles = new Tile[x, y];
for (int i = 0; i < x; ++i)
for (int j = 0; j < y; ++j)
_tiles[i, j] = new Tile();
} }
public Tile[,] Tiles public Tile[,] Tiles
......
...@@ -2,7 +2,19 @@ ...@@ -2,7 +2,19 @@
{ {
public class Tile public class Tile
{ {
private Improvement _improvement;
public Terrain Terrain { get; set; } public Terrain Terrain { get; set; }
public Player Owner { get; set; } public Player Owner { get; set; }
public bool HasChanged { get; set; }
public Improvement Improvement
{
get => _improvement;
set
{
_improvement = _improvement == 0 ? value : _improvement;
HasChanged = true;
}
}
} }
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
using System.Drawing.Design; using System.Drawing.Design;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Forms.Design; using System.Windows.Forms.Design;
using Wanderer.model;
namespace Wanderer.view.Controls namespace Wanderer.view.Controls
{ {
......
...@@ -7,7 +7,7 @@ namespace Wanderer.view.Controls ...@@ -7,7 +7,7 @@ namespace Wanderer.view.Controls
{ {
public class TileView : Button public class TileView : Button
{ {
private Tile model; public Tile model { get; }
public TileView(Tile tile) public TileView(Tile tile)
{ {
...@@ -36,18 +36,5 @@ namespace Wanderer.view.Controls ...@@ -36,18 +36,5 @@ namespace Wanderer.view.Controls
{ {
MapView.SelectedTile = this; MapView.SelectedTile = this;
} }
private Image imageFromTerrain()
{
switch (model.Terrain)
{
case Terrain.Plains:
break;
case Terrain.Hills:
break;
}
return null;
}
} }
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ using System.Linq; ...@@ -7,6 +7,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using Wanderer.model;
using Wanderer.view.Controls; using Wanderer.view.Controls;
namespace Wanderer.view namespace Wanderer.view
...@@ -61,6 +62,11 @@ namespace Wanderer.view ...@@ -61,6 +62,11 @@ namespace Wanderer.view
lblArgent.Text = "Argent :" + nombreMarks; lblArgent.Text = "Argent :" + nombreMarks;
lblMarcheur.Text = "Marcheurs : " + nombreRandonneurs; lblMarcheur.Text = "Marcheurs : " + nombreRandonneurs;
lblTour.Text = "Nombre d'action : " + nombreTour++; lblTour.Text = "Nombre d'action : " + nombreTour++;
if (MapView.SelectedTile != null && MapView.SelectedTile.model.HasChanged)
{
MapView.SelectedTile.Image = image();
MapView.SelectedTile.model.HasChanged = false;
}
} }
...@@ -77,20 +83,18 @@ namespace Wanderer.view ...@@ -77,20 +83,18 @@ namespace Wanderer.view
private void btnUsine_Click(object sender, EventArgs e) private void btnUsine_Click(object sender, EventArgs e)
{ {
if(nombreMarks >= 60) if (nombreMarks < 60) return;
{ MapView.SelectedTile.model.Improvement = Improvement.Factory;
MapView.SelectedTile.Image = btnUsine.Image; nombreUsine++;
nombreUsine++; nombreMarks -= 40;
nombreMarks -= 40; updateLabels();
updateLabels();
}
} }
private void btnTrain_Click(object sender, EventArgs e) private void btnTrain_Click(object sender, EventArgs e)
{ {
if(nombreMarks >= 10 && gareCreated) if(nombreMarks >= 10 && gareCreated)
{ {
MapView.SelectedTile.Image = btnTrain.Image; MapView.SelectedTile.model.Improvement = Improvement.TrainStation;
gareCreated = false; gareCreated = false;
nombreMarks -= 10; nombreMarks -= 10;
updateLabels(); updateLabels();
...@@ -105,7 +109,7 @@ namespace Wanderer.view ...@@ -105,7 +109,7 @@ namespace Wanderer.view
} }
if (nombreMarks >= 30) if (nombreMarks >= 30)
{ {
MapView.SelectedTile.Image = btnRefuge.Image; MapView.SelectedTile.model.Improvement = Improvement.Refuge;
nombreRefuge++; nombreRefuge++;
nombreMarks -= 30; nombreMarks -= 30;
updateLabels(); updateLabels();
...@@ -121,7 +125,7 @@ namespace Wanderer.view ...@@ -121,7 +125,7 @@ namespace Wanderer.view
} }
if (nombreMarks >= 10) if (nombreMarks >= 10)
{ {
MapView.SelectedTile.Image = btnChemin.Image; MapView.SelectedTile.model.Improvement = Improvement.Path;
nombreChemin++; nombreChemin++;
nombreMarks -= 10; nombreMarks -= 10;
updateLabels(); updateLabels();
...@@ -132,7 +136,7 @@ namespace Wanderer.view ...@@ -132,7 +136,7 @@ namespace Wanderer.view
{ {
if(nombreMarks >= 15) if(nombreMarks >= 15)
{ {
MapView.SelectedTile.Image = btnClub.Image; MapView.SelectedTile.model.Improvement = Improvement.Club;
nombreClub++; nombreClub++;
nombreMarks -= 10; nombreMarks -= 10;
updateLabels(); updateLabels();
...@@ -165,6 +169,24 @@ namespace Wanderer.view ...@@ -165,6 +169,24 @@ namespace Wanderer.view
Application.Exit(); Application.Exit();
} }
public Image image()
{
switch (MapView.SelectedTile.model.Improvement)
{
case Improvement.Club:
return btnClub.Image;
case Improvement.Factory:
return btnUsine.Image;
case Improvement.Path:
return btnChemin.Image;
case Improvement.Refuge:
return btnRefuge.Image;
case Improvement.TrainStation:
return btnTrain.Image;
}
return null;
}
} }
} }
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment