Dependencies Question

Diego Gomez Deck DiegoGomezDeck at ConsultAr.com
Mon Jul 29 20:37:16 UTC 2002


Hi Stef,

I think that the problem is here:

BreakOut>>udpate
    Transcript show: 'Breakout update' ; cr

it must be:

BreakOut>>udpate: aParameter
    Transcript show: 'Breakout update' ; show: aParameter; cr

The #changed: method is supposed to pass a parameter telling which aspect 
of the object had changed. so here, the code must be:

Field>>score: aNumber
    score := aNumber.
    self changed: #score

Hoping that helps,

Diego Gomez Deck

>Hi
>
>I'm building a breakOut for my book and I have the following problem.
>
>I have one object that contains the score of the game that get increased 
>each time a brick is destroyed.
>
>Now I copied a bit the code of the SameGame to get a list of button around 
>my game field and in particular I want to display the score. So here is my 
>question.
>
>In VisualWorks I would changed the Field score instance variable into a 
>value holder and I will initialize the BreakOut class to get notify 
>whether the score variable changes.
>
>
>How can I do the same in Squeak?
>
>I started to
>
>Field>>score: aNumber
>
>         score := aNumber.
>         self changed
>
>
>BreakOut>>initializeToStandAlone
>
>         ...
>         self field addDependent: self
>
>
>BreakOut>>udpate
>
>         Transcript show: 'Breakout update' ; cr
>
>But I got nothing.
>
>I checked a bit and I was surprised to see that dependents are still 
>managed in Squeak via the DependentFields. I read in old VW tutorials and 
>books that this way of doing things was bad because all the dependents 
>were stored in the same dict. I checked and Model is there :)
>But Morph does not implement a different ways of storing dependents.
>
>
>Then I checked
>
>Morph>>changed
>         "Report that the area occupied by this morph should be redrawn."
>         ^fullBounds
>                 ifNil:[self invalidRect: self outerBounds]
>                 ifNotNil:[self invalidRect: fullBounds]
>
>And realized that Morph was simply breaking the dependency 
>protocol.....(no comment)
>
>So here is my question:
>         - how do we get notification and registration in Squeak for a morph?
>
>Stef
>
>PS: The dependencies mechanism start to be old and broadcasting too much. 
>Is there somebody thinking about a new architecture? Events or 
>DependencyTransformer like in VW ....
>
>Dr. Stéphane DUCASSE (ducasse at iam.unibe.ch) http://www.iam.unibe.ch/~ducasse/
>  "if you knew today was your last day on earth, what would you do
>  different? ... especially if, by doing something different, today
>  might not be your last day on earth" Calvin&Hobbes





More information about the Squeak-dev mailing list