C++ on kätevä kieli jolla tehdää suurin osa nykyajan peleistä. Itselleni aloittaminen oli vaikeaa koska ympäistö oli outo ja osasin kielestä vain muutamia alkeita.
Erikoiskiitos guru-x:älle joka on auttanut minut C++:an ihmeelliseen mailmaan. kuitenkin tässä perus pohja:
/*
Hello World
by: Kaviaari
*/
//---------
#define WIN32_LEAND_AND_MEAN // Lean & Mean ympäristö
#include <windows.h> // Windows pohja
#include <ddraw.h> // Direct Draw
char szAppName[] = "Windows pohja";
//---------
HINSTANCE g_hInst;
HWND g_hWnd;
// ------------------------------------------------------------------------------------------
//WinProc viestin käsitteliä on tässä
// -----------------------------------------------------------------------------------------
static long PASCAL WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch(message)
{
case WM_PAINT:
{
hdc = BeginPaint(g_hWnd, &ps);
SetTextColor(hdc, RGB(0,0,255));
SetBkColor(hdc, RGB(0,0,0));
TextOut(hdc, 100,200, "Hello World", strlen("Hello World"));
EndPaint(g_hWnd, &ps);
} break;
case WM_KEYDOWN:
switch(wParam)
{
case VK_ESCAPE:
PostMessage(g_hWnd, WM_CLOSE, 0, 0);
break;
}
break;
case WM_DESTROY: PostQuitMessage(0);
return 0;
default: return DefWindowProc(hWnd, message, wParam, lParam);
}
}
// ---------------------------------------------------------------------
// Tässä on WinMain, ja laitan sit vielä WinProc joka käsittelee viestit
// -----------------------------------------------------------------------------
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
g_hInst = hInstance;
WNDCLASS WndClass;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
WndClass.lpfnWndProc = WinProc;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hInstance = g_hInst;
WndClass.hIcon = LoadIcon(g_hInst, "APPICON");
WndClass.hCursor = LoadCursor(0, IDC_ARROW);
WndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
WndClass.lpszMenuName = 0;
WndClass.lpszClassName = "IkkunaLuokka";
RegisterClass(&WndClass);
g_hWnd = CreateWindowEx(WS_EX_TOPMOST, "IkkunaLuokka", szAppName, WS_POPUP, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CXSCREEN), NULL, NULL, g_hInst, NULL);
ShowWindow(g_hWnd, nCmdShow);
UpdateWindow(g_hWnd);
while(1)
{
if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
{
if(!GetMessage(&msg, NULL, 0, 0 )) return msg.wParam;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
// tähän tulee kaikkien kuvien piirtämiset yms.
}
}
}Aihe on jo aika vanha, joten et voi enää vastata siihen.