blob: 6820367d081f77bcb4edf5e5239494af80146cd6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
Class {
#name : #DieHandle,
#superclass : #Object,
#instVars : [
'dice'
],
#category : #Dice
}
{ #category : #initialization }
DieHandle >> + aDieHandle [
| handle |
handle := self class new.
self dice do: [ :each | handle addDie: each ].
aDieHandle dice do: [ :each | handle addDie: each ].
^ handle
]
{ #category : #initialization }
DieHandle >> addDie: aDie [
dice add: aDie
]
{ #category : #initialization }
DieHandle >> dice [
^ dice
]
{ #category : #initialization }
DieHandle >> diceNumber [
^ dice size
]
{ #category : #initialization }
DieHandle >> initialize [
super initialize.
dice := OrderedCollection new.
]
{ #category : #accessing }
DieHandle >> maxValue [
| res |
res := 0.
dice do: [ :each | res := res + each faces ].
^ res
]
{ #category : #accessing }
DieHandle >> roll [
| res |
res := 0.
dice do: [ :each | res := res + each roll ].
^ res
]
|