Missie 2

Code met uitleg

De oplossing wordt hier stap voor stap besproken

Code

Main

            List<Gebouw> enclave = new List<Gebouw>();
            enclave.Add(new Hospitaal("Sint Vincentius", 4, 5));
            enclave.Add(new Woonst("Tims shack", 1, 1));
            enclave.Add(new Generator("batteryshed 1", 1, 2));

            foreach (var gebouw in enclave)
            {
                gebouw.PrintGebouw();
            }

            Console.SetCursorPosition(1, 20);

Gebouw

abstract class Gebouw
{
    public Gebouw(string naamin, int xin, int yin)
    {
        Naam = naamin;
        X = xin;
        Y = yin;
    }
    public string Naam { get; set; }
    public int X { get; set; }
    public int Y { get; set; }
    public abstract void PrintGebouw();

    public override string ToString()
    {
        return $"{Naam} (locatie: {X},{Y})";
    }
}

Flat

class Flat : Woonst
{
    public Flat(int xin, int yin) : base("Flat",xin, yin)
    {
    }
    public override string ToString()
    {
        return base.ToString()+ " Voor veel mensen";
    }

    public override void PrintGebouw()
    {
        Console.SetCursorPosition(X, Y);
        Console.Write("W");
    }
}

Hospitaal

class Hospitaal : Gebouw
{
    public Hospitaal(string naamin, int xin, int yin) : base(naamin, xin, yin)
    {
    }
    public override string ToString()
    {
        return base.ToString() + "Hier genezen de mensen.";
    }

    public override void PrintGebouw()
    {
        Console.SetCursorPosition(X, Y);
        Console.Write("H");
    }
}

Generator

class Generator : Gebouw
{
    private string v;
    private int xin;
    private int yin;

    public Generator( int xin, int yin) : base("Generator", xin, yin)
    {
    }

    public Generator(string v, int xin, int yin): base(v,xin,yin)
    {

    }
    public override string ToString()
    {
        return base.ToString() + "Dit gebouw maakt elektriciteit.";
    }
    public override void PrintGebouw()
    {
        Console.SetCursorPosition(X, Y);
        Console.Write("g");
    }
}

WaterkrachtCentrale

class WaterkrachtCentrale: Generator
{
    public WaterkrachtCentrale(int xin, int yin): base("WaterkrachtCentrale",xin,yin)
    { }
    public override string ToString()
    {
        return base.ToString() + "Met behulp van water";
    }

    public override void PrintGebouw()
    {
        Console.SetCursorPosition(X, Y);
        Console.Write("G");
    }
}

Last updated