Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2013, 22:40   #1
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию Игра Сапер

Помогите с растановкой мин сильно очень надо.
завтра сдавать
mixon-21 вне форума Ответить с цитированием
Старый 22.11.2013, 22:57   #2
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию

Код:
#include <windows.h>
#include <gdiplus.h>
#include "resource.h"

#define SAP_WIDTH 10            //Ширина поля
#define SAP_HEIGHT 10           //Высота поля
#define SAP_TOP 0      //Отступ сверху
#define SAP_LEFT 0         //Отступ слева
#define ID_BUTTON 10000
#define ID_BUTTON1 1000
#define ID_BUTTON2 20
#define ID_BUTTON3 30
#define ID_BUTTON4 40
#define IDD_DIALOG1                     102
#pragma comment(lib,"gdiplus.lib")
#define IDB_BITMAP1                     101
using namespace Gdiplus; 

HINSTANCE hinst;
GdiplusStartupInput gdiplusstartupInput;

LRESULT CALLBACK WindowProc (HWND, UINT, WPARAM, LPARAM);
HWND button;
HWND Static;
ULONG_PTR gdiplustokend;
TCHAR szClassName[] = TEXT("Mywindow");
TCHAR MyClassName[] = TEXT("Mywindow");
LRESULT CALLBACK WindowProc (HWND, UINT, WPARAM, LPARAM);

void OnPaint(HDC hdc)
{
	Graphics graphics(hdc);
	SolidBrush brush(Color(255,255,0,0));
	FontFamily fontfamily(TEXT("Times New Roman"));
	Font font(&fontfamily,55,FontStyleRegular,UnitPixel);
	PointF pointf(50.0f,5.f);
	Bitmap* picture=Bitmap::FromResource(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP1));
	graphics.DrawImage(picture,0,0);
	delete[] picture;
	graphics.DrawString(TEXT(" Игра\nСапер"),-1,&font,pointf,&brush);
}
int WINAPI WinMain (HINSTANCE hinst,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)

{
    HWND hWnd;
    MSG messages;
    WNDCLASSEX wincl;

    wincl.hInstance = hinst;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProc;
    wincl.style = CS_DBLCLKS;
    wincl.cbSize = sizeof (WNDCLASSEX);
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    if (!RegisterClassEx (&wincl))
        return 0;

  hWnd=CreateWindowEx(0,szClassName,TEXT("Игра Сапер"),WS_MINIMIZEBOX,600,250,310,405,NULL,NULL,NULL,NULL);
  GdiplusStartup(&gdiplustokend,&gdiplusstartupInput,NULL);
 

    ShowWindow (hWnd,nFunsterStil);
	UpdateWindow(hWnd);
	 HMENU hMehu=CreateMenu();
  AppendMenu(hMehu,MF_POPUP,ID_BUTTON,TEXT("Новая игра"));
  AppendMenu(hMehu,MF_POPUP,ID_BUTTON1,TEXT("Выход"));
  SetMenu(hWnd, hMehu);
    while (GetMessage (&messages, NULL, 0, 0))
    {

        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }

    return messages.wParam;
}

LRESULT CALLBACK WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;

	static int sx,sy;
	int f[]={10};
	BringWindowToTop(hWnd);
	switch(message)
	{
	case WM_DESTROY:
		PostQuitMessage(0); // сообщение о выходе из цыкла обработки. Закрытие программы.
		break;
	
	case WM_COMMAND:
		switch (wParam)
		{
		case ID_BUTTON1:
			DestroyWindow(hWnd); break; 
			break;
	case ID_BUTTON:	
		MoveWindow(hWnd,600,250,310,405,TRUE);
		 
		CreateWindowEx(0,TEXT("button"),TEXT("Новичек"),WS_VISIBLE|WS_CHILD|WS_OVERLAPPED,90,250,100,25,hWnd,(HMENU)ID_BUTTON2,NULL,NULL);
		CreateWindowEx(0,TEXT("button"),TEXT("Любитель"),WS_VISIBLE|WS_CHILD,90,280,100,25,hWnd,(HMENU)ID_BUTTON3,hinst,NULL);
		CreateWindowEx(0,TEXT("button"),TEXT("Професионал"),WS_VISIBLE|WS_CHILD,90,310,100,25,hWnd,(HMENU)ID_BUTTON4,hinst,NULL);
		
		break;
		
	case ID_BUTTON2:
		MoveWindow(hWnd,600,300,305,345,1);
	
				
    for(int x=0; x<SAP_WIDTH; x++)
        for(int y=0; y<SAP_HEIGHT; y++){
			//Создаем кнопки с индентификаторами от 1 до ...
            CreateWindowEx(0,TEXT("BUTTON"),TEXT(""),
                WS_CHILD | WS_VISIBLE | BS_BITMAP, SAP_LEFT+x*29,SAP_TOP+y*29,29,29,
				hWnd,NULL,NULL,0);
			
			}
		break;
	case ID_BUTTON3:
		MoveWindow(hWnd,600,300,500,540,1);
		 for(int x=0; x<16; x++)
        for(int y=0; y<16; y++){
            //Создаем кнопки с индентификаторами от 1 до ...
            CreateWindowEx(0,TEXT("BUTTON"),TEXT(""),
                WS_CHILD | WS_VISIBLE | BS_BITMAP, SAP_LEFT+x*30,SAP_TOP+y*30,30,30,
				hWnd,NULL,NULL,0);

		}
		break;
	case ID_BUTTON4:
		MoveWindow(hWnd,400,200,740,790,1);
		 for(int x=0; x<24; x++)
        for(int y=0; y<24; y++){
            //Создаем кнопки с индентификаторами от 1 до ...
            CreateWindowEx(0,TEXT("BUTTON"),TEXT(""),
                WS_CHILD | WS_VISIBLE | BS_BITMAP, SAP_LEFT+x*30,SAP_TOP+y*30,30,30,
				hWnd,NULL,NULL,0);
		}
		break;
	case WM_LBUTTONDOWN:
		sx = LOWORD(lParam); 
		 sy = HIWORD(lParam); 
		 break;
	default: return 0;
		}
				case WM_CREATE:
			case WM_PAINT:

		hdc = BeginPaint(hWnd, &ps);
		OnPaint( hdc);
		EndPaint(hWnd,&ps);
	break;
	default:
		return DefWindowProc(hWnd,message,wParam,lParam);
	}
	return 0;
}
mixon-21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра Сапер mixon-21 Помощь студентам 2 22.11.2013 19:56
Не могу найти ошику в коде (игра Сапер) student14 Помощь студентам 4 17.05.2012 14:36
игра сапер julia_g Помощь студентам 0 19.11.2011 20:28
Сапер с++ daymon_amator Помощь студентам 0 12.04.2011 21:30
Сапер на С !!! $T@LKER Общие вопросы C/C++ 1 27.09.2010 12:48