We have to work with two different types of characters: comic characters and game characters. A comic character has a nickname and must be able to draw speech balloons and thought balloons. The speech balloon may have another comic character as a destination.
A game character has a full name and must be able to perform the following tasks:
Draw itself in a specific 2D position indicated by the x and y coordinates
Move itself to a specific 2D position indicated by the x and y coordinates
Check whether it intersects with another game character
We will work with objects that can be both a comic character and a game character. However, we will also work with objects that are just going to be either a comic character or a game character. Neither the game character nor the comic character has a generic way of performing the previously described tasks. Thus, each object that declares itself as a comic character must define all the tasks...