Home
   Home  |  Preliminary Docs  |  Design Diagrams  |  Reference  |  Development Docs  |  Download  |  Source Code  |  Final Reports  |
Development Plan

I have divided my development of Solitaire Pack into three main parts:

  • General Application Functionality
  • Implementation of the Solpack Engine
  • Implementation of the Game Library

In order to spread the actual development over a longer period, I will be starting on programming "General Application Functionality" right away, while continuing the design process for the engine and the games.

Specifically, general application functionality covers the following areas:

  • The application object (CSolpackApp) (not to be confused with the engine, which implements ISolpackApp)
  • Generic main window functionality (CMainWindow)
  • The Instructions help pane (CHelpPane)
  • The main WebBrowser control (CBrowserContainer)
  • A generic Game Menuing system (CGameMenu), not using actual game data though
  • Loading, storing, and modifying user preferences (CUserPrefs)
  • Handling user registration
  • The window status bar (CStatusBar)
  • The 3D animation for when a game is won.
The Solpack engine functionality covers the following areas:
  • The main engine object (CEngine), which implements the ISolpackApp interface.
  • The pile objects (CPile), which implement the ISolpackPile interface.
  • The card objects (CCard), which implement the ISolpackCard interface.
  • Event handlers to detect mouse movement, clicks, and releases and direct messages to the game.
  • The fragment object (CFragment), which implements the ISolpackFragment interface.
  • Various Undo/Redo classes and functions.
The Game Library will cover the following areas:
  • The library object (CGameLib), which implements the ISolpackGameLib interface.
  • The array of static game information (CGameInfo).
  • The CGameBase class, which provides common game implementation, and implements the ISolpackGame interface.
  • The CGameLaBelleLucie class, extending the CGameBase class to provide specific rules for La Belle Lucie.
  • The CGameSpider class, extending the CGameBase class to provide specific rules for Spider.
  February 28, 2002 jmhoersc@mtu.edu