Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #define MINE_ORE 1
- #define START 2
- int vars() // Diese soll irgendwo eingefügt werden sodass sie nur einmal geladen wird aber die klasse "LRESULT CALLBACK WndProc" auf die variablen zugriff hat.
- {
- int minerals;
- minerals = 0;
- bool sound;
- sound = false;
- int ms;
- ms = 0;
- int beep;
- beep = 0;
- }
- /* This is where all the input to the window goes to */
- LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam, int ms) {
- switch(Message) {
- case WM_CREATE:
- {
- CreateWindow(TEXT("BUTTON"), TEXT("Erz abbauen"),
- WS_CHILD | WS_VISIBLE | WS_BORDER,
- 200, 400, 100, 50,
- hwnd, (HMENU) MINE_ORE, NULL, NULL
- );
- CreateWindow(TEXT("BUTTON"), TEXT("Start"),
- WS_CHILD | WS_VISIBLE | WS_BORDER,
- 300, 400, 100, 50,
- hwnd, (HMENU) START, NULL, NULL
- );
- CreateWindow(TEXT("STATIC"), TEXT("[Minenbasis]"),
- WS_CHILD | WS_VISIBLE,
- 200, 10, 100, 20,
- hwnd, (HMENU) NULL, NULL, NULL
- );
- break;
- }
- case WM_COMMAND:
- {
- if (LOWORD(wParam) == MINE_ORE)
- {
- if(ms == 3) //Hier kommen noch Errors weil es die Variable nicht findet. Das ist ja das Problem.
- {
- Beep(3000, 500);
- ms = 0;
- }
- else
- {
- ms = ms + 1;
- SetCursorPos(0,0);
- }
- }
- break;
- }
- /* Upon destruction, tell the main thread to stop */
- case WM_DESTROY: {
- PostQuitMessage(0);
- break;
- }
- /* All other messages (a lot of them) are processed using default procedures */
- default:
- return DefWindowProc(hwnd, Message, wParam, lParam);
- }
- return 0;
- }
- /* The 'main' function of Win32 GUI programs: this is where execution starts */
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
- WNDCLASSEX wc; /* A properties struct of our window */
- HWND hwnd; /* A 'HANDLE', hence the H, or a pointer to our window */
- MSG Msg; /* A temporary location for all messages */
- /* zero out the struct and set the stuff we want to modify */
- memset(&wc,0,sizeof(wc));
- wc.cbSize = sizeof(WNDCLASSEX);
- wc.lpfnWndProc = WndProc; /* This is where we will send messages to */
- wc.hInstance = hInstance;
- wc.hCursor = LoadCursor(NULL, IDC_CROSS);
- /* White, COLOR_WINDOW is just a #define for a system color, try Ctrl+Clicking it */
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- wc.lpszClassName = "WindowClass";
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); /* Load a standard icon */
- wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); /* use the name "A" to use the project icon */
- if(!RegisterClassEx(&wc)) {
- MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
- return 0;
- }
- hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Mining Game",WS_VISIBLE|WS_SYSMENU,
- 710, /* x */
- 290, /* y */
- 500, /* width */
- 500, /* height */
- NULL,NULL,hInstance,NULL);
- if(hwnd == NULL) {
- MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);
- return 0;
- }
- /*
- This is the heart of our program where all input is processed and
- sent to WndProc. Note that GetMessage blocks code flow until it receives something, so
- this loop will not produce unreasonably high CPU usage
- */
- while(GetMessage(&Msg, NULL, 0, 0) > 0) { /* If no error is received... */
- TranslateMessage(&Msg); /* Translate key codes to chars if present */
- DispatchMessage(&Msg); /* Send it to WndProc */
- }
- return Msg.wParam;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement