using System;
using System.Collections.Generic;
using System.Text;
namespace Lapid1
{
class SuunagaRiidelapp
{
private double horisontaal;
private double vertikaal;
public SuunagaRiidelapp(double horisontaal, double vertikaal)
{
this.horisontaal = horisontaal;
this.vertikaal = vertikaal;
}
public double GetHorisontaal()
{
return horisontaal;
}
public double GetVertikaal()
{
return vertikaal;
}
public double Pindala()
{
return GetHorisontaal() * GetVertikaal();
}
///
/// Arvutatakse lapi pindala jättes välja serva
/// paigutatud õmblusvaru
///
/// Õmblemiseks vajalik varu sentimeetrites
/// Pärast kokkuõmblemist näha jääva lapi pindala
public double Pindala(double varu)
{
return (GetHorisontaal() - 2 * varu) * (GetVertikaal() - 2 * varu);
}
public SuunagaRiidelapp L6ikaHorisontaal(double uuehorisontaalipikkus)
{
if (uuehorisontaalipikkus >= horisontaal)
{
throw new Exception("Riie sai otsa");
}
horisontaal = horisontaal - uuehorisontaalipikkus;
return new SuunagaRiidelapp(uuehorisontaalipikkus, vertikaal);
}
public SuunagaRiidelapp L6ikaVertikaal(double uuevertikaalipikkus)
{
if (uuevertikaalipikkus >= vertikaal)
{
throw new Exception("Riie sai otsa");
}
vertikaal = vertikaal - uuevertikaalipikkus;
return new SuunagaRiidelapp(horisontaal, uuevertikaalipikkus);
}
/*
public SuunagaRiidelapp Poolita(
Poolitusesuund suund, double uuepikkus) {
if (suund == Poolitusesuund.poolitahorisontaal) {
}
}
*/
public void YhendaK6rvuti(SuunagaRiidelapp lisatav) {
horisontaal = horisontaal + lisatav.GetHorisontaal();
vertikaal = Math.Min(vertikaal, lisatav.GetVertikaal());
lisatav.vertikaal = 0;
lisatav.horisontaal = 0;
}
public override string ToString()
{
return base.ToString() + " " + GetHorisontaal() +
"x" + GetVertikaal();
}
}
}