Since we are attempting to model an actual physical object using OO Perl, we may as well look at an actual die in the world. It has two main attributes which are useful to us (although I have one game which takes advantage of a third, but is way out of scope)-- number of sides, and which side is up.

Our instance, in order to be accurate, should have these attributes and nothing else. A history attribute is an open door to a serious memory leak unless you manage the size of the history very actively.

About face, as the die sits on a surface, the face up is an attribute. Roll is an action. Sometimes we want to know what the up face is without changing it, like in Yahtzee. We roll all five dice, examine them, reroll the ones we don't like, reroll again, then score. For scoring we need to have a way to check all five dice without changing them.

In reply to Re: Re: Re: Re: (ichimunki) Re (tilly) 1: Dice::Dice by ichimunki
in thread Dice::Dice by coreolyn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.