The tricky part of the Ocean class was defining what was food or not. In reality, that wasn't too hard.

Object subclass: #Ocean
	instanceVariableNames: 'occupants '
	classVariableNames: ''
	poolDictionaries: ''
	category: 'FishWorld'

Ocean methodsFor: 'initialization'

initialize
	occupants := OrderedCollection new.

Ocean methodsFor: 'food processing'

isFood: food at: anX at: anY
	"Check all food's locations.  If find one at same place, return it.
	 Otherwise, return nil."
	
	food do: [:aLife |
		((aLife positionX = anX) and: [aLife positionY = anY])
			ifTrue:  [^aLife]].
	^nil.
	
Ocean methodsFor: 'connections'

addToOcean: aLife
	occupants add: aLife.

removeFromOcean: aLife
	occupants remove: aLife ifAbsent: [].