home *** CD-ROM | disk | FTP | other *** search
/ Really Useful CD 1 / ReallyUsefulCD1.iso / extras / languages / smalltalk / _smalltalk / tests / visitor < prev   
Encoding:
Text File  |  1987-12-30  |  755 b   |  35 lines

  1. Class SimulationObject :Object     
  2.      | sizeDist waitDist |
  3. [
  4.      init
  5.           sizeDist <- Binomial new initialize events: 5 mean: 0.4.
  6.           waitDist <- Random new   "uniform distribution"
  7.  
  8. |    size
  9.           ^ sizeDist next
  10.  
  11. |    wait: sizeGroup       "uniform distribution from 1 to 6"
  12.           ^ waitDist next * sizeGroup * 6
  13. ]
  14.  
  15. Class Visitor  :SimulationObject
  16.      | sizeGroup wait alreadyEaten |
  17. [
  18.      initialize: superClass
  19.           sizeGroup <- superClass size.
  20.           wait <- superClass wait: sizeGroup.
  21.           alreadyEaten <- false
  22.  
  23. |    entering
  24.           (alreadyEaten == false)
  25.                ifTrue: [alreadyEaten <- true. ^ true].
  26.           ^ false
  27.  
  28. |    time 
  29.           ^ wait
  30.  
  31. |    groupSize
  32.           ^ sizeGroup
  33.  
  34. ]
  35.