Street Scene Worked Example



A sample from stage 1





A sample from stage 2





And another sample from stage 2





A sample from stage 3



Holy cow! I got something wrong

But the error is clearly visible. It is easy to go back to the program and see what could have caused this.

I had written
void DrawTree(int leftedge, int bottomedge, int width, int height)
{ PenColor(0.4, 0.3, 0.0);
  FillRectangleXYXY(leftedge+width/2, bottomedge-height, 10, height);
  PenColor(PEN_GREEN);
  PenWidth(3*width/4);
  DrawPointAt(leftedge+width/2, bottomedge-height-width/4);
  PenWidth(1); }
instead of
void DrawTree(int leftedge, int bottomedge, int width, int height)
{ PenColor(0.4, 0.3, 0.0);
  FillRectangleXYWH(leftedge+width/2, bottomedge-height, 10, height);
  PenColor(PEN_GREEN);
  PenWidth(3*width/4);
  DrawPointAt(leftedge+width/2, bottomedge-height-width/4);
  PenWidth(1); }

A sample from the corrected stage 3





And another





And another, why not.





A sample from stage 4



Ugly ugly fat windows, but it serves its purpose. We can see that the positioning is basically OK, and can now move on to nice little individual windows safely.

Another stage 4 sample



Can't test too much.

A sample from stage 5



We can see that the design is correct. Minor details of exact positioning and sizing and shading are very easy to deal with once the basic design is OK. Until the basic design is OK, any effort spent on beautification is wasted.

Another sample from stage 5

Nobody ever failed through tetsing too much.