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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 走四方dlg.cpp

?? VC寫(xiě)的傳奇游戲源程序(第五部分)(共十三部分)每一部分均可單獨(dú)使用研究
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	DeleteObject(bit);	//刪除暫存設(shè)備相關(guān)位圖
	DeleteDC(DCBak);	//刪除地圖設(shè)備場(chǎng)景
//////////////////////////////////
	CDialog::OnCancel();
}
void CMyDlg::OnTimer(UINT nIDEvent) //時(shí)鐘函數(shù),[類向?qū)е卸x生成]
{	CClientDC dc(this);
//A、用地圖刷新窗口;將DCBak指向的位圖拷貝到dc.m_hDC指向的當(dāng)前窗口內(nèi)存
	int wid=rect.Width();	//當(dāng)前窗口寬
	int hei=rect.Height();	//當(dāng)前窗口高
	BitBlt(dc.m_hDC,0,0,wid,hei,DCBak,0,0,SRCCOPY);//用地圖刷新窗口
//B、角色移動(dòng)
	manmove(0);									//角色移動(dòng)
//C、調(diào)角色圖片到MemDC
	if(getpic("人",man[0].p)==FALSE)			//調(diào)角色圖片
			{AfxMessageBox(cc+"沒(méi)找到!");return;}
	SelectObject(MemDC,bit);					//調(diào)入的位圖關(guān)聯(lián)到角色設(shè)備場(chǎng)景
//D、調(diào)角色的位置偏移位置
	int x,y;
	if(man[0].lb!=2)//不是景,景是靜物沒(méi)有偏移位置
     {int x0=0,y0=0;
	  if(man[0].lb==0) {x0=rbufx[man[0].p];y0=rbufy[man[0].p];}
	  if(man[0].lb==1) {x0=sbufx[man[0].p];y0=sbufy[man[0].p];}
	  if(man[0].fw>4) x0=w-x0;	//是東北、東、東南方位
	  x=man[0].xix-x0;			//對(duì)象顯示的x位置
	  y=man[0].xiy-y0;			//對(duì)象顯示的y位置
	 }
//E、透明顯示
	TransparentBlt2(dc.m_hDC,x,y,w,h,MemDC,0,0,w,h,RGB(255,255,255));//透明顯示
//F、下一動(dòng)作
	man[0].p++;									//下一動(dòng)作
	if(man[0].p>=man[0].m1)						//若本動(dòng)作完成
				bianfw(0);						//進(jìn)行方位轉(zhuǎn)換
	CDialog::OnTimer(nIDEvent);
}
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)//取針對(duì)主角的目標(biāo)位置,[類向?qū)е卸x生成] 
{
	int x=point.x,y=point.y;
	man[0].x0=x;			//獲得目標(biāo)位置x
	man[0].y0=y;			//獲得目標(biāo)位置y
	man[0].p=man[0].m1-1;	//中止當(dāng)前動(dòng)作
	
	CDialog::OnLButtonDown(nFlags, point);
}
//**************************************************
//  getpic(CString cc,int p) 調(diào)圖片到相關(guān)位圖
//  由p得到將調(diào)的圖形文件名。
//  在指定目錄中調(diào)入圖形到相關(guān)位圖bit
//  調(diào)入動(dòng)物的圖形偏移值
//**************************************************
BOOL getpic(CString cc,int p)//調(diào)圖片到相關(guān)位圖[3章]
{	char name[256];
//A、調(diào)cc指定的圖形
	SetCurrentDirectory(appdir);	//置當(dāng)前目錄
	sprintf(name,"%s%s/c%05d.bmp",dir,cc,p);//生成將調(diào)的圖形文件名
	loadbmp(name);					//調(diào)BMP圖片
//B、調(diào)cc指定的圖形的偏移值。
	sprintf(name,"%s%s/c%05d.txt",dir,cc,p);
	FILE *f;
	f=fopen(name,"r");
	if(f!=NULL)
	{if(cc=="人") fscanf(f,"%d,%d",&rbufx[p],&rbufy[p]);//人的偏移量
	 if(cc=="獸") fscanf(f,"%d,%d",&sbufx[p],&sbufy[p]);//獸的偏移量
	 fclose(f);
	}
	return TRUE;
}
//**************************************************
//  loadbmp(CString cc)//調(diào)BMP圖片
//  調(diào)cc指定的圖形;取得的圖形在設(shè)備相關(guān)位圖bit中
//  圖形的寬、高存于全局變量w,h中
//**************************************************
BOOL loadbmp(CString cc)//調(diào)BMP圖片[2章]
{	DeleteObject(bit);					//刪除上次的位圖內(nèi)存。
	bit=(HBITMAP)LoadImage				//調(diào)入cc指定的圖形
				(AfxGetInstanceHandle(),//
				 cc,					//文件名
				 IMAGE_BITMAP,			//位圖方式
				 0,						//圖形寬
				 0,						//圖形高
				 LR_LOADFROMFILE|LR_CREATEDIBSECTION//方式
				);
	if(bit==NULL) return FALSE;			//調(diào)圖失敗
	DIBSECTION ds;						//
	BITMAPINFOHEADER &bm = ds.dsBmih;	//
	GetObject(bit,sizeof(ds),&ds);		//取位圖的信息->bminfo
	w = bm.biWidth;						//得到位圖寬度值 
	h = bm.biHeight;					//得到位圖高度值
	return TRUE;
}
//**************************************************
//  TransparentBlt2 (......)透明顯示
//  根據(jù)關(guān)鍵色,將hdc1中的圖形在hdc0中
//  自動(dòng)生成掩模,并生成透明圖形。
//注:TransparentBlt(......)是一個(gè)WIN API函數(shù),功能和這里的相同。在WIN2000和
//   以后的系統(tǒng)上可用。在WIN98中有嚴(yán)重的資源泄漏,根本不能用。
//   所謂的資源泄漏:
//					你把下面TransparentBlt2最后6句注釋掉就可看到。
//   要使用TransparentBlt(......)前,請(qǐng)引用:
//   #include <wingdi.h>
//   #pragma comment (lib,"msimg32.lib")
//**************************************************
void TransparentBlt2( HDC hdc0,		// 目標(biāo)DC
					int nX0,int nY0,// 目標(biāo)偏移
					int nW0,int nH0,// 目標(biāo)寬高度
					HDC hdc1,		// 源DC
					int nX1,int nY1,// 源起點(diǎn)
					int nW1,int nH1,// 源寬高度
					UINT Tcol		// 透明色,COLORREF類型
					)			//透明顯示[4章]
{	HBITMAP hBMP   =CreateCompatibleBitmap(hdc0,nW0, nH0);	// 創(chuàng)建位圖內(nèi)存
	HBITMAP mBMP   =CreateBitmap(nW0,nH0,1,1,NULL);			// 創(chuàng)建單色掩碼位圖
	HDC		hDC    =CreateCompatibleDC(hdc0);				//創(chuàng)建設(shè)備句柄
	HDC		mDC    =CreateCompatibleDC(hdc0);				//創(chuàng)建設(shè)備句柄
	HBITMAP oldBMP =(HBITMAP)SelectObject(hDC, hBMP);
	HBITMAP oldmBMP=(HBITMAP)SelectObject(mDC, mBMP);
	// 將源DC中的位圖拷貝到臨時(shí)DC中
	if (nW0==nW1&&nH0==nH1)
		BitBlt(hDC,0,0,nW0,nH0,hdc1,nX1,nY1,SRCCOPY);
	else
		StretchBlt(hDC,0,0,nW0,nH0,hdc1,nX1,nY1,nW1,nH1,SRCCOPY);
	SetBkColor(hDC, Tcol);// 設(shè)置透明色
	BitBlt(mDC,0,0,nW0,nH0,hDC,0,0,SRCCOPY);//生成透明區(qū)域?yàn)榘咨?其它區(qū)域?yàn)楹谏难诖a位圖

	SetBkColor(hDC, RGB(0,0,0));			//生成透明區(qū)域?yàn)楹谏?其它區(qū)域保持不變的位圖
	SetTextColor(hDC, RGB(255,255,255));	//白色
	BitBlt(hDC,0,0,nW0,nH0,mDC,0,0,SRCAND);
	SetBkColor(hdc0,RGB(255,255,255));		//透明部分保持屏幕不變,其它部分變成黑色
	SetTextColor(hdc0,RGB(0,0,0));			//黑色

	BitBlt(hdc0,nX0,nY0,nW0,nH0,mDC,0,0,SRCAND);	//"與"運(yùn)算,在hdc0生成掩模
	BitBlt(hdc0,nX0,nY0,nW0,nH0,hDC,0,0,SRCPAINT);	//"或"運(yùn)算,生成最終透明效果	
	SelectObject(hDC, oldBMP);				//以下為釋放資源
	DeleteDC(hDC);							//
	SelectObject(mDC, oldmBMP);				//
	DeleteDC(mDC);							//
	DeleteObject(hBMP);						//
	DeleteObject(mBMP);						//
}

//**************************************************
//  manmove(int i)	活動(dòng)對(duì)象的移動(dòng)
//  由當(dāng)前、目標(biāo)位置的差,計(jì)算當(dāng)前位置向不同方位的改變。
//**************************************************
void manmove(int i)//活動(dòng)對(duì)象的移動(dòng)[5章]
{	int stx,sty,qx,qy;
	switch(man[i].zs) 
		{case 2: {stx=9;sty=6;break;}//跑步長(zhǎng)
	     case 1: {stx=4;sty=2;break;}//走步長(zhǎng)
		 default:{stx=2;sty=1;break;}
		}
	qx=man[i].x0-man[i].xix;		//x當(dāng)前、目標(biāo)位置差
	qy=man[i].y0-man[i].xiy;		//y當(dāng)前、目標(biāo)位置差
	if (qx==0&&qy==0) 
	{
	 return ;		//到達(dá)返回
	}
	int qxa=abs(qx);				//x位置差絕對(duì)值
	int qya=abs(qy);				//y位置差絕對(duì)值
	if(qxa<stx)  stx=qxa;			//位置差不足步長(zhǎng),步長(zhǎng)為差
	if(qya<sty)  sty=qya;			//
	if(qx!=0) man[i].xix+=qxa/qx*stx;//當(dāng)前位置加步長(zhǎng)
	if(qy!=0) man[i].xiy+=qya/qy*sty;//[qya/qy]單位絕對(duì)值	
//以下是不同方位位置變化的直觀表示,作用與上式相同
/*	if(qx>0)	man[i].xix+=stx;	//向東走;若下面qy>0,就是東南方向了。
	if(qy>0)	man[i].xiy+=sty;	//向南走
	if(qx<0)	man[i].xix-=stx;	//向西走
	if(qy<0)	man[i].xiy-=sty;	//向北走*/
}
//**************************************************
//  bianfw(int q)//方位轉(zhuǎn)換
//  由當(dāng)前、目標(biāo)位置的差,計(jì)算活動(dòng)圖形的方向取向。
//**************************************************
void bianfw(int q)//方位轉(zhuǎn)換[5章]
{	int qx=man[q].x0-man[q].xix;		//x當(dāng)前,目標(biāo)位置差
	int qy=man[q].y0-man[q].xiy;		//y當(dāng)前,目標(biāo)位置差
	if(qx==0&&qy==0) 
		{man[q].zs=0;	//為0,動(dòng)作為站,方位保留
		 goto aa;
		}	
	man[q].zs=1;
	if(qx<0&&qy>0)		{man[q].fw=1;goto aa;}//取西南向
	if(qx<0&&qy<0)		{man[q].fw=3;goto aa;}//取西北向
	if(qx>0&&qy<0)		{man[q].fw=5;goto aa;}//取東北向
	if(qx>0&&qy>0)		{man[q].fw=7;goto aa;}//取東南向
	if      (qy>0)		{man[q].fw=0;goto aa;}//取南向
	if(qx<0)			{man[q].fw=2;goto aa;}//取西向
	if      (qy<0)		{man[q].fw=4;goto aa;}//取北向
	if(qx>0)			{man[q].fw=6;goto aa;}//取東向
aa:	setman(q);								  //設(shè)置活動(dòng)對(duì)象初值
}
//**************************************************
//  setman(int q) 設(shè)置活動(dòng)對(duì)象初值
//  由給定的對(duì)象、方位、動(dòng)作計(jì)算出圖形的位置和數(shù)量。
//**************************************************
void setman(int q)//設(shè)置活動(dòng)對(duì)象初值[5章]
{	int a=400;
	man[q].m0=man[q].js*a+zjdz[man[q].zs].qi
			  +man[q].fw*zjdz[man[q].zs].bc;//位置初值
	man[q].m1=zjdz[man[q].zs].bc+man[q].m0;	//位置終值
	man[q].p=man[q].m0;						//計(jì)數(shù)
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄色日韩网站视频| 在线亚洲一区观看| 精久久久久久久久久久| 老司机免费视频一区二区| 天堂av在线一区| 日本网站在线观看一区二区三区 | 日韩国产欧美在线视频| 亚洲综合色丁香婷婷六月图片| 亚洲免费观看高清| 亚洲高清免费一级二级三级| 亚洲国产成人porn| 日本成人在线不卡视频| 国产真实乱对白精彩久久| 国产成人鲁色资源国产91色综| 国产成人综合亚洲网站| 成人免费高清视频在线观看| 色婷婷av久久久久久久| 欧美网站大全在线观看| 欧美一级专区免费大片| 精品99久久久久久| 亚洲国产成人一区二区三区| 亚洲欧美激情一区二区| 丝袜脚交一区二区| 精品一区二区三区免费观看| 成人午夜伦理影院| 欧美专区亚洲专区| 在线91免费看| 国产亚洲午夜高清国产拍精品| 国产精品初高中害羞小美女文| 一区二区三区四区激情| 日韩av午夜在线观看| 国产精品一二三| 色综合天天性综合| 欧美一卡2卡三卡4卡5免费| 国产清纯美女被跳蛋高潮一区二区久久w| 国产欧美精品一区二区色综合| 一区二区三区在线视频免费观看| 午夜精品在线看| 国产精品一级片| 欧美三片在线视频观看| 精品国产一区久久| 一区二区日韩av| 国产在线播放一区三区四| 日本丶国产丶欧美色综合| 日韩欧美国产麻豆| 亚洲精品中文字幕在线观看| 另类中文字幕网| 91蜜桃在线观看| 精品欧美一区二区在线观看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产一区二区三区观看| 色综合一区二区三区| 欧美大尺度电影在线| 中文字幕一区二区日韩精品绯色| 日韩va欧美va亚洲va久久| 岛国av在线一区| 日韩一区二区三区在线| 亚洲欧美另类图片小说| 国产一级精品在线| 欧美日韩电影在线播放| 亚洲天堂中文字幕| 国产一区 二区 三区一级| 欧美精品一级二级三级| 亚洲欧洲美洲综合色网| 紧缚奴在线一区二区三区| 欧美日韩在线观看一区二区 | 欧美tickle裸体挠脚心vk| 亚洲免费av观看| 国产精品99久久久| 在线播放一区二区三区| 一区二区三区电影在线播| 国产精品一区二区果冻传媒| 欧美一区二区三区免费在线看| 亚洲美女精品一区| 东方欧美亚洲色图在线| 精品国产伦一区二区三区观看方式| 亚洲一级二级三级| 91免费版在线| 中文字幕日韩av资源站| 成人深夜视频在线观看| 欧美精品一区二区三区四区| 免费在线看一区| 欧美日韩免费电影| 亚洲大片免费看| 91年精品国产| 最新国产成人在线观看| 国产成人精品免费视频网站| 精品国产污污免费网站入口| 美女视频网站久久| 日韩一区二区精品在线观看| 丝袜诱惑制服诱惑色一区在线观看| 91久久精品一区二区二区| 中文字幕中文字幕中文字幕亚洲无线| 久久99久久精品欧美| 欧美电影精品一区二区| 精品一区二区三区久久久| 日韩精品一区二区在线| 麻豆视频观看网址久久| 欧美岛国在线观看| 久久99国产精品久久99| 久久综合中文字幕| 黄网站免费久久| 久久久精品国产免大香伊| 国产精品99久久久久久似苏梦涵| 国产色产综合色产在线视频| 国产99久久久国产精品| 中文无字幕一区二区三区| 国产v日产∨综合v精品视频| 国产精品国产三级国产a | 国产无一区二区| 国产精品原创巨作av| 欧美国产日韩亚洲一区| 不卡av电影在线播放| 亚洲品质自拍视频| 欧洲国产伦久久久久久久| 亚洲va韩国va欧美va| 欧美高清视频不卡网| 美脚の诱脚舐め脚责91| 久久久久久久综合| 不卡的电影网站| 亚洲成a人片综合在线| 欧美麻豆精品久久久久久| 麻豆免费精品视频| 国产精品久久久久久久岛一牛影视| 91浏览器在线视频| 日韩精品一二三| 久久精品视频一区二区三区| 不卡的av在线播放| 午夜精品在线看| 久久久国产精品不卡| 色欧美片视频在线观看在线视频| 亚洲va国产天堂va久久en| 精品久久国产97色综合| 波多野结衣精品在线| 亚洲主播在线观看| 精品av久久707| 91猫先生在线| 日韩在线观看一区二区| 国产欧美1区2区3区| 在线视频国内一区二区| 日本vs亚洲vs韩国一区三区二区| 国产欧美一区二区精品性| 色老汉av一区二区三区| 麻豆精品视频在线| 国产精品高潮久久久久无| 91精品中文字幕一区二区三区| 国产九色精品成人porny| 亚洲在线视频免费观看| 欧美精品一区二区三区很污很色的| av激情综合网| 蜜桃一区二区三区四区| 亚洲欧美一区二区视频| 91精品国产入口| av成人免费在线| 蜜臀av性久久久久蜜臀av麻豆| 国产精品九色蝌蚪自拍| 欧美一区二区成人| 99久久精品免费看| 国模冰冰炮一区二区| 亚洲精品美腿丝袜| 久久一区二区三区四区| 欧美伊人精品成人久久综合97 | 欧美三区在线观看| 岛国av在线一区| 久久精品国产精品青草| 一区二区三区四区不卡在线| 久久尤物电影视频在线观看| 91福利社在线观看| 成人美女视频在线观看18| 毛片基地黄久久久久久天堂| 一区二区三区在线高清| 中文一区在线播放| 久久老女人爱爱| 在线综合视频播放| 在线免费视频一区二区| 国产91露脸合集magnet| 久久电影网电视剧免费观看| 亚洲一区二区三区视频在线播放| 国产清纯在线一区二区www| 日韩女优电影在线观看| 欧美精选午夜久久久乱码6080| av电影在线观看完整版一区二区| 国产精品影音先锋| 久久99精品国产91久久来源| 日韩成人av影视| 亚洲成人第一页| 亚洲国产wwwccc36天堂| 国产精品日韩成人| 国产亚洲欧洲一区高清在线观看| 正在播放亚洲一区| 欧美日本高清视频在线观看| 在线亚洲一区二区| 99re热这里只有精品视频| 国产a级毛片一区| 国产精品1区二区.| 狠狠色狠狠色综合系列| 蜜臀av在线播放一区二区三区| 日本成人在线一区| 日本成人在线看| 首页欧美精品中文字幕|