WTL SeaBattle game





4.00/5 (7 votes)
Aug 13, 2004
1 min read

65253

1941
SeaBattle game written using WTL
Introduction
WTL is relatively unknown library for most of C++ developers. Even in its current state (with no official Microsoft support as far as I know) it could compete with MFC as tool for development GUI applications a especially small standalone applications. It is template library and if you design your application right, then it would depend on minimal or none other dll. So I decided to write WTL application just for sake of experience to see how hard to do it. It turns out to easy enough for a programmer with experience in MFC and WinAPI. Most of the classes match names of MFC classes serving the same purpose. And I did not have to wonder if I got right version of MFC dlls on any other machine where I copied my application. I wanted to do something which would not be too boring, so it was a logical choice to write something funny and useless: a game. WTLSeaBattle is simple version of widely known game “Sea Battle”, it sole purpose is to give an example of dialog based WTL application.
Building Environment
This application was developed using VC++ 6.0 SP6 and WTL70, and tested under Windows XP.
Application Description
WTLSeaBattle is dialog-based application written using WTL. Its main class is
CMainDlg
(files maindlg.*) which deals with managing controls in dialog, “battle field” classes and communications between objects inside application. Classes
CMyShips
(MyShips.cpp) and CEnemyShips
(EnemyShips.cpp) implement player’s and computer’s game fields respectively.
CMyShips
and CEnemyShips
derived from common base class
CDisplayAreaWnd
which contains common functionality. CMyShips
allows user to place ships,
CEnemyShips
places computer’s ships and handles calculation of next “shot” during game.