资源描述:
《图形与图像报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图形与图像报告姓名:宋俭玲学号:20077610625一.实验功能这是一个简单的小游戏,用Win32写的。内容为:用键盘上下左右控制主角,游览场景,与场景中的人物进行交互。包括Maps,MyGames,SystemFunction三个类,主要的操作有MyGames类完成二.主要代码#include#include#include#include#includeusingnamespacestd;#include"My
2、Games.h"#include"SystemFunction.h"voidMyGames::Move(void){intx,y,x1,y1;inttemp;intTmp_Width;intTmp_Height;switch(Role_Status){caseRole_RIGHT:if((Role_X+2>Map[Scene].Width)
3、
4、(!CanMove(Role_Y+1,Role_X+1))){DrawMove();return;}Tmp_Width=Bmp_Width;temp=-1;break;
5、caseRole_LEFT:if((Role_X<=0)
6、
7、(!CanMove(Role_Y+1,Role_X-1))){DrawMove();return;}Tmp_Width=-Bmp_Width;temp=1;break;caseRole_UP:if((Role_Y+1<=0)
8、
9、(!CanMove(Role_Y,Role_X))){DrawMove();return;}Tmp_Height=-Bmp_Width;temp=1;break;caseRole_DOWN:if((Role_Y+3>Map[S
10、cene].Height)
11、
12、(!CanMove(Role_Y+2,Role_X))){DrawMove();return;}Tmp_Height=Bmp_Width;temp=-1;break;}systemfunction.ClearScreen();x=4*Bmp_Width;y=3*Bmp_Width;x1=Role_Act*Bmp_Width+1;y1=Role_Status*Bmp_Height+1;//画主角if((Role_Status==Role_RIGHT)
13、
14、(Role_Status==
15、Role_LEFT)){Map_x=Map_x+temp*Bmp_Width/4;}else{Map_y=Map_y+temp*Bmp_Width/4;}BitBlt(memDC,Map_x,Map_y,(Map[Scene].Width+1)*32,(Map[Scene].Height+1)*32,TmpSceneDC,0,0,SRCCOPY);BitBlt(memDC,x,y,Bmp_Width,Bmp_Height,MainRoleDC,x1,y1,SRCAND);BitBlt(memDC,x,y,Bm
16、p_Width,Bmp_Height,MainRoleDC,x1+Bmp_Width*3,y1,SRCPAINT);Draw();systemfunction.Delay(80);systemfunction.ClearScreen();x1=x1+Bmp_Width;if((Role_Status==Role_RIGHT)
17、
18、(Role_Status==Role_LEFT)){Map_x=Map_x+temp*Bmp_Width/4;}else{Map_y=Map_y+temp*Bmp_Width/4;}B
19、itBlt(memDC,Map_x,Map_y,(Map[Scene].Width+1)*32,(Map[Scene].Height+1)*32,TmpSceneDC,0,0,SRCCOPY);BitBlt(memDC,x,y,Bmp_Width,Bmp_Height,MainRoleDC,x1,y1,SRCAND);BitBlt(memDC,x,y,Bmp_Width,Bmp_Height,MainRoleDC,x1+Bmp_Width*3,y1,SRCPAINT);Draw();systemfunctio
20、n.Delay(80);systemfunction.ClearScreen();x1=x1+Bmp_Width;if((Role_Status==Role_RIGHT)
21、
22、(Role_Status==Role_LEFT)){Map_x=Map_x+temp*Bmp_Width/4;}else{Map_y=Map_y+temp*Bmp_Width/4;}BitBlt(memDC,Map_x,Map_