Veel (bord)spellen gebruiken dobbelstenen om een zekere mate van willekeur te introduceren. Normale dobbelstenen geven een nummer, maar er zijn ook andere mogelijkheden.
Dit is een opgave zonder definitied einde. Als je andere dingen kunt bedenken waarvoor je deze generieke dobbelstenen kunt gebruiken, dan mag je gerust iets anders bouwen.
)Maak een Die klasse die een lijst van waarden terug kan geven. (Extra punten als je jouw eigen generieke lijst hiervoor gebruikt.)
Op deze manier kan een dobbelsteen een willekeurige waarde uit een lijst kiezen:
)Maak de Die klasse generiek zodat hij ook andere typen waarden kan rollen.
Bijvoorbeeld:
Strings voor een willekeurige naamColors voor… redenen.
)Voor veel (rollen) spellen willen we dat de speler een willekeurige group van vijanden kan ontmoeten. We suggereren deze inteface:
public interface Rollable<T> {
T roll();
}
Natuurlijk moet de Die klasse deze interface implementeren.
Hieronder staat een tabel met “encounters”:

Deze tabel heeft twaalf regels voor een groep met monsters. Het aantal monsters wordt bepaald door dobbelstenen. “2d4+2” betekent “2 dobbelstenen met 4 zijden plus 2”. Hiervoor rol je een bobbelsteen met de zijden [1,2,3,4] twee keer en tel het totaal bij elkaar verhoogd met 2. Voor meer informatie over dobbelsteen notatie, er is een wiki pagina.
Je kunt ervoor kiezen om een Roll<Integer> klasse te maken die deze definitie uitvoert door een lijst van dobbelstenen, plus een modifier. De rol methode rolt iedere dobbelsteen en telt de uitkomsten bij elkaar plus de modifier.
Maak een Encounter klasse die ook de Rollable interface implementeert. Wanneer je een Encounter rolt, wordt er een willekeurig aantal vijanden gekozen zoals gedefinieerd. Voel je vrij om gewoon een tekst terug te geven. Extra punten als de Bandieten Leider een willekeurige naam krijgt.
Maak ten slotte een dobbelsteen met 12 zijden, ieder een Encounter. Dus wanneer je de dobbelsteen rolt krijg je een type encounter. Dan rol je de encounter om de precieze details te weten.
Je hebt nu een dobbelsteen gemaakt die dobbelstenen rolt…