作战仿真中坦克单车对活动障碍物的避让算法研究与实现
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
?程序入口
使用c++语言,调用win32 api,创建一个windows窗口程序,并制定窗口的标题。同时了解和学习windows消息机制,在WndProc函数中捕获键盘和鼠标消息,从而实现砖块的选中和移动。
3.2 Sprite
用户绘制图形,如背景图片,坦克、障碍物等。
Sprite最重要的功能就是可以将读入的图片剪裁,并且显示指定的部位。如此,就可以将很多图形合并到同一张图片中。而且,在图片资源紧张时,从网上找到的图片可能并不是正好我所需要的。可以用截图工具,截取出来,然后用Sprite类,读取指定位置的内容并且显示。
3.3 配置坦克信息
其中TANKITEM表示配置坦克的参数的个数。坦克的参数用一个double类型的一维数组来保存。
第一个参数:坦克的起始x位置。
第二个参数:坦克的起始y位置。
第三个参数:坦克的终点x位置。
第四个参数:坦克的终点y位置。
第五个参数:坦克的移动速度。
第六个参数:坦克的边长的一半(假设坦克是正方形的)。
3.4
配置障碍物信息
用OBCITEMNUM表示障碍物的参数的个数,OBCNUM表示障碍物的个数。所有障碍物的信息在一起,用一个double类型的二维数组表示。
第一个参数:障碍物的起始x位置。
第二个参数:障碍物的起始y位置。
第三个参数:障碍物的终点x位置。
第四个参数:障碍物的终点y位置。
第五个参数:障碍物的移动速度。
第六个参数:障碍物的边长的一半(假设障碍物是正方形的)。
第七个参数:障碍物是否反复移动(即障碍物从起点走到终点后,是否折返,反复运动)
3.5
路线类
路线类对应了障碍物或者坦克的行走路线。此类中保存了物体的其实位置、终止位置和速度等属性。并且开放了绘图接口,通过调用绘图接口,可以绘制此路线的物体(坦克或者障碍物)自行绘制到应该所在的位置。
3.6
障碍物类
障碍物类保存了从配置中读取的障碍物信息,每个障碍物信息对应一个障碍物类对象。对象开放了绘制接口,用于让逻辑模块在应该绘制的时候调用(内部使用路线对象来实现绘制)。还开放了一个获取路线所在矩形区域的接口,通过这个接口,可以获取此障碍物的活动区域,便于坦克躲避此区域。
3.7 坦克类
坦克类和障碍物类比较相似,都开放了绘制接口,不同的是,坦克类还负责计算自己的行走路线。在初始化时,坦克只有起点和终点。所以只有一条行走路线,然后通过遍历所有障碍物的路线的活动区域,将唯一的一条路线拆分成多条首尾相连的路线,记录在m_RouteList中。计算完成后,只需要遍历m_RouteList中的所有路线,来实现坦克的移动就可以了。
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}