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.