You have chosen to sponsor your bid up to a maximum amount of .
The problem: In recent years, British TV has suffered both a lot of rework-your-garden programmes and a lot of archaeology programmes. A noticeable difference between the two sorts of programme is that the Archaeologists use computer systems to do plans and designs of the sites where they are digging, but the garden-planners use manual plans and designs of where they are going to dig... In this coursework, you will help less artistically gifted garden designers by writing a web-page and an applet (or multiple applets, maybe) to produce a plan of a proposed garden. To do that for all forms of garden would take much more effort than you will have available for this coursework, so you should keep the problem to a reasonable size by • picking only one style of garden - "traditional", or "formal", or "herb-garden", or "vegetable-garden", or "Bhuddist", or "sci-fi/fantasy" (write the rules yourself!) or whatever pleases you; then • restricting the number of kinds of thing to be put in it. Your choice should be such that the resulting program will include a variety of shapes, with diverse problems of overlapping. For example: • you might pick a traditional pleasure garden of paths, pond, and flower-beds, with all other space else defaulting to "lawn" (where it makes sense - you won't have lawn in the middle of a tree-trunk, or under rhododendrons); • you might then permit scatters of daffodils in grass or in flower-beds, but not elsewhere (e.g. not in a pond or path, or under rhododendrons); you might permit rectangular and oval groups of tulips only in flower-beds; you might permit trees anywhere but on paths or in ponds; you might permit water-lilies and fish only in a pond; you might permit rhododendrons to overlap each other, or to have trees in rhododendrons, but no other plants under them; and so on. Note the optimization in that example - you can just setBackground(Colour.green) for grass, then draw everything else on it Different styles of garden will have different challenges: for example, formal gardens will be based on paths defining rectangles, ovals, and knot shapes - also with (hard-to-draw) low hedges beside paths; a Bhuddist garden will be rather sparse but subtle, for example needing to specify the direction of raking of a pebble-bed... Use a rectangular garden - anything else makes the .html/applet interface too difficult (maybe allow one or more rectangles of "house" to just into the garden). Have the applet pass the size o
You should use object-orientation to help you. For example, you might have an "area" class, with the ability to have a list of area objects, and have the different kinds of area represented by subclasses of the area class. Another example: you might have an abstract "draw()" object-method in your area superclass, over-ridden by a (non-abstract) "draw()" object-method in each subclass; and a static "draw()" class-method in the area class which you'd call to draw for all the objects of the subclasses of the area class. And so on. You are likely to need to discover Java facilities or Java-library facilities which are not described in the course; you are also likely to need to discover more about Java facilities or Java-library facilities which are described in the course, but not in the detail you need for your applet. When you have such needs, you should research them, either on the Sun Java web-site, or in books, or on other web-sites. The "javap" command is also sometimes a useful starting-point, but always needs to be followed up on the Sun site or other web sites or in books. As well as producing the applet and .html to drive the applet, you should document some of your research, and submit it as part of the coursework. Issues about the document: • As a guideline for the length: I'd expect the equivalent of around two fairly full A4 pages of 12-point text (or 4 half-pages, or...). • If you wish, you may use my pro-forma .html data-sheet templates, found at http://www.dcs.port.ac.uk/~lesterc/java/notes/__class.html and http://www.dcs.port.ac.uk/~lesterc/java/notes/__method.html - if you use these, (1) please use your HEMIS number (112083) as the "author" at the foot of the document, • No matter what source you use - Sun site, javap, other web site, or book - your document should be substantially written by yourself: material such as the type and parameters of a method obviously cannot vary much from these sources, but apart from that at least 90% of the document must have been written by yourself based on the sources: any 10% or less of direct quotation must be clearly specified as to the exact source (e.g. which page of a book)
Windows 98 + Internet Explorer 5.0 Netscape 4
## Deadline information
Detailed Comments of all the source code lines