亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hanio.cpp

?? Hanio算法演算實例
?? CPP
字號:
#include "Hanio.h"

Hanio Main;
Hanio Demo;
BOOL bAuto;
int iStart;
int iEnd;
BOOL bSel=FALSE;
POINT ptStart;

RECT SelRect;
RECT Temp1;	
RECT Temp2;

int WINAPI WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 	MSG msg;

	if(!MyRegisterClass(hInstance))
	{
		MessageBeep(0);
		return FALSE;
	}

	if (!InitInstance (hInstance, nCmdShow)) 
	{
		MessageBeep(0);
		return FALSE;
	}

	while (GetMessage(&msg, NULL, 0, 0)) 
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{	
	POINT pt;
	HDC hdc;
	CMap Map;
	int i;
	switch (message) 
	{
		case WM_CREATE:
			bAuto=FALSE;
			break;
		case WM_PAINT:
			Draw();
			break;
		case WM_LBUTTONDOWN:
			ptStart.x=LOWORD(lParam);
			ptStart.y=HIWORD(lParam);
			Map=Main.Record[Main.iStep];
			for(i=0;i<3;i++)
			{
				if(PointInRect(ptStart,Map.Rect[i][Map.iCount[i]-1]))
				{
					iStart=i;
					bSel=TRUE;
					SelRect=Map.Rect[i][Map.iCount[i]-1];
					Temp1=SelRect;
					break;
				}			
			}
			break;
		case WM_MOUSEMOVE:
			if(!bSel)
				break;
			pt.x=LOWORD(lParam);
			pt.y=HIWORD(lParam);
			hdc=GetDC(hWnd);
			SetROP2(hdc,R2_NOTXORPEN);
			Rectangle(hdc,
				Temp1.left,
				Temp1.top,
				Temp1.right,
				Temp1.bottom);
			Temp2=Temp1;
			Temp2.left=SelRect.left+(pt.x-ptStart.x);
			Temp2.right=SelRect.right+(pt.x-ptStart.x);
			Temp2.top=SelRect.top+(pt.y-ptStart.y);
			Temp2.bottom=SelRect.bottom+(pt.y-ptStart.y);
			Rectangle(hdc,
				Temp2.left,
				Temp2.top,
				Temp2.right,
				Temp2.bottom);
			Temp1=Temp2;
			break;
		case WM_LBUTTONUP:
			if(!bSel)
				break;

			bSel=FALSE;
			pt.x=LOWORD(lParam);
			pt.y=HIWORD(lParam);
			iEnd=PointToNum(pt);
			Main.Move(iStart,iEnd);
			if(Main.Record[Main.iStep].iCount[2]==NUM)
			{
				MessageBox(hWnd,"恭喜你,成功了",szTitle,MB_OK);
				SendMessage(hWnd,WM_KEYDOWN,VK_F5,0);
			}
			SendMessage(hWnd,WM_PAINT,0,0);
			break;
		case WM_KEYDOWN:			
			if(wParam==VK_F3)
			{
				bAuto=TRUE;
				Demo=Hanio();
				Demo.AutoMove(0,1,2,NUM);
				bAuto=FALSE;
				SendMessage(hWnd,WM_PAINT,0,0);
				break;
			}
			if(wParam==VK_F2)
			{
				Main.Undo();
				SendMessage(hWnd,WM_PAINT,0,0);
				break;
			}
			if(wParam==VK_F4&&NUM>3)
			{
				NUM--;
				Main=Hanio();
				Demo=Hanio();
				SendMessage(hWnd,WM_PAINT,0,0);
				break;
			}
			if(wParam==VK_F5&&NUM<MAXLEVEL)
			{
				NUM++;
				Main=Hanio();
				Demo=Hanio();
				SendMessage(hWnd,WM_PAINT,0,0);
				break;
			}
			break;
		case WM_CHAR:
			if(wParam==(unsigned char)ESC)
			{
				PostQuitMessage(0);
			}
			break;
		case WM_DESTROY:			
			PostQuitMessage(0);
			break;
		default:
			return DefWindowProc(hWnd, message, wParam, lParam);
   }

   return 0;
}

BOOL MyRegisterClass(HINSTANCE hInstance)
{
	WNDCLASS wcex;	
	
	wcex.cbClsExtra		= 0;
	wcex.cbWndExtra		= 0;	
	wcex.hbrBackground	= (HBRUSH)(GetStockObject(WHITE_BRUSH));
	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
	wcex.hIcon			= LoadIcon(hInstance,(LPCTSTR)IDI_ICON1);
	wcex.hInstance		= hInstance;
	wcex.lpfnWndProc	= (WNDPROC)WndProc;
	wcex.lpszClassName	= szWndClass;
	wcex.lpszMenuName	= NULL;
	wcex.style			= CS_HREDRAW | CS_VREDRAW;	

	return RegisterClass(&wcex);
}

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
	hWnd = CreateWindow(szWndClass, szTitle, WS_OVERLAPPEDWINDOW&~WS_MAXIMIZEBOX&~WS_THICKFRAME,
		CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

	if (!hWnd)
	{
		return FALSE;
	}

	int xMax=GetSystemMetrics(SM_CXSCREEN);
	int yMax=GetSystemMetrics(SM_CYSCREEN);

	LPRECT lpRect=new RECT;
	GetWindowRect(hWnd,lpRect);

	LPPOINT lpLeftTop=new POINT;
	lpLeftTop->x=lpRect->left;
	lpLeftTop->y=lpRect->top;
	ScreenToClient(hWnd,lpLeftTop);

	int xWnd=X-lpLeftTop->x*2;
	int yWnd=Y-lpLeftTop->y-lpLeftTop->x;

	int xStart=(xMax-xWnd)/2;
	int yStart=(yMax-yWnd)/2;

	MoveWindow(hWnd,xStart,yStart,xWnd,yWnd,TRUE);
	ShowWindow(hWnd, nCmdShow);
	UpdateWindow(hWnd);	

	return TRUE;
}

void Draw()
{
	HDC			hdc;
	PAINTSTRUCT ps;
	BeginPaint(hWnd,&ps);
	hdc=GetDC(hWnd);
	Rectangle(hdc,-1,-1,X+1,Y+1);

	TextOut(hdc,Dx,Y-180+Dx,szAuthor,strlen(szAuthor));
	TextOut(hdc,Dx,Y-180+2*Dx,szMail,strlen(szMail));
	TextOut(hdc,Dx,Y-180+3*Dx,szMsg1,strlen(szMsg1));
	TextOut(hdc,Dx,Y-180+4*Dx,szMsg2,strlen(szMsg2));

	if(!bAuto)
	{
		wsprintf(szCurMsg,"當前 %d 關,第 %d 步",NUM,Main.iStep);
		TextOut(hdc,250+Dx,Y-180+2*Dx,szCurMsg,strlen(szCurMsg));
		Main.OnDraw(hdc);
	}
	else
	{
		wsprintf(szCurMsg,"當前 %d 關,第 %d 步",NUM,Demo.iStep);
		TextOut(hdc,250+Dx,Y-180+2*Dx,szCurMsg,strlen(szCurMsg));
		Demo.OnDraw(hdc);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜美腿成人在线| 91麻豆视频网站| k8久久久一区二区三区| 欧美群妇大交群中文字幕| 国产欧美日韩在线| 图片区小说区区亚洲影院| 国产高清久久久| 欧美欧美欧美欧美首页| 亚洲人成在线观看一区二区| 久久er精品视频| 欧美日韩一区二区在线观看| 中文字幕乱码一区二区免费| 久久精品国产77777蜜臀| 色噜噜夜夜夜综合网| 亚洲国产高清aⅴ视频| 毛片基地黄久久久久久天堂| 日本高清不卡一区| 国产精品护士白丝一区av| 国产成人午夜精品5599| 日韩一区二区三区视频在线| 亚洲电影一区二区三区| 99精品视频一区二区| 国产日韩欧美在线一区| 韩国一区二区三区| 日韩免费看的电影| 老司机免费视频一区二区| 91精品国产综合久久国产大片| 亚洲精品菠萝久久久久久久| 91女人视频在线观看| 国产精品久久久久久久久动漫| 国产成人无遮挡在线视频| 久久在线观看免费| 国产麻豆精品一区二区| 久久麻豆一区二区| 国产成人在线视频网址| 久久免费偷拍视频| 国产xxx精品视频大全| 国产精品欧美综合在线| 丁香天五香天堂综合| 国产欧美日韩综合| 91亚洲国产成人精品一区二三| 国产精品热久久久久夜色精品三区| 成人在线视频一区| 中文字幕五月欧美| 在线观看亚洲a| 日本视频一区二区| 精品国产免费久久| 国产精品 日产精品 欧美精品| 亚洲国产精品精华液2区45| 99综合电影在线视频| 一区二区高清在线| 3atv在线一区二区三区| 韩日欧美一区二区三区| 自拍偷拍亚洲综合| 欧美视频一区二区三区在线观看 | 91原创在线视频| 亚洲一区欧美一区| 日韩欧美综合在线| 国产91清纯白嫩初高中在线观看 | 91在线丨porny丨国产| 一区二区成人在线观看| 欧美一级在线观看| 成人免费高清视频在线观看| 一区二区三区四区蜜桃| 91麻豆精品国产91久久久久久久久| 精品在线观看视频| 中文字幕制服丝袜一区二区三区 | 日韩精品福利网| 精品国产凹凸成av人网站| 成人黄色a**站在线观看| 亚洲最新在线观看| 精品国产乱码久久久久久夜甘婷婷 | 国产成人在线免费| 午夜视频久久久久久| 26uuu亚洲| 欧美中文字幕一区二区三区亚洲| 激情综合色丁香一区二区| 一区二区三区日韩欧美| 久久夜色精品一区| 欧美群妇大交群的观看方式| 成人激情免费视频| 日韩电影在线一区| 亚洲少妇30p| 精品日韩在线观看| 欧美性一二三区| 成人免费黄色在线| 国内成人精品2018免费看| 亚洲综合色自拍一区| 国产精品久久久久久久第一福利| 日韩免费高清电影| 欧美日韩免费一区二区三区视频| 不卡一卡二卡三乱码免费网站| 秋霞电影一区二区| 午夜视频在线观看一区二区三区| 国产精品久久久久四虎| 精品88久久久久88久久久| 欧美丰满高潮xxxx喷水动漫| 99久久精品国产毛片| 国产成a人无v码亚洲福利| 麻豆精品视频在线观看视频| 午夜精品一区二区三区电影天堂 | 91丨porny丨首页| 国产精品18久久久久久vr| 美女网站色91| 天天av天天翘天天综合网| 一区二区三区不卡视频| 中文字幕一区二区三区不卡在线| 久久精品一区四区| 久久久久国产精品麻豆ai换脸 | 麻豆高清免费国产一区| 午夜久久久久久久久久一区二区| 亚洲视频在线观看一区| 国产精品久久夜| 国产精品色哟哟网站| 中文字幕免费不卡| 国产精品久久夜| 亚洲欧美成人一区二区三区| 日韩美女久久久| 亚洲免费毛片网站| 亚洲小说春色综合另类电影| 亚洲一区成人在线| 日本成人中文字幕在线视频| 日韩成人精品在线观看| 九九精品视频在线看| 久久99国产精品尤物| 国产一区二区三区国产| 国产传媒一区在线| 91免费视频网| 欧美亚洲动漫制服丝袜| 制服丝袜一区二区三区| 日韩免费成人网| 国产日韩欧美不卡在线| 中文字幕日韩一区| 一区av在线播放| 日韩综合小视频| 激情综合网天天干| bt欧美亚洲午夜电影天堂| 日本精品一级二级| 欧美精品日日鲁夜夜添| 精品久久国产97色综合| 亚洲国产精品黑人久久久| 一区二区三区日韩在线观看| 日韩在线一二三区| 福利91精品一区二区三区| 色婷婷精品久久二区二区蜜臀av| 欧美日韩中文字幕精品| 久久免费午夜影院| 一区二区免费在线| 国产一区二区美女诱惑| 色综合色综合色综合色综合色综合 | 93久久精品日日躁夜夜躁欧美| 欧美私人免费视频| 26uuu精品一区二区三区四区在线| 国产欧美日韩麻豆91| 午夜视频久久久久久| 国产精品原创巨作av| 色婷婷狠狠综合| 精品欧美乱码久久久久久| 亚洲视频一二区| 麻豆91精品91久久久的内涵| 成人高清av在线| 日韩一区二区三区在线| 亚洲视频一二三| 国产露脸91国语对白| 欧美日本一道本| 国产精品久久福利| 久久99久久精品欧美| 欧美体内she精高潮| 欧美激情一区在线观看| 美女网站视频久久| 欧美影视一区二区三区| 中文字幕精品三区| 久久精品久久99精品久久| 色综合久久中文字幕| 久久久久九九视频| 久久精品99久久久| 欧美精品亚洲一区二区在线播放| 国产日韩欧美高清在线| 美女www一区二区| 欧美亚洲综合色| 国产精品久久久久久久久动漫 | 中文无字幕一区二区三区| 日本aⅴ亚洲精品中文乱码| 色系网站成人免费| 亚洲国产高清aⅴ视频| 国产一区二区在线看| 日韩视频免费观看高清在线视频| 一区二区三区在线视频观看| av不卡一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 免费久久99精品国产| 7777精品伊人久久久大香线蕉 | 91麻豆精品国产91久久久久久久久 | 欧美日韩视频在线一区二区| 中文字幕一区av| 97久久超碰国产精品| 国产精品久久久久久亚洲伦| 成人高清视频在线| 亚洲人成电影网站色mp4| av激情成人网|