Laser Game - A Development Example for Squeak 3.9

Section 1
  1. Introduction
  2. Installation
  3. Game Overview
  4. Discovery Of Objects
  5. Test Driven Development
  6. Define The Project For Our Game
  7. Create Some Model Classes
  8. Unit Test The Original Model
  9. Run Our First Unit Test
  10. Mirror Cell
  11. Abstract Cell Class
  12. Unit Test For Mirror Cell
  13. New Methods For Mirror Cell
  14. Target Cell
  15. Target Cell Unit Test
  16. Grid
  17. Grid Unit Test
  18. Making A Deeper Grid Unit Test
Section 2
  1. Leaving Notes In Your Code
  2. Laser Beam Path
  3. Direction Vectors
  4. Unit Test For Grid Direction Hierarchy
  5. Back To The Laser Beam Path
  6. Path Calculation
  7. Grid Unit Test Activated
  8. The Smalltalk-Way To Do A Case Statement
  9. Game Graphics
  10. Rendering The Cells
  11. LaserGame Morph
  12. A Factory For Grids
  13. Management of Colors
  14. Progress So Far
  15. Back to the LaserGame Morph
  16. Adding Controls
  17. A Unit Test To Demonstrate A Bug
Section 3
  1. Interacting With Cells
  2. Handle Mouse Events
  3. Detecting Mirror Cell Click Regions
  4. Creating Custom Forms
  5. Determine Push Regions
  6. Drawing Push Hints On The Game Board
  7. Using "Halt Once"
  8. Determine Rotate Regions
  9. Rotate A Mirror Cell
  10. Click And Rotate A Cell
  11. Clean Up Left-Over Hints
  12. Bug With Target Cell
  13. Push A Cell
  14. Push Cells With The Mouse
  15. Visual Bug With Push
  16. Source Management With Monticello
Section 4
  1. Communicate With Arrow Colors
  2. Better Cursor Management
  3. Making Larger Cells
  4. Add A Counter and Window Colors
  5. Add Move Counter And Randomizer
  6. A Bigger Game Board
  7. Drawing The Laser Beam
  8. Laser On Blank Cell
  9. Laser On Target Cell
  10. Laser On Mirror Cell
Section 5
  1. A Missed Bug
  2. Adding More Game Stats
  3. Undo
  4. Modify Package Definition
  5. Reset (and a bug fix)
  6. Showing Laser Home Visually
  7. A Less Brittle Unit Test Design
  8. Better Hint Arrows Alignment
  9. Minor Cosmetic Tweaks
Section 6
  1. Prepare For Application Deployment
  2. Next Steps Towards Deployment
  3. A Double-Clickable Mac Application
  4. Better Lock-Down Steps
Notes and Edit History
Next Page

Copyright © 2007, 2008, 2009, 2010 Stephan B Wessels. Comments, bug reports and other feedback is welcome via e-mail: stevewessels@me.com.

The use of this tutorial is free. If you would like to make a donation in any amount please use the secure PayPal button.