SE 2811, Lab 4:
Planting Your Garden
- Develop the system you specified
in Lab 3. All team members must contribute; in
particular, all must write a significant part of the implementation.
- Randomly generate the locations of the bees and flowers. Ask if
you need help with this!
- Adjust the number of bees, flowers, points, etc. so that the client
can get a feel for how the simulation will work when scaled to a full
garden. This includes having all bees and flower types, and that there is
enough of both to see them interact reasonably. You will also need to
adjust things like energy levels and how they change (either on moves or
collisions) so the simulation runs for a number of steps but some bees
will live to close to a minute or so. That is, you should be able to
demonstrate that bees both visit flowers and die once they run out of
energy.
- The program is to allow the user to change the number of
flowers. Make sure the default value is one that allows a number of
bees to live a reasonable amount of time.
- If you decide to prompt the user for the number of bees as well,
ensure that also has an appropriate default value.
- Check that your solution meets
the coding standard. Document
responsibilities for classes, but you do not have to write Javadoc for
methods.
- Ensure your project is checked in to Git in a way that it can be
graded:
- Check that the correct files are checked in to the repository. You
should use the standard, global
gitignore file to ensure you do not check in
.class
files and other build products. The sample bee code contains
a .gitignore
file to be placed in the top directory; it is
good for you to include that in your submission. Do include
build configuration files created by IntelliJ in the .idea
folder (except the workspace.xml file).
- Ensure your project is at the top level of the
repository. That is,
if your group's repository is lab2-2811-knuth-djikstra, then the
src
folder should be lab2-2811-knuth-djikstra\src
.
- Ensure all code is in the main branch (or, if using an old
environment, master) - your instructor will not
check other branches. Branches are unlikely to help on such a small
project anyways.
- It is always a good practice to check out your project in a
new folder and ensure it builds. This helps ensure you did not fail to
check in a critical file and that files are in the correct
location. Mistakes in this often lead to losing points for
easily-corrected issues.
- When complete, create a PDF containing the following:
- A reverse-engineered diagram (exported to a .PNG and then inserted
into the document) of your
implementation with classes reorganized so the structure is clear.
- A paragraph describing any significant changes to the design such
as new classes. Recall that you do not have to introduce design
patterns into this lab.
- A paragraph describing who implemented which portions of the system.
- Screen shots of solution in action. You do not have to capture
every behavior, but do capture that bees move in the correct
directions and that they change energy levels. Be sure to describe
what the screen shots show. Also include one or more screen shots,
with many flowers and bees, that show how a botanist would might use
the program.
- A discussion of any known problems, either in the implementation
or the design. Typically, documenting known problems reduces the
penalty.
You will upload this PDF to Canvas. You can use MSWord or similar
tools to create the PDF.
See Canvas for any additional submission instructions.