(Latest Revision: Sat Nov 6 15:09:31 PST 2004 )
A Design for a Program That Makes Brick Walls A Breakdown of Responsibilities Given to Each Function MakeMortar makes: "*" MakeMortarForBrick makes: "***************" MakeEdge makes: "---------------" MakeSidesOfWhole makes: "| |" (half of the middle part of a brick.) MakeMortarForCourse makes all the mortar to go above a course of bricks. For example, for this figure: *********************************************** ---------------*---------------*--------------- | |*| |*| | | |*| |*| | ---------------*---------------*--------------- MakeMortarForCourse would be responsible for making the row of asterisks at the top of the figure. (The rest of the figure would be made by MakeCourse.) MakeEdges makes: upper and lower edges for a course of bricks. For example, in the figure above, MakeEdges would make the parts that look like this: ---------------*---------------*--------------- MakeSides makes: middle sections of a course of bricks. For example, in the figure above, MakeSides would make the parts that look like this: | |*| |*| | MakeCourse makes: a course of bricks. For example, if it made a course of 3 bricks, it would look like this: ---------------*---------------*--------------- | |*| |*| | | |*| |*| | ---------------*---------------*--------------- MakeWall makes: A wall like this: ---------------*---------------*--------------- | |*| |*| | | |*| |*| | ---------------*---------------*--------------- *********************************************** ---------------*---------------*--------------- | |*| |*| | | |*| |*| | ---------------*---------------*--------------- *********************************************** ---------------*---------------*--------------- | |*| |*| | | |*| |*| | ---------------*---------------*--------------- *********************************************** ---------------*---------------*--------------- | |*| |*| | | |*| |*| | ---------------*---------------*--------------- It makes whatever size wall is desired.