Gå til indholdet

N207 Simpel klasse (Yatzy bæger)

Opret en ny tom konsol-applikation og definer en terning som følger:

public class Terning
{
    public int værdi;

    public Terning()
    {
        this.værdi = 1;
    }

    public void Skriv()
    {
        Console.Write("[" + this.værdi + "]");
    }

    public void Ryst()
    {
        this.værdi = Random.Shared.Next(1, 7);
    }
}

Din opgave er nu at skabe en klasse Bæger som kan indeholde fem terninger i et private array af Terning. Klassen skal indeholde følgende medlemmer:

  • en constructor der tilføje fem nye terninger til det interne arrays når der skabes en instans af Bæger
  • en Ryst-metode der ryster alle terninger i bæger (bør måske kaldes fra constructor?)
  • en Skriv der udskriver alle terninger som [x] [x] [x] [x] [x]

Klassen skal kunne bruges som:

Bæger b = new Bæger();
b.Skriv();
b.Ryst();
b.Skriv();

hvilket kunne udskrive:

[4][5][5][2][1]
[4][3][6][5][5]
Klik for at se et forslag til en løsning
Bæger b = new Bæger();
b.Skriv();
b.Ryst();
b.Skriv();

public class Bæger
{
    private Terning[] terninger = new Terning[5];

    public Bæger()
    {
        for (int i = 0; i < 5; i++)
            terninger[i] = new Terning();
        Ryst();
    }

    public void Ryst()
    {
        for (int i = 0; i < 5; i++)
            terninger[i].Ryst();
    }

    public void Skriv()
    {
        for (int i = 0; i < 5; i++)
            terninger[i].Skriv();
        Console.WriteLine();
    }
}

public class Terning
{
    public int værdi;

    public Terning()
    {
        this.værdi = 1;
    }

    public void Skriv()
    {
        Console.Write("[" + this.værdi + "]");
    }

    public void Ryst()
    {
        this.værdi = Random.Shared.Next(1, 7);
    }
}