We've finished Section 1. To make it easy to verify your progress I've included here an "inventory" of the classes and methods related to this Laser Game development that you should have in your Squeak image at this point.
| System Category | Class Name | Defined | Instance Methods | Class Methods |
|---|---|---|---|---|
| Laser-Game-Model | BlankCell | Yes | ||
| Laser-Game-Model | BlankCell | initialize | ||
| Laser-Game-Model | BlankCell | initializeExitSides | ||
| Laser-Game-Model | Cell | Yes | ||
| Laser-Game-Model | Cell | activeSegments | ||
| Laser-Game-Model | Cell | activeSegments: | ||
| Laser-Game-Model | Cell | exitSideFor: | ||
| Laser-Game-Model | Cell | exitSides | ||
| Laser-Game-Model | Cell | exitSides: | ||
| Laser-Game-Model | Cell | initialize | ||
| Laser-Game-Model | Cell | initializeActiveSegments | ||
| Laser-Game-Model | Cell | isOff | ||
| Laser-Game-Model | Cell | isOn | ||
| Laser-Game-Model | Cell | isSegmentOnFor: | ||
| Laser-Game-Model | Cell | laserEntersFrom: | ||
| Laser-Game-Model | Grid | Yes | ||
| Laser-Game-Model | Grid | at: | newOfSize: | |
| Laser-Game-Model | Grid | at:put: | ||
| Laser-Game-Model | Grid | cells | ||
| Laser-Game-Model | Grid | cells: | ||
| Laser-Game-Model | Grid | initialize | ||
| Laser-Game-Model | Grid | initializeCells | ||
| Laser-Game-Model | Grid | laserIsActive | ||
| Laser-Game-Model | Grid | laserIsActive: | ||
| Laser-Game-Model | Grid | numberOfColumns | ||
| Laser-Game-Model | Grid | numberOfColumns: | ||
| Laser-Game-Model | Grid | numberOfRows | ||
| Laser-Game-Model | Grid | numberOfRows: | ||
| Laser-Game-Model | MirrorCell | Yes | ||
| Laser-Game-Model | MirrorCell | initialize | leanLeft | |
| Laser-Game-Model | MirrorCell | initializeExitSides | leanRight | |
| Laser-Game-Model | MirrorCell | isLeft | ||
| Laser-Game-Model | MirrorCell | isRight | ||
| Laser-Game-Model | MirrorCell | leanLeft | ||
| Laser-Game-Model | MirrorCell | leanRight | ||
| Laser-Game-Model | MirrorCell | leansLeft | ||
| Laser-Game-Model | MirrorCell | leansLeft: | ||
| Laser-Game-Model | TargetCell | Yes | ||
| Laser-Game-Model | TargetCell | initialize | ||
| Laser-Game-Model | TargetCell | initializeExitSides | ||
| Laser-Game-Tests | BlankCellTestCase | Yes | ||
| Laser-Game-Tests | BlankCellTestCase | testCellExitSides | ||
| Laser-Game-Tests | BlankCellTestCase | testCellLaserActivity | ||
| Laser-Game-Tests | BlankCellTestCase | testCellOnState | ||
| Laser-Game-Tests | BlankCellTestCase | testCellSegmentsState | ||
| Laser-Game-Tests | GridTestCase | Yes | ||
| Laser-Game-Tests | GridTestCase | generateDemoGrid | ||
| Laser-Game-Tests | GridTestCase | testInitialConditions | ||
| Laser-Game-Tests | GridTestCase | testNonDefaultGridSizeConditions | ||
| Laser-Game-Tests | MirrorCellTestCase | Yes | ||
| Laser-Game-Tests | MirrorCellTestCase | testCellExitSidesMirrorLeft | ||
| Laser-Game-Tests | MirrorCellTestCase | testCellExitSidesMirrorRight | ||
| Laser-Game-Tests | MirrorCellTestCase | testCellLaserActivityMirrorLeft | ||
| Laser-Game-Tests | MirrorCellTestCase | testCellLaserActivityMirrorRight | ||
| Laser-Game-Tests | MirrorCellTestCase | testCellOnState | ||
| Laser-Game-Tests | MirrorCellTestCase | testCellSegmentsState | ||
| Laser-Game-Tests | TargetCellTestCase | Yes | ||
| Laser-Game-Tests | TargetCellTestCase | testCellExitSides | ||
| Laser-Game-Tests | TargetCellTestCase | testCellLaserActivity | ||
| Laser-Game-Tests | TargetCellTestCase | testCellOnState | ||
| Laser-Game-Tests | TargetCellTestCase | testCellSegmentsState |
A Change Set of the work up to and including this section is available here . If you've been carefully following along, you do not need the Change Set. If you think you have gotten completely lost, you can open up a File List in Squeak and, after downloading the Change Set, file-in the Change Set to install the proper code.