Code:
#include <iostream>
#include <windows.h>
#include "resource.h"
using namespace std;
int boats[5];
char boat1pos[2];
char boat2pos[2];
char boat3pos[2];
char boat4pos[2];
char boat5pos[2];
char computerBoard[12][12];
char playerBoard[12][12];
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK DlgProc (HWND, UINT, WPARAM, LPARAM);
HINSTANCE hInstance;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
HWND hWnd;
MSG msg;
WNDCLASSEX wndclass;
HMENU hMenu, hMenuPopup;
wndclass.cbSize = sizeof (wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
wndclass.lpszClassName = "Battleship";
wndclass.hIcon = (HICON)LoadImage(hInstance,MAKEINTRESOURCE(IDI_ICON1),IMAGE_ICON,0,0,LR_DEFAULTSIZE);
wndclass.hIconSm = (HICON)LoadImage(hInstance,MAKEINTRESOURCE(IDI_ICON1),IMAGE_ICON,0,0,LR_DEFAULTSIZE);
wndclass.lpszMenuName = NULL;
RegisterClassEx (&wndclass);
hWnd = CreateWindow("Battleship","Battleship",WS_OVERLAPPEDWINDOW,100,100,500,500,NULL,NULL,hInstance,NULL);
hMenu = CreateMenu();
hMenuPopup = CreateMenu();
AppendMenu(hMenuPopup, MF_STRING, IDM_NEW, TEXT("&New Game"));
AppendMenu(hMenuPopup, MF_STRING, IDM_LOAD, TEXT("&Load Game"));
AppendMenu(hMenuPopup, MF_STRING, IDM_CLOSE, TEXT("&Close"));
AppendMenu(hMenuPopup, MF_SEPARATOR, 0, NULL);
AppendMenu(hMenuPopup, MF_STRING, IDM_SAVE, TEXT("&Save"));
AppendMenu(hMenuPopup, MF_STRING, IDM_SAVEAS, TEXT("&Save As..."));
AppendMenu(hMenuPopup, MF_SEPARATOR, 0, NULL);
AppendMenu(hMenuPopup, MF_STRING, IDM_LOAD, TEXT("&Statistics"));
AppendMenu(hMenuPopup, MF_SEPARATOR, 0, NULL);
AppendMenu(hMenuPopup, MF_STRING, IDM_QUIT, TEXT("&Quit"));
AppendMenu(hMenu, MF_POPUP, (UINT_PTR)hMenuPopup, TEXT("&File"));
hMenuPopup = CreateMenu();
AppendMenu(hMenuPopup, MF_STRING, IDM_RULES, TEXT("&Rules"));
AppendMenu(hMenuPopup, MF_SEPARATOR, 0, NULL);
AppendMenu(hMenuPopup, MF_STRING, IDM_ABOUT, TEXT("&About"));
AppendMenu(hMenu, MF_POPUP, (UINT_PTR)hMenuPopup, TEXT("&Help"));
SetMenu(hWnd, hMenu);
EnableMenuItem(hMenu, IDM_CLOSE, MF_GRAYED);
EnableMenuItem(hMenu, IDM_SAVE, MF_GRAYED);
EnableMenuItem(hMenu, IDM_SAVEAS, MF_GRAYED);
ShowWindow(hWnd, SW_SHOWDEFAULT);
UpdateWindow(hWnd);
SetFocus(hWnd);
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
UnregisterClass("Battleship",hInstance);
return msg.wParam;
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
switch(iMsg)
{
case WM_CREATE:
{
int x, y;
for(x=0; x<12; x++)
{
for(y=0; y<12; y++)
{
computerBoard[x][y] = ' ';
playerBoard[x][y] = ' ';
}
}
break;
}
case WM_DESTROY:
{
PostQuitMessage(0);
break;
}
case WM_COMMAND:
{
if(LOWORD(wParam) == IDM_QUIT)
{
PostQuitMessage(0);
break;
}
if(LOWORD(wParam) == IDM_RULES)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_HELP), NULL, (DLGPROC)DlgProc);
break;
}
if(LOWORD(wParam) == IDM_ABOUT)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_ABOUT), NULL, (DLGPROC)DlgProc);
break;
}
if(LOWORD(wParam) == IDM_NEW)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_NEW), NULL, (DLGPROC)DlgProc);
break;
}
break;
}
}
return DefWindowProc (hWnd, iMsg, wParam, lParam);
}
LRESULT CALLBACK DlgProc (HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
HMENU hMenu;
hMenu = GetMenu(hWnd);
switch(iMsg)
{
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case IDDH_OK:
{
EndDialog(hWnd, FALSE);
break;
}
case IDDA_OK:
{
EndDialog(hWnd, FALSE);
break;
}
case IDDN_CANCEL:
{
EndDialog(hWnd, FALSE);
break;
}
case IDDN_OK:
{
GetDlgItemText(hWnd, IDDN_BT1EDIT, boat1pos, 2);
GetDlgItemText(hWnd, IDDN_BT2EDIT, boat2pos, 2);
GetDlgItemText(hWnd, IDDN_BT3EDIT, boat3pos, 2);
GetDlgItemText(hWnd, IDDN_BT4EDIT, boat4pos, 2);
GetDlgItemText(hWnd, IDDN_BT5EDIT, boat5pos, 2);
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------> NEED HELP HERE -------------------------- NEED HELP HERE <---
----------------------------------------------------------------------------------------------------------------------------------------------------------------------- EnableMenuItem(hMenu, IDM_CLOSE, MF_ENABLED);
EnableMenuItem(hMenu, IDM_SAVE, MF_ENABLED);
EnableMenuItem(hMenu, IDM_SAVEAS, MF_ENABLED);
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------> NEED HELP HERE ---------------------------- NEED HELP HERE <---
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
EndDialog(hWnd, FALSE);
break;
}
case IDDN_BT1L:
{
boats[0] = 1;
break;
}
case IDDN_BT1R:
{
boats[0] = 2;
break;
}
case IDDN_BT1U:
{
boats[0] = 3;
break;
}
case IDDN_BT1D:
{
boats[0] = 4;
break;
}
case IDDN_BT2L:
{
boats[1] = 1;
break;
}
case IDDN_BT2R:
{
boats[1] = 2;
break;
}
case IDDN_BT2U:
{
boats[1] = 3;
break;
}
case IDDN_BT2D:
{
boats[1] = 4;
break;
}
case IDDN_BT3L:
{
boats[3] = 1;
break;
}
case IDDN_BT3R:
{
boats[3] = 2;
break;
}
case IDDN_BT3U:
{
boats[3] = 3;
break;
}
case IDDN_BT3D:
{
boats[3] = 4;
break;
}
}
break;
}
case WM_CLOSE:
case WM_DESTROY:
case WM_QUIT:
{
EndDialog(hWnd, FALSE);
break;
}
break;
}
return DefWindowProc (hWnd, iMsg, wParam, lParam);
}