|
The first thing is to forget about implementation details until you have a clear idea of what you're doing. Your "requirements" as you've stated them so far don't help you with the project at all. OOP, files, abstractions, classes, etc, are all tools available at your disposal, but are not part of your problem (although they are likely to form a part of your solution) In other words,there's no point deciding whether you're going to have files, a matrix, a linked list, etc if you're not sure yet what exactly your program is going to do.
step one should be to set out some clear goals, You need to decide whether you're going to write a puzzle generator, or simply pick between random pre-set crosswords. This decision will affect every other decision you make (So you probably ought to read the specifications and/or discuss this with your tutor if you can't decide which to do.) Your tutor may tell you that a randomly picked pre-set puzzle is too simple, although writing a program which compares a stored puzzle to a user's attempt may help, since your random puzzle generator is going to be storing its generated answer 'somewhere'.
Once you have done this, you can decide upon the program's functionality. What should hopefully emerge in this process is a list of entities that your program contains, and some of the operations these entities perform or have performed on them. At this point, details of the solution, and the tools you'll need to use should become clear
Note - for a puzzle generator, you'd need somewhere to maintain a list of valid words (A dictionary) that the generator can attempt to fit into a crossword grid. A puzzle generator will probably create a complete solution and store it somewhere, then the user will have their go at solving it.
This post has been edited by Bench: 25 Nov, 2007 - 05:26 AM
|