From bf11813e4fa859a4833cab226c4ea560765d6d77 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sun, 23 Nov 2025 17:01:59 +0100 Subject: Add ReDo Pharo excercises --- pharo-mooc/redo/src/Dice/DieHandle.class.st | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 pharo-mooc/redo/src/Dice/DieHandle.class.st (limited to 'pharo-mooc/redo/src/Dice/DieHandle.class.st') diff --git a/pharo-mooc/redo/src/Dice/DieHandle.class.st b/pharo-mooc/redo/src/Dice/DieHandle.class.st new file mode 100644 index 0000000..6820367 --- /dev/null +++ b/pharo-mooc/redo/src/Dice/DieHandle.class.st @@ -0,0 +1,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 +] -- cgit v1.2.3