Held Monday, February 14, 2000
Today, we consider the overall architecture of our
- I've rearranged the schedule for this week slightly.
- The version of ``When Things Go Wrong'' that I was thinking of
is by Robin Lane and the Chartbusters, a great Boston band of the
late 70's/early 80's (Ms. Lane still records as a solo artist).
The single was in the
Village Voice top singles list of 1979. It also made it to
87 on the Billboard charts.
- Are there questions on exam 1?
- I've updated
so that it contains a
- I tried to bring in my copy of Othello, but it seems to have
disappeared. The local WalMart doesn't carry it. I'll keep
- Read Lab G2 for Tuesday.
- Decide on your project team (3 or 4 people per team) for Wednesday.
- You should also indicate which subprojects you'd prefer to work
on. (I'll decide who works on what subproject, but I will pay
some attention to your preferences.)
- To encourage you to work with different students, I will require
that homework groups not overlap project groups. That is, if you
work with someone on the project, you can't work with him or her
on group homework assignments.
- Project components and architecture
- Working in a team
- Selecting components
- Before we move on to designing our othello implementation
we need to consider some requirements that I'm putting on
- We may also want to decide whether the class has additional
issues it wants to consider.
- We should supply at least two interfaces: one textual and
- Our Othello should permit two players to play against each
- Our Othello should permit one player to play against the
- Our AI routine need not be very sophisticated.
- Our Othello might also permit someone to watch two computer
players play against each other.
- Do we want to allow networked play?
- Our design should be sufficiently segmented that each
project team will have a reasonable-size part to work on.
- Our design should be sufficiently general that it is possible
to change particular aspects of the game
- What objects and classes do you envision?
- How will they communicate?
- Are there times that we can take advantage of subclassing
- It would be nice if we designed a somewhat general
Othello game so that players can introduce variant
rules and such.
- Of course, any AI routine that we build is unlikely to
do well with variants.
- Here are some variants we might consider:
- Different size boards (or different shape boards)
- More than two players
- Different kinds of moves
- Different kinds of pieces
- Time restrictions
- Video-game like components
- (Can you tell that I like more chaotic games?)
- Of course, each variant must be considered carefully.
- Consider the multi-player game:
- What are legal moves? Can you surround different color pieces,
or only one color?
- What does it mean to ``flip'' a piece?
- I'll work on a list of variants. Send me suggestions.