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

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

?? 再快一點dlg.cpp

?? 學游戲不錯的實例教程
?? CPP
字號:
// 再快一點Dlg.cpp : implementation file
/*********************************
[學VC編游戲]
編著、程序設計:唐明理 2004.7
E-mail:  cqtml@163.com
**********************************/


#include "stdafx.h"
#include "再快一點.h"
#include "再快一點Dlg.h"
#include "getmap.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CString getdir;
CString getfile;
/////////////////////////////////////////////////////////////////////////////
// CMyDlg dialog

CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMyDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMyDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMyDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
	//{{AFX_MSG_MAP(CMyDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_MOUSEMOVE()
	ON_WM_TIMER()
	ON_WM_MOVE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyDlg message handlers

BOOL CMyDlg::OnInitDialog()//對話框程序的初始入口,[MFC自動產生]
{
	CDialog::OnInitDialog();
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon	
	// TODO: Add extra initialization here
////////////////////////////////////////////////////////////////////////////////
	m_game.initmap();		//初始化類
	m_game.loaddata();		//調資源包............................
	fidtim=0;				//尋路時間
	down=0;dowx=0;dowy=0;	//左鍵按鍵清0
	MoveWindow(0,0,SCRWI,SCRHE);//窗口定位
	CenterWindow();			//居中窗口
//--------------------------------------------------------------------
	CString str="    這是《學VC、編游戲》的第十個示例\r\n";
	str+="在這一章,我們使用了以下知識、技術。\r\n";
	str+="1.認識DirectX。\r\n";
	str+="2.建立DirectX環境和創建工作頁面的方法。\r\n";
	str+="3.各種頁面內容的拷貝方法。\r\n";
	str+="4.GDI與DirectX圖形處理方法的簡單比較。\r\n";

	str+="\r\n=======================\r\n";
	str+="   操作方法\r\n\r\n";
	str+="A、在場景內點任意點,指揮主角移動。\r\n";
	str+="B、將鼠標移到場景外,可以移動地圖。\r\n";
	str+="C、在微縮地圖上點一下,可以快速定位。\r\n";
	str+="D、ESC鍵,退出游戲。\r\n\r\n";
	str+="你可以指揮主角去打獵了。但打不死的,因為這里我們還沒有加對象的生命值。\r\n";
	GetDlgItem(IDC_EDIT1)->MoveWindow
		( m_game.mapl,m_game.maph+80,m_game.mapw,370,TRUE);
	SetDlgItemText(IDC_EDIT1, str);
//................................................................
	GetDlgItem(IDC_STATIC0)->MoveWindow( 0,8,WIDTH+4,HEIGHT+4,TRUE);
	GetDlgItem(IDC_STATIC1)->MoveWindow
		( m_game.mapl-2,m_game.mapt-2,m_game.mapw+4,m_game.maph+4,TRUE);
	GetDlgItem(IDC_STATIC2)->MoveWindow
		( m_game.mapl,m_game.maph+20,m_game.mapw,30,TRUE);
	GetDlgItem(IDOK)->MoveWindow
		( m_game.mapl,m_game.maph+55,m_game.mapw,25,TRUE);//調地圖
	GetDlgItem(IDC_STATIC3)->MoveWindow(2,600-26,260,18,TRUE);		//提示
	GetDlgItem(IDC_STATIC4)->MoveWindow(2+265,600-26,270,18,TRUE);	//時間
	GetDlgItem(IDC_STATIC5)->MoveWindow(2+270*2,600-26,250,18,TRUE);//坐標
//在狀態欄隱藏對話框==============================
	DWORD dwExStyle=GetExStyle();
	dwExStyle =(~WS_EX_APPWINDOW & dwExStyle) | WS_EX_TOOLWINDOW;
	SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,dwExStyle);
//================================================
    SetTimer(3,100,NULL);
////////////////////////////////////////////////////////////////////////////////	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CMyDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
	GetWindowRect(&lpRect);
}

HCURSOR CMyDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CMyDlg::OnCancel() //退出,[類向導中定義生成]
{	KillTimer(1);KillTimer(2);
	if( ::MessageBox(GetSafeHwnd(), "退出程序嗎?","請您確定!",
					MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2  ) == IDYES )
	{m_game.FreeDDraw();//釋放所有的DirectDraw對象。
	 m_game.exit();		//退出類
	 CDialog::OnCancel();
	}
	else {SetTimer(1,TIMER,NULL);SetTimer(2,300,NULL);}
}

void CMyDlg::OnTimer(UINT nIDEvent) //時鐘函數,[類向導中定義生成]
{////////////////////////////////////////////////////////////////////////////////////
	if(nIDEvent==1)//動畫刷屏
	{tim=timeGetTime();			//開始時間
	 CClientDC dc(this);
	 m_game.mlmap();			//地圖塊移動拼接
	 int i;
	 for(i=0;i<m_game.rs;i++) 
		{m_game.Alphasetobj(i,0);	//對象顯示
		}
	 for(i=0;i<m_game.rs;i++) 
		{m_game.Alphasetobj(i,1);	//對象顯示
		 m_game.lookit(i);	//角色碰撞
		}
	 m_game.Bk1ToPr(dc.m_hDC,lpRect);//主緩存頁面到主頁面
	 if(m_game.rs>0)	m_game.smlmap(dc.m_hDC);//數據調入后,顯示小地圖
	 tim=timeGetTime()-tim;		//顯示時間=結束時間-開始時間
	}
	if(nIDEvent==2)//顯示信息
	{char cc[255],c1[255];
	 int q=m_game.mann;
	 sprintf(cc,"地圖[X:%4d Y:%4d] 人[x:%4d y:%4d]",
		m_game.scrx,m_game.scry,m_game.man[q].xix,m_game.man[q].xiy);
	 SetDlgItemText(IDC_STATIC5, cc);
	 sprintf(cc,"[顯示區對象數:%3d] [%3dms/屏] [CPU占用%3d%]",m_game.mans,tim,tim*100/TIMER);
	 SetDlgItemText(IDC_STATIC4, cc);
	 switch(fidtim)
	 {case -1:	{strcpy(c1,"障礙點");	break;}
	  case -2:	{strcpy(c1,"起始點");	break;}
	  case -3:	{strcpy(c1,"無路");		break;}
	  case -4:	{strcpy(c1,"搜索忙");	break;}
	  case -5:	{strcpy(c1,"太遠了");	break;}
	  case -10:	{strcpy(c1,"左上邊界");	break;}
	  case -20:	{strcpy(c1,"右下邊界");	break;}
	  default:	{sprintf(c1,"搜索:%dms",fidtim);}
	 }
	 sprintf(cc,"地圖%dX%d 障礙%dX%d %s,%d",
		        WIDTH*m_game.SCRP0,HEIGHT*m_game.SCRP0,
				WIDTH*m_game.SCRP0/GX,HEIGHT*m_game.SCRP0/GY,c1,m_game.man[q].pk);
	 SetDlgItemText(IDC_STATIC3, cc);
	 m_game.randxy();//隨機產生獸的移動目標
	 if(MCIWndGetPosition(hMCI) >=MCIWndGetLength(hMCI)) MCIWndPlay(hMCI);
	}
	if(nIDEvent==3)//啟動延時
		{KillTimer(3);
		 OnOK();//調地圖
		}
	CDialog::OnTimer(nIDEvent);
}
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)//取針對主角的目標位置,[類向導中定義生成]
{/////////////////////////////////////////////////////////////////////////////////////
	int x0=point.x,y0=point.y;
	if(y0<10)//拖動窗口
		PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));
	CClientDC dc(this);
	fidtim=m_game.leftdown(dc.m_hDC,x0,y0);//按左鍵
	SetCursor(m_Cur);					//顯示光標
 /////////////////////////////////////////////////////////////////////////////////////
	CDialog::OnLButtonDown(nFlags, point);
}
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) 
{	CRect lpRect0;
	GetWindowRect(&lpRect0);
	int x0=pMsg->pt.x-lpRect0.left;
	int y0=pMsg->pt.y-lpRect0.top;
	CClientDC dc(this);
	if(m_game.rs>0)	m_game.movesmap(x0,y0);	//數據調入后,移動地圖
//	if(m_game.rs>0)	m_game.smlmap(dc.m_hDC);//數據調入后,顯示小地圖
	return CDialog::PreTranslateMessage(pMsg);
}
void CMyDlg::OnLButtonUp(UINT nFlags, CPoint point)//地圖編輯用 
{	down=0;dowx=0;dowy=0;	//左鍵按鍵清0
	SetCursor(m_Cur);
	CDialog::OnLButtonUp(nFlags, point);
}
void CMyDlg::OnMouseMove(UINT nFlags, CPoint point)//地圖編輯用 
{	int x=point.x-2-dowx;
	int y=point.y-10-dowy;
	int x0=(x+m_game.scrx)/GX,y0=(y+m_game.scry)/GY;

	CMyApp* pApp = (CMyApp*)AfxGetApp();										
	if(x>0&&x<WIDTH&&y>0&&y<HEIGHT)
	{if(m_game.m_fid.map[x0][y0]=='1'||					//目標點是障礙點
	   (x0<1||y0<1)||									//左上邊界
	   ((x0+1)>=WIDTH*m_game.SCRP0/GX||(y0+1)>=HEIGHT*m_game.SCRP0/GY)	//右下邊界
	  )
		  m_Cur=pApp->m_Cur3;							//禁
	 else m_Cur=pApp->m_Cur1;							//許
	}
	else  m_Cur=pApp->m_Cur0;							//普通光標
	SetCursor(m_Cur);

	CDialog::OnMouseMove(nFlags, point);
}

void CMyDlg::OnMove(int x, int y) 
{	CDialog::OnMove(x, y);	
	GetWindowRect(&lpRect);	
}

void CMyDlg::OnOK() 
{//調入文件對話框------------------------------------------------------
	KillTimer(1);KillTimer(2);

	if(hMCI!=NULL)
	{MCIWndClose(hMCI);  // close an open movie 
	 MCIWndDestroy(hMCI);
	 hMCI=NULL;
	}
	getmap Dlg;Dlg.DoModal();//顯示模態對話框
	if(getdir=="end")		//選擇的是退出
	{m_game.FreeDDraw();	//釋放所有的DirectDraw對象。
	 m_game.exit();			//退出類
	 CDialog::OnCancel();
	 return;
	}
	if(getdir!="")
	{CString name;
	 name.Format("%s/%s",getdir,getfile);
//----------------------------------------------------------------
	 fidtim=0;				//尋路時間
	 down=0;dowx=0;dowy=0;	//左鍵按鍵清0
	 m_game.movemap=0;		//地圖移動否?
	 m_game.fls=0;			//閃爍標志
	 m_game.rs=0;
	 m_game.edi=0;			//非編輯態
	 m_game.scrx=0;m_game.scry=0;
	 m_game.find_p=0;		//無搜索0有搜索1
//----------------------------------------------------------------
	 m_game.loadmap(name);			//調入地圖
	 m_game.loadza (name);			//調入障礙表
	 m_game.getsmap();				//生成小地圖
	 SetTimer(1,TIMER,NULL);		//設定屏幕刷新TIMER毫秒
	 SetTimer(2,1000,NULL);			//信息顯示周期為1秒
/////////////////////////////////////////////////////////////
	 name.Format("%s/Music1.mid",getdir);
	 hMCI = MCIWndCreate(NULL, NULL,WS_POPUP|//WS_VISIBLE|
								MCIWNDF_NOPLAYBAR|MCIWNDF_NOMENU,
								name);
	 MCIWndPlay(hMCI);
	}
	SetTimer(1,TIMER,NULL);SetTimer(2,300,NULL);	
//	CDialog::OnOK();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲在线观看免费视频| 色综合天天综合在线视频| 一区二区三区国产精华| 中文字幕在线观看不卡视频| 久久这里只有精品首页| 欧美精品一区二区高清在线观看| 欧美丰满高潮xxxx喷水动漫| 91超碰这里只有精品国产| 欧美精品日韩精品| 91精品在线一区二区| 日韩欧美一级二级三级久久久| 日韩免费视频一区二区| 精品日产卡一卡二卡麻豆| 久久久99精品久久| 国产精品美女久久久久久久久久久| 中文一区二区完整视频在线观看 | 国产精品热久久久久夜色精品三区| 久久久一区二区三区捆绑**| 欧美激情中文字幕一区二区| 亚洲天堂久久久久久久| 亚洲精品一二三区| 美女精品自拍一二三四| 久久超碰97中文字幕| 国产99精品在线观看| 99国产欧美久久久精品| 在线不卡一区二区| 国产偷国产偷亚洲高清人白洁| ...av二区三区久久精品| 五月天一区二区三区| 国产一区二区三区久久悠悠色av | 全部av―极品视觉盛宴亚洲| 国内成人免费视频| 91蜜桃在线观看| 精品电影一区二区三区| 亚洲免费成人av| 韩国欧美国产1区| av男人天堂一区| 欧美一级一区二区| 亚洲日本va午夜在线影院| 人禽交欧美网站| 日本韩国精品在线| 26uuu另类欧美亚洲曰本| 亚洲综合精品自拍| 99视频热这里只有精品免费| 欧美日韩一区在线| 国产精品日韩成人| 精品一区二区三区免费| 在线观看一区日韩| 国产精品污网站| 国内成+人亚洲+欧美+综合在线| 欧美性色黄大片| 国产精品久久久久桃色tv| 免费在线观看视频一区| 欧美三级乱人伦电影| 国产视频一区不卡| 狠狠色狠狠色综合| 5月丁香婷婷综合| 亚洲综合免费观看高清在线观看| av电影在线观看一区| 精品国产乱码久久久久久老虎| 香蕉久久一区二区不卡无毒影院| eeuss鲁片一区二区三区| www亚洲一区| 麻豆精品一区二区三区| 91精品国产综合久久精品麻豆 | 亚洲激情图片一区| 成人黄色国产精品网站大全在线免费观看| 欧美高清视频一二三区 | 国产精品美女久久久久久久久 | 中文字幕在线一区免费| 国产麻豆91精品| 久久久精品天堂| 国产永久精品大片wwwapp| 欧美精品一区二区三| 久久69国产一区二区蜜臀| 精品少妇一区二区三区在线播放| 天天av天天翘天天综合网| 欧美日韩国产bt| 肉色丝袜一区二区| 日韩欧美一级二级| 精品一区二区精品| 久久久99精品久久| 成人动漫视频在线| 亚洲欧洲另类国产综合| 91视频在线观看免费| 亚洲乱码国产乱码精品精小说| 91一区二区三区在线观看| 亚洲欧美电影院| 欧美在线免费观看亚洲| 日韩电影一二三区| 久久午夜色播影院免费高清| 国产精品中文字幕一区二区三区| 欧美mv日韩mv国产| 成人一级黄色片| 亚洲综合激情小说| 日韩片之四级片| av电影在线不卡| 亚洲成人动漫一区| 久久免费美女视频| 97精品视频在线观看自产线路二| 国产中文字幕一区| 中文字幕电影一区| 欧美性色黄大片| 精品一区中文字幕| 亚洲欧美视频在线观看视频| 欧美疯狂做受xxxx富婆| 国产91高潮流白浆在线麻豆 | 91麻豆精品国产91久久久使用方法 | 亚洲图片自拍偷拍| 日韩视频免费观看高清完整版| 国产精品一区不卡| 亚洲亚洲精品在线观看| 国产欧美一区二区精品忘忧草| 一本久久精品一区二区| 国产一区二区三区国产| 一区二区三区在线观看视频| 精品国产成人在线影院| 色狠狠色狠狠综合| 国产精品白丝jk白祙喷水网站 | 麻豆成人久久精品二区三区小说| 国产日产亚洲精品系列| 欧美日韩国产综合视频在线观看| 国产一区二区女| 亚洲国产精品视频| 国产精品美女一区二区| 精品毛片乱码1区2区3区| 欧美日韩高清不卡| 成人精品鲁一区一区二区| 精品一区二区三区香蕉蜜桃| 一区二区三区资源| 中文在线一区二区| 久久综合成人精品亚洲另类欧美 | 香蕉成人啪国产精品视频综合网| wwwwww.欧美系列| 制服丝袜激情欧洲亚洲| 欧美影视一区二区三区| 岛国av在线一区| 国产盗摄精品一区二区三区在线 | 蜜桃精品视频在线| 偷拍亚洲欧洲综合| 亚洲精品国久久99热| 国产精品嫩草影院av蜜臀| 欧美r级电影在线观看| 日韩欧美综合一区| 欧美一区二区三区在线视频| 51精品久久久久久久蜜臀| av一区二区三区| 99久久精品免费观看| 成人国产精品免费| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲国产精品成人综合色在线婷婷 | 亚洲欧美色图小说| 中文字幕在线不卡| 亚洲视频免费看| 一区二区三区鲁丝不卡| 夜夜嗨av一区二区三区| 亚洲精品午夜久久久| 亚洲国产精品一区二区www在线 | 国产一区二区成人久久免费影院 | 中文字幕精品综合| 国产精品乱码一区二三区小蝌蚪| 国产情人综合久久777777| 国产精品乱码人人做人人爱 | 亚洲人亚洲人成电影网站色| 国产精品国产三级国产a| 中文字幕在线观看一区| 一区二区日韩电影| 三级在线观看一区二区| 韩国在线一区二区| 粉嫩aⅴ一区二区三区四区五区| a美女胸又www黄视频久久| 色综合久久综合| 7777女厕盗摄久久久| 欧美成人性福生活免费看| 国产日韩欧美精品一区| 亚洲欧美日韩国产另类专区| 亚欧色一区w666天堂| 韩国视频一区二区| 91浏览器在线视频| 日韩三级高清在线| 亚洲欧美日韩人成在线播放| 亚洲国产精品久久不卡毛片 | 7777精品伊人久久久大香线蕉完整版| 欧美一区二区三区在线观看| 国产日韩欧美激情| 亚洲黄色尤物视频| 国内精品国产三级国产a久久| 91网站视频在线观看| 日韩欧美另类在线| 亚洲伦在线观看| 久久精品理论片| 日本电影欧美片| 精品国产一区二区三区久久久蜜月| 亚洲视频 欧洲视频| 免费观看在线色综合| 91免费版pro下载短视频| 精品国产露脸精彩对白| 一区二区三区**美女毛片| 国产精品12区| 6080yy午夜一二三区久久|