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

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

?? 快一點dlg.cpp

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

#include "stdafx.h"
#include "快一點.h"
#include "快一點Dlg.h"
#include "setmap.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()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

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

BOOL CMyDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon	
	// TODO: Add extra initialization here

	MoveWindow(0,0,800,600);
	CenterWindow();	

	m_game.initmap();
	m_game.loaddata();
	fidtim=0;
	down=0;dowx=0;dowy=0;
	hMCI=NULL;
//--------------------------------------------------------------------
	CString str="   這是《學VC、編游戲》的第九個示例\r\n";
	str+="   在這一章,我們使用了以下知識、技術。\r\n";
	str+="1、圖形資源的打包方法。\r\n";
	str+="2、圖形的壓縮方法。\r\n";
	str+="3、將壓縮資源包一次性調入內存。\r\n";
	str+="4、從內存的壓縮資源包中讀取指的圖形。\r\n\r\n";

	str+="重點:圖形資源壓縮打包和使用壓縮包。\r\n\r\n"; 
	str+="程序設計:唐明理\r\n"; 
	str+="E-mail:cqtml@163.com\r\n"; 
	str+="\r\n====操作方法====\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();
	}
}

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.exit();	
	 CDialog::OnCancel();
	}
	else {SetTimer(1,TIMER,NULL);SetTimer(2,1000,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);
		}
	 BitBlt(dc.m_hDC,2,10,WIDTH,HEIGHT,m_game.BkDC1,0,0,SRCCOPY);
	 if(m_game.rs>1) 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(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);
	}
	return CDialog::PreTranslateMessage(pMsg);
}
void CMyDlg::OnLButtonUp(UINT nFlags, CPoint point)
{	down=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::OnOK() 
{	KillTimer(1);KillTimer(2);
	if(hMCI!=NULL)
	{MCIWndClose(hMCI);
	 MCIWndDestroy(hMCI);
	 hMCI=NULL;
	}
	setmap Dlg;Dlg.DoModal();
	if(getdir!="")
	{CString name;
	 name.Format("%s/%s",getdir,getfile);
	 fidtim=0;
	 down=0;dowx=0;dowy=0;
	 hMCI=NULL;
	 m_game.loadmap(name);
	 m_game.loadza (name);
	 m_game.getsmap();	
	 SetTimer(1,TIMER,NULL);
	 SetTimer(2,1000,NULL);	
/////////////////////////////////////////////////////////////
	 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一区二区三区免费野_久草精品视频
色悠悠亚洲一区二区| 欧美日韩精品福利| 欧美老肥妇做.爰bbww| 一区二区三区国产精华| 色婷婷av一区二区三区软件 | 欧美日韩国产色站一区二区三区| 成人综合婷婷国产精品久久蜜臀| 国产精品天天看| 91麻豆福利精品推荐| 午夜a成v人精品| 精品久久国产老人久久综合| 国产1区2区3区精品美女| 亚洲亚洲精品在线观看| 精品剧情在线观看| 欧美精品一区二区在线观看| 色猫猫国产区一区二在线视频| 一个色妞综合视频在线观看| 五月婷婷激情综合| 美国三级日本三级久久99| 亚洲国产激情av| 在线电影一区二区三区| 日韩区在线观看| 欧美怡红院视频| 成人综合激情网| 欧美丝袜第三区| 欧美一级理论性理论a| 久久久久久久久久久99999| 欧美亚一区二区| 日韩精品一区二区三区四区视频| 色天天综合色天天久久| 欧美精品丝袜中出| 国产欧美一区二区精品久导航| 这里只有精品99re| 精品视频全国免费看| 国产·精品毛片| 欧美日韩综合在线免费观看| 欧美电影免费观看高清完整版在线观看| 精品对白一区国产伦| 亚洲国产岛国毛片在线| 午夜视频在线观看一区| 国产精品亚洲第一区在线暖暖韩国| 亚洲动漫第一页| 国产河南妇女毛片精品久久久| 蜜臀久久99精品久久久久宅男 | 亚洲专区一二三| 亚洲欧洲一区二区三区| 久久色.com| 国产亚洲综合av| 欧美激情艳妇裸体舞| 天天操天天色综合| 91视频免费观看| 久久色在线观看| 六月丁香婷婷色狠狠久久| 秋霞国产午夜精品免费视频| 日韩电影在线观看电影| 青青青爽久久午夜综合久久午夜 | 亚洲国产中文字幕| 成人视屏免费看| 2欧美一区二区三区在线观看视频| 亚洲午夜私人影院| 97久久精品人人澡人人爽| 97久久精品人人爽人人爽蜜臀| 日韩欧美国产小视频| 亚洲午夜日本在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 精品国产污网站| 蜜桃一区二区三区四区| 欧美日本在线播放| 日韩电影在线观看网站| 欧美乱妇15p| 午夜视频在线观看一区二区| 欧美色涩在线第一页| 亚洲免费视频中文字幕| 三级一区在线视频先锋| 国产精品99久久久久久宅男| 91麻豆精品国产| 日本成人在线网站| 日韩精品一区二区三区四区视频| 日韩精品欧美精品| 日韩亚洲欧美高清| 免费成人在线视频观看| 欧美tickling挠脚心丨vk| 蜜臀av国产精品久久久久| 日韩免费一区二区三区在线播放| 美女网站色91| 国产欧美一区二区三区在线老狼 | 成人ar影院免费观看视频| 日本乱码高清不卡字幕| 亚洲精品你懂的| 精品一区二区三区在线视频| 成人黄色片在线观看| 中文字幕五月欧美| 日本韩国欧美在线| 香港成人在线视频| 9i在线看片成人免费| 欧美一区二区三区视频在线 | 一区二区激情视频| 欧美久久久久久久久久| 日本亚洲三级在线| 久久先锋影音av| 菠萝蜜视频在线观看一区| 亚洲一线二线三线久久久| 欧美日韩一区精品| 国产麻豆一精品一av一免费 | 国产一区二区不卡在线| 亚洲国产精品传媒在线观看| 在线观看亚洲精品| 一区在线中文字幕| 欧美日韩亚洲丝袜制服| 久久99国产精品久久| 亚洲人成7777| 欧美一区二区三区人| 国产福利一区二区三区| 亚洲无人区一区| 国产婷婷色一区二区三区四区| 色久优优欧美色久优优| 国产精品一区三区| 午夜激情久久久| 中文字幕一区二区三区乱码在线| 666欧美在线视频| 99久久精品久久久久久清纯| 蜜臀av一区二区三区| 亚洲精选视频免费看| 久久综合成人精品亚洲另类欧美| 欧美亚男人的天堂| 成人免费视频国产在线观看| 日本网站在线观看一区二区三区| 亚洲视频一区二区在线| 在线视频国内自拍亚洲视频| 国产精品综合一区二区| 午夜精品福利一区二区三区av| 国产精品伦理在线| 26uuu色噜噜精品一区二区| 欧美日韩一区二区三区视频| 丁香五精品蜜臀久久久久99网站| 另类小说一区二区三区| 亚洲午夜一二三区视频| 亚洲女子a中天字幕| 久久精品无码一区二区三区| 欧美一区二区在线播放| 欧美日韩日本视频| 91丨九色丨蝌蚪丨老版| 成人蜜臀av电影| 国产乱国产乱300精品| 麻豆91在线观看| 男女男精品视频| 日韩高清不卡一区| 天堂午夜影视日韩欧美一区二区| 一区二区三区中文字幕精品精品| 中文字幕在线不卡| 国产精品美女久久久久久2018| 国产日韩欧美精品电影三级在线| 日韩精品专区在线影院重磅| 91精品国产综合久久精品麻豆| 欧美日韩一级二级三级| 欧美日韩精品一区二区三区蜜桃| 欧美影院午夜播放| 欧美日韩不卡一区二区| 欧美一级高清片| 欧美成人乱码一区二区三区| 精品国精品国产| 精品国产免费人成在线观看| 久久一夜天堂av一区二区三区| 精品国产乱码久久久久久久| 久久众筹精品私拍模特| 欧美韩国一区二区| 亚洲伦理在线精品| 亚洲第一狼人社区| 蜜臀久久久久久久| 国产麻豆精品theporn| www.欧美日韩| 精品视频在线免费看| 日韩一二三区不卡| 中日韩免费视频中文字幕| 亚洲欧美国产毛片在线| 视频一区在线播放| 国产综合一区二区| 美女一区二区三区在线观看| 韩国精品在线观看| 99视频精品全部免费在线| 欧美日韩美女一区二区| 欧美变态口味重另类| 中文字幕字幕中文在线中不卡视频| 亚洲福利视频一区| 国产精品一区三区| 欧美日韩一区二区三区在线| 久久综合久久99| 樱桃国产成人精品视频| 蜜桃视频在线观看一区| 国产91精品一区二区麻豆亚洲| 91亚洲精品久久久蜜桃网站 | 亚洲柠檬福利资源导航| 视频在线在亚洲| 北条麻妃一区二区三区| 欧美日韩亚洲高清一区二区| 国产三区在线成人av| 天天综合色天天综合| 丁香一区二区三区| 精品国产第一区二区三区观看体验| 亚洲视频小说图片|