Completed Tile.cs Completed TilePattern.cs Completed CalcPiecesPerHour method in Company.cs
43 lines
No EOL
888 B
C#
43 lines
No EOL
888 B
C#
namespace Mosaic;
|
|
|
|
/// <summary>
|
|
/// Represents a mosaic consisting of several tiles.
|
|
/// </summary>
|
|
public class TilePattern
|
|
{
|
|
private readonly Tile[] _tiles;
|
|
public readonly PatternStyle Style;
|
|
|
|
public double Area
|
|
{
|
|
get
|
|
{
|
|
double area = 0;
|
|
foreach (var tile in _tiles)
|
|
{
|
|
area += tile.Area;
|
|
}
|
|
|
|
return area / 1000000;
|
|
}
|
|
}
|
|
|
|
public int Pieces => _tiles.Length;
|
|
|
|
public TilePattern(PatternStyle style, Tile[] tiles)
|
|
{
|
|
Style = style;
|
|
_tiles = tiles;
|
|
}
|
|
|
|
public decimal CalcProductionCost()
|
|
{
|
|
decimal productionCost = 0;
|
|
foreach (var tile in _tiles)
|
|
{
|
|
productionCost += tile.CalcProductionCost();
|
|
}
|
|
|
|
return productionCost;
|
|
}
|
|
} |