Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

WTL SeaBattle game

0.00/5 (No votes)
12 Aug 2004 1  
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.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here