CompSci 307
Fall 2022
Software Design and Implementation

Onboarding Project: Breakout Game, Part 2

This exercise is intended for you to practice creating active objects, with many small methods, in order to see how design affects your understanding of the code and how hard or easy it is to add new features to a program. It will not be explicitly graded but, instead, serve as a starting point for us to see your coding strengths and weaknesses (and how well you follow directions). Thus, you will get the most out of this assignment by putting in a good faith effort.

Submitting Your Work

Continue to work in your provided GIT repository, breakout_NETID, hosted in the course's Gitlab group.

As your submission for this project, use GIT to add, commit, and push the following:

Your code is expected to follow the course coding conventions and be reasonably commented (full Javadoc comments are encouraged but not required yet).

Specifications

Individually, continue to work on your game of Breakout, refactoring your existing code to improve its design while adding these new functionality features:

We strongly suggest you refactor the code, creating more methods and classes, before attempting to implement any of the new features.

GIT

This is a chance to practice using GIT more effectively on your own before working in a team, using many, small, purposeful commits with good commit messages rather than just one or two large "kitchen sink" or "submit-only" commits.

Design Goals

Practice the following mindsets about code to help you acclimate you to the course's overall Design Goals:

Resources