Code:
#include "HangMan.h"
void GameOver()
{
g_bGameOver = TRUE;
g_bGameStarted = FALSE;
}
void GameRestart()
{
vector<char>::iterator viIterator;
for(viIterator = g_vSingleLetter.begin(); viIterator != g_vSingleLetter.end(); viIterator++)
{
(*viIterator) = NULL;
g_vSingleLetter.erase(viIterator);
viIterator--;
}
g_iMissedLetters = 0;
}
void GetLetters()
{
char cSingleLetter;
for(int i = 0; i < strlen (g_szPuzzle); i++)
{
cSingleLetter = g_szPuzzle[i];
g_vSingleLetter.push_back(cSingleLetter);
}
}
BOOL ValidLetter(LPSTR szCheckString)
{
for(int i = 0; i < 27; i++)
{
if(szCheckString[0] == g_cAlphabet[i])
return TRUE;
}
MessageBox(g_pGame->GetWindow(), TEXT("You Entered an invalid charecter (Please use all caps)"), TEXT("Error"), MB_OK);
g_bGameStarted = FALSE;
return FALSE;
}
BOOL Initialize(HINSTANCE hInstance)
{
g_pGame = new GameEngine(hInstance, TEXT("Hang Man"), TEXT("Hang Man"), IDI_HANGMAN, IDI_HANGMAN_SM,
640, 480);
if(g_pGame == NULL)
return FALSE;
g_hInstance = hInstance;
g_pGame->SetFrameRate(5);
IDC_CONTROL = GetDlgCtrlID(g_pGame->GetWindow());
srand(GetTickCount());
return TRUE;
}
void GameStart(HWND hWindow)
{
HDC hDC = GetDC(hWindow);
g_pMan[0] = new Bitmap(IDB_HEAD, 150, 75, TRUE, g_hInstance);
g_pMan[1] = new Bitmap(IDB_BODY, 150, 240, TRUE, g_hInstance);
g_pMan[2] = new Bitmap(IDB_ONELEG, 150, 300, TRUE, g_hInstance);
g_pMan[3] = new Bitmap(IDB_LEGS, 150, 300, TRUE, g_hInstance);
g_pMan[4] = new Bitmap(IDB_ONEARM, 150, 300, TRUE, g_hInstance);
g_pMan[5] = new Bitmap(IDB_FULLBODY, 150, 300, TRUE, g_hInstance);
g_pBlankSpace = new Bitmap(IDB_BLANKSPACE, 150, 300, FALSE, g_hInstance);
g_cAlphabet[0] = ' ';
g_cAlphabet[1] = 'A';
g_cAlphabet[2] = 'B';
g_cAlphabet[3] = 'C';
g_cAlphabet[4] = 'D';
g_cAlphabet[5] = 'E';
g_cAlphabet[6] = 'F';
g_cAlphabet[7] = 'G';
g_cAlphabet[8] = 'H';
g_cAlphabet[9] = 'I';
g_cAlphabet[10] = 'J';
g_cAlphabet[11] = 'K';
g_cAlphabet[12] = 'L';
g_cAlphabet[13] = 'M';
g_cAlphabet[14] = 'N';
g_cAlphabet[15] = 'O';
g_cAlphabet[16] = 'P';
g_cAlphabet[17] = 'Q';
g_cAlphabet[18] = 'R';
g_cAlphabet[19] = 'S';
g_cAlphabet[20] = 'T';
g_cAlphabet[21] = 'U';
g_cAlphabet[22] = 'V';
g_cAlphabet[23] = 'W';
g_cAlphabet[24] = 'X';
g_cAlphabet[25] = 'Y';
g_cAlphabet[26] = 'Z';
}
void GameEnd()
{
vector<char>::iterator viIterator;
for(viIterator = g_vSingleLetter.begin(); viIterator != g_vSingleLetter.end(); viIterator++)
{
g_vSingleLetter.erase(viIterator);
viIterator--;
}
for(int i = 0; i < 6; i++)
delete g_pMan[i];
delete g_pBlankSpace;
delete g_pGame;
delete g_szPuzzle;
delete g_cInputLetter;
g_vSingleLetter.clear();
}
void GamePaint(HDC hDC)
{
//Draw the man being hanged
if(g_iMissedLetters == 1)
g_pMan[0]->Draw(hDC, 0, 0);
else if(g_iMissedLetters == 2)
g_pMan[1]->Draw(hDC, 0, 0);
else if(g_iMissedLetters == 3)
g_pMan[2]->Draw(hDC, 0, 0);
else if(g_iMissedLetters == 4)
g_pMan[3]->Draw(hDC, 0, 0);
else if(g_iMissedLetters == 5)
g_pMan[4]->Draw(hDC, 0, 0);
else if(g_iMissedLetters == 6)
{
g_pMan[5]->Draw(hDC, 0, 0);
GameOver();
}
//Draw The letters/ blak spaces for the hang man game
if(g_bGameStarted)
{
for(int i = 1; i < strlen(g_szPuzzle); i++)
{
vector<char>::iterator viIterator;
for(viIterator = g_vSingleLetter.begin(); viIterator != g_vSingleLetter.end(); viIterator++)
{
if(*viIterator == NULL)
g_pBlankSpace->Draw(hDC, 300 + (g_pBlankSpace->GetWidth() * i), 470);
else
TextOut(hDC, 300 + (g_pBlankSpace->GetWidth() * i), 470, (LPSTR)(*viIterator), 1);
}
}
}
}
void GameCycle()
{
if(!g_bGameStarted)
{
GetDlgItemText(g_pGame->GetWindow(), IDC_CONTROL, g_szPuzzle, 25);
//Put the letters in the vector
GetLetters();
g_bGameStarted = TRUE;
}
else
{
GetDlgItemText(g_pGame->GetWindow(), IDC_CONTROL, g_cInputLetter, 1);
//Check if the letters in the vector are letters
ValidLetter(g_cInputLetter);
}
InvalidateRect(g_pGame->GetWindow(), NULL, FALSE);
}
void HandleKeys()
{
}
void GameFocus(HWND hWindow)
{
}
void GameNotFocus(HWND hWindow)
{
}
void MouseDown(int x, int y, BOOL bLeft)
{
}
void MouseUp(int x, int y, BOOL bLeft)
{
}
I attached the other files to save space, I hope you don't mind