N207 Simpel klasse (Yatzy bæger)
Opret en ny tom konsol-applikation og definer en terning som følger:
public class Terning
{
// Ved .NET Core behøver den ikke være statisk!!
private static Random rnd = new Random();
public int værdi;
public Terning()
{
this.værdi = 1;
}
public void Skriv()
{
Console.Write("[" + this.værdi + "]");
}
public void Ryst()
{
this.værdi = rnd.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:
hvilket kunne udskrive:
Klik for at se et forslag til en løsning
using System;
namespace Yatzybaeger
{
class Program
{
static void Main(string[] args)
{
Bæger b = new Bæger();
b.Skriv();
b.Ryst();
b.Skriv();
Console.ReadKey();
}
}
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
{
private static Random rnd = new Random();
public int værdi;
public Terning()
{
this.værdi = 1;
}
public void Skriv()
{
Console.Write("[" + this.værdi + "]");
}
public void Ryst()
{
this.værdi = rnd.Next(1, 7);
}
}
}