CompSci 308
Spring 2023
Advanced Software Design and Implementation

Breakout : Complete Implementation

Complex systems can be viewed either by focusing upon things or processes; there are compelling reasons for applying object-oriented decomposition, in which we view the world as a meaningful collection of objects that collaborate to achieve some higher level behavior. — Grady Booch

The goal of this part is to build the Breakout game you planned using multiple classes with private instance variables.

GIT

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

Design Goals

As a reminder, learning the course tools and procedures are the focus of this project, but it can also be a chance to practice the following mindsets about code that will help acclimate you to the course's overall Design Goals:

Cheat Keys

To help you debug your game (and us to play it :), in addition to the standard keys to move the paddle, make cheat keys that make it easier

Code Craftsmanship

Your code should be readable with short methods, follow the course coding conventions, and be reasonably commented.

README

Complete your README file, especially documenting your cheat keys, assumptions, and attributions for any images you found online. This file is common for most software projects that helps new developers get started with the project.

Resources