CSC207 - Project 3
Unspeakable Words
Assigned Nov 29th 12 p.m.
Part 1 Due Dec 3th 4 p.m.
Part 2 Due Dec 17th 3 p.m.
Overview
For this project, we will explore more object-oriented programming in the context of a card game. We will create a program for multiple players to play the game
Unspeakable Words.
In particular, this project will cover the following concepts we have discussed in class:
- Lists
- Dictionaries
- Control Statements
- Sentinel Loops
- Definite Loops
- Objects and Classes
You may work with one partner on this project. When you turn in Part 1, you must make clear who you are working with if anyone, and you cannot change partners for Part 2.
Description
Unspeakable Words is a word game based on the
Cthulhu mythos from H. P. Lovecraft. In this game, players are uncovering ancient words man was not meant to spell. The first player to reach 100 points will win the game, however, the more points you score the more you are risking your sanity, and you
must be sane to win the game.
You can find the rules here. We will stick to the basic rules.
For the letter cards, we will be following the
English letter distribution from Scrabble, minus the blank tiles. We will therefore have 98 letter cards as follows:
- E x12, A x9, I x9, O x8, N x6, R x6, T x6, L x4, S x4, U x4
- D x4, G x3
- B x2, C x2, M x2, P x2
- F x2, H x2, V x2, W x2, Y x2
- K x1
- J x1, X x1
- Q x1, Z x1
Part 1: Design - 3%
For part 1 of the assignment, create a design document detailing all the objects you will need to represent the display and interactions necessary to carry out the game. Be as detailed as possible, discussing the components and functionality needed for each
part of the game.
Part 2: Implementation - 16%
I will release my design document on Friday December 3th, when Part 1 is due. It will have a sample implementation scheme to help you complete the project.
Extensions
As an extension for extra credit, you can implement the "Unspellable Oath" and "Last Words" optional rules. Also, you can make your implementation flexible enough to load a letter distribution file instead of using the fixed distribution above.
What to Hand In
Log in to cs.centenary.edu
through either Secure FTP or WinSCP using your cs login and password. Create a subdirectory from
csc207
called project3
. Copy your unspeakable.py
and
parts.py
project into this directory, along with any other files you need to run your code. Make sure you have followed the
Python Style Guide, and have run your project through the Automated Style Checker.
You must hand in:
and any other files necessary to run your code.
© Mark Goadrich 2010, Centenary College of Louisiana