飞机大战实训报告_第1页
飞机大战实训报告_第2页
飞机大战实训报告_第3页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1. 概述 . 2. 相关技术 . 2.1 碰撞检测 . 2.2 coblist链表 . 2.3 设置定时器 .2.4 背景滚动技术 .2.5 内存释放技术 .3. 总体设计与详细设计 .3.1 系统模块划分 .3.2 主要功能模块 .4. 编码实现 . 65. 实训中遇到的主要问题及解决方法 . 496. 实训体会 . 501. 概述这次实训,目的以vs 为环境,利用 mfc,使用 c+ 语言编写一个简单的飞机大战游戏 。实现的主要功能:1. 有开始游戏界面,上下左右键控制飞机自由移动,空格键发射炮弹。2. 设有关卡,每打完一个boss就会过关,每过一关战机炮弹会升级,敌机随机发射子弹数

2、量增加。3. 战机起始十条命,可以通过过关和吃到道具增加血量。4. 战机子弹打中敌机, 敌机就会爆炸,boss血量随关卡升高而增多, 打败敌机或者 boss会有分数加成。5. 设有无敌模式和普通模式,无敌模式大招无限,生命无限,战机导弹直接升至最高等级。2. 相关技术2.1碰撞检测用 crect类的 getrect() 函数可以获得当前对象的矩形区域, intersectrect() 并用此函数判断二者是否碰撞。2.2 coblist链表这个程序使用 coblist 链表来存储各效果。 coblist 类似于一个双向链表, position类型的变量为链表的键。使用position 变量,既可

3、以作为链表循环中的循环变量,也可以作为标记某个位置的标签。我们可以通过获得某元素的position 来访问它。本程序中主要用到的函数有:getheadposition ():获取链表首元素的position ;addtail():将新的元素添加到链表最后;getnext( position& rposition ) :使 rposition指向下一个元素。2.3 设置定时器settimer() 函数来设置定时器。2.4 背景滚动为了让游戏场景更加逼真,游戏节奏更加合理,可以通过让背景滚动来提高游戏的场景效应,实现这一技术时,可以将一张背景图片复制为2 张,从上到下连续的拼接在一起,使其

4、不会出现图片的卡顿和瞬移现象。2.5内存释放技术这个程序中有大量的地方需要使用内存,如果不及时删除会出现闪图等情况,容易导致程序崩溃,要及时释放内存资源。3. 总体设计与详细设计3.1 系统模块划分3.2 主要功能模块游 戏 系玩家游戏关卡敌机生玩 家 控 制 模类关系图:4. 编码实现/ planegameview.cpp : cplanegameview 类的实现void cplanegameview:updateframe(cdc* pmemdc)/ 绘制天空if(level=0)cpaintdc dc(this);cbitmap bmpbackground; / 位图对象bmpback

5、ground.loadbitmap(idb_bitmap1);cdc dcmem; / 定义一个工具箱(设备上下文)dcmem.createcompatibledc(&dc);bitmap bitmap;bmpbackground.getbitmap(&bitmap); / 建立绑定关系敌机过关战机过关boss死亡进战 机碰 到导 弹或 者敌 机或 者战 机血 量每 关只 有一 个bosscbitmap *back = dcmem.selectobject(&bmpbackground); / 保存原有 cdc 对象,并选入新 cdc 对象入 dc static int

6、 curr = 1;if (curr bitblt(0, 0, game_width, game_height - curr, &dcmem, 0, curr, srccopy);pmemdc-bitblt(0, game_height - curr, game_width, curr, &dcmem, 0, 0, srccopy);if(level=1&l=0&boss=0)pmemdc-fillsolidrect(0, 0, game_width, game_height, rgb(0, 0, 0);l+;z=1;if(level=1&l!=0&am

7、p;boss!=0)cpaintdc dc(this);cbitmap bmpbackground; / 位图对象bmpbackground.loadbitmap(idb_bitmap1);cdc dcmem; / 定义一个工具箱(设备上下文)dcmem.createcompatibledc(&dc);bitmap bitmap;bmpbackground.getbitmap(&bitmap); / 建立绑定关系cbitmap *back = dcmem.selectobject(&bmpbackground); / 保存原有 cdc 对象,并选入新 cdc 对象入 d

8、c static int curr = 1;if (curr bitblt(0, 0, game_width, game_height - curr, &dcmem, 0, curr, srccopy);pmemdc-bitblt(0, game_height - curr, game_width, curr, &dcmem, 0, 0, srccopy);if (level = 2 & l != 0 & boss != 0)cpaintdc dc(this);cbitmap bmpbackground; / 位图对象bmpbackground.loadbitm

9、ap(idb_map2);cdc dcmem; / 定义一个工具箱(设备上下文)dcmem.createcompatibledc(&dc);bitmap bitmap;bmpbackground.getbitmap(&bitmap); / 建立绑定关系cbitmap *back = dcmem.selectobject(&bmpbackground); / 保存原有 cdc 对象,并选入新 cdc 对象入 dc static int curr = 1;if (curr bitblt(0, 0, game_width, game_height - curr, &d

10、cmem, 0, curr, srccopy);pmemdc-bitblt(0, game_height - curr, game_width, curr, &dcmem, 0, 0, srccopy);if(level=3 & l != 0 & boss != 0)cpaintdc dc(this);cbitmap bmpbackground; / 位图对象bmpbackground.loadbitmap(idb_map3);cdc dcmem; / 定义一个工具箱(设备上下文)dcmem.createcompatibledc(&dc);bitmap bitm

11、ap;bmpbackground.getbitmap(&bitmap); / 建立绑定关系cbitmap *back = dcmem.selectobject(&bmpbackground); / 保存原有 cdc 对象,并选入新 cdc 对象入 dc static int curr = 1;if (curr bitblt(0, 0, game_width, game_height - curr, &dcmem, 0, curr, srccopy);pmemdc-bitblt(0, game_height - curr, game_width, curr, &d

12、cmem, 0, 0, srccopy);if(level=4 & l != 0 & boss != 0)cpaintdc dc(this);cbitmap bmpbackground; / 位图对象bmpbackground.loadbitmap(idb_map4);cdc dcmem; / 定义一个工具箱(设备上下文)dcmem.createcompatibledc(&dc);/兼容bitmap bitmap;bmpbackground.getbitmap(&bitmap); / 建立绑定关系cbitmap *back = dcmem.selectobjec

13、t(&bmpbackground); / 保存原有 cdc 对象,并选入新 cdc 对象入 dc static int curr = 1;if (curr bitblt(0, 0, game_width, game_height - curr, &dcmem, 0, curr, srccopy);pmemdc-bitblt(0, game_height - curr, game_width, curr, &dcmem, 0, 0, srccopy);if(level=5 & l != 0 & boss != 0)cpaintdc dc(this);cbi

14、tmap bmpbackground; / 位图对象bmpbackground.loadbitmap(idb_map5);cdc dcmem; / 定义一个工具箱(设备上下文)dcmem.createcompatibledc(&dc);bitmap bitmap;bmpbackground.getbitmap(&bitmap); / 建立绑定关系cbitmap *back = dcmem.selectobject(&bmpbackground); / 保存原有 cdc 对象,并选入新 cdc 对象入 dc static int curr = 1;if (curr bit

15、blt(0, 0, game_width, game_height - curr, &dcmem, 0, curr, srccopy);pmemdc-bitblt(0, game_height - curr, game_width, curr, &dcmem, 0, 0, srccopy);if(level5 & l != 0 & boss != 0)cpaintdc dc(this);cbitmap bmpbackground; / 位图对象bmpbackground.loadbitmap(idb_map6);cdc dcmem; / 定义一个工具箱(设备上下

16、文)dcmem.createcompatibledc(&dc);bitmap bitmap;bmpbackground.getbitmap(&bitmap); / 建立绑定关系cbitmap *back = dcmem.selectobject(&bmpbackground); / 保存原有 cdc 对象,并选入新 cdc 对象入 dc static int curr = 1;if (curr bitblt(0, 0, game_width, game_height - curr, &dcmem, 0, curr, srccopy);pmemdc-bitblt(

17、0, game_height - curr, game_width, curr, &dcmem, 0, 0, srccopy);pmemdc-setbkmode(transparent);pmemdc-settextalign(ta_center);pmemdc-settextcolor(rgb(255, 255, 255);if(level=0)wchar_t s81000;wsprintf(s8, l单击鼠标进入游戏 );pmemdc-textoutw(game_width / 2, game_height / 2, cstring(s8);if(level=1&z!=0)

18、wchar_t s91000;wsprintf(s9, l点击进入下一关 );pmemdc-textoutw(game_width / 2, game_height / 2, cstring(s9);if(level=1&z=0)wchar_t s11000;wchar_t s21000;wsprintf(s1, l得分: %d, number);wsprintf(s2, l关卡: %d, level);pmemdc-textoutw(35, 0, cstring(s1); pmemdc-textoutw(200, 0, cstring(s2);wchar_t s31000;wspri

19、ntf(s3 , l按下“ f1”开启无敌模式 );pmemdc-textoutw(390, 0, cstring(s3);wchar_t s41000;wsprintf(s4, l按下“ f2”关闭无敌模式 );pmemdc-textoutw(390, 20, cstring(s4);wchar_t s51000;if(wu=0) wsprintf(s5, l大招数量 :%d,dazhao );pmemdc-textoutw(430, 40, cstring(s5);if(wu=1)wsprintf(s5, l大招数量 :无限);pmemdc-textoutw(430, 40, cstrin

20、g(s5);wchar_t s61000;wsprintf(s6, l按下空格发射子弹 );pmemdc-textoutw(60, 50, cstring(s6);wchar_t s71000;wsprintf(s7, l按下“ z”大招 );pmemdc-textoutw(56, 70, cstring(s7); / 绘制我方战机if (m_pme != null)m_pme-draw(m_pmemdc, false);else /game overcstring str = _t(game over!);pmemdc-textout(game_width / 2, game_height

21、/ 2, str);/ 绘制血条if (m_pme != null)cstring z1;z1.format(l战机 hp(%d), shengming);pmemdc-textout(47, 30, z1);pmemdc-fillsolidrect(90, 33, shengming * 10, 10, rgb(255, 0, 0);if (bxt = 1)cstring z2;z2.format(lboss hp (%d),boss);pmemdc-textout(35, 100, z2);pmemdc-fillsolidrect(80, 108, boss * 2, 10, rgb(0,

22、 255, 0);/ 绘制 导弹、爆炸、敌机、子弹、boss 、boss子弹for (int i = 0;i draw(pmemdc, false)m_objlisti.removeat(pos2);delete pobj;/ 复制内存 dc 到设备 dcm_pdc-bitblt(0, 0, game_width, game_height, m_pmemdc, 0, 0, srccopy);void cplanegameview:ai()static int ncreator = rand() % 5+20 ;/ 随机产生敌机if (ncreator =25&count=50&

23、count=75&count=100&count=150&count5&count%200=0&bn=0)m_objlistenboss.addtail(new cboss);bxt = 1;bn+;if (m_pme = null)return;/ 检测四个方向键,移动战机for (int i = 0;isetvermotion(0);m_pme-sethormotion(0);nmemotion = getkey(vk_up);if (nmemotion = 1)m_pme-setvermotion(1);nmemotion = getkey(vk_

24、down);if (nmemotion = 1)m_pme-setvermotion(-1);nmemotion = getkey(vk_right);if (nmemotion = 1)m_pme-sethormotion(1);nmemotion = getkey(vk_left);if (nmemotion = 1)m_pme-sethormotion(-1);/ 产生战机导弹if (getkey(vk_space) = 1)/ 按下了空格键if (m_pme != null & m_pme-fired()cpoint pt = m_pme-getpoint();if (leve

25、l = 1 & wu = 0)m_objlistenbomb.addtail(new cbomb(pt.x + 20, pt.y + 10);if (level = 2 & wu = 0)m_objlistenbomb.addtail(new cbomb(pt.x + 10, pt.y + 30);m_objlistenbomb.addtail(new cbomb(pt.x + 30, pt.y + 30);if (level = 3 & wu = 0)m_objlistenbomb.addtail(new cbomb(pt.x + 10, pt.y + 30);m_o

26、bjlistenbomb.addtail(new cbomb(pt.x + 30, pt.y + 30);m_objlistenbomb.addtail(new cbomb(pt.x + 20, pt.y + 30);if (level = 4 & wu = 0)m_objlistenbomb.addtail(new cbomb(pt.x + 10, pt.y + 30);m_objlistenbomb.addtail(new cbomb(pt.x + 30, pt.y + 30);m_objlistenbomb.addtail(new cbomb(pt.x + 20, pt.y +

27、30);m_objlistenbomb.addtail(new cbomb(pt.x , pt.y + 30);m_objlistenbomb.addtail(new cbomb(pt.x + 40, pt.y + 30);if (wu = 1)m_objlistenbomb.addtail(new cbomb(pt.x + 10, pt.y + 30);m_objlistenbomb.addtail(new cbomb(pt.x + 30, pt.y + 30);m_objlistenbomb.addtail(new cbomb(pt.x + 20, pt.y + 30);m_objlist

28、enbomb.addtail(new cbomb(pt.x, pt.y + 30);m_objlistenbomb.addtail(new cbomb(pt.x + 40, pt.y + 30);if (getkey(vk_f1) = 1)/ 按下了 f1if (m_pme != null & m_pme-fired()wu = 1;if (getkey(vk_f2) = 1 & wu = 1)/按下了 f2if (m_pme != null & m_pme-fired()wu = 0;/boss 发射子弹static int num = 100;if (m_pme !

29、= null & num getpoint();cbossball * t;for (int i = -level + 1; i zx = int(4.0*sin(3.14* double(i) / 9);t-zy = int(8.0*cos(3.14* double(i) / 9);m_objlistenbossball.addtail(t);num = 100;num-;/ 敌机发射子弹if (m_pme)cpoint planept = m_pme-getpoint();for (position epos = m_objlistenenemy.getheadposition()

30、; epos != null;)cenemy* penemy = (cenemy*)m_objlistenenemy.getnext(epos);if (!penemy-fired()continue;cpoint ept = penemy-getpoint();bool by = false;/ 敌机在战机前面if (penemy-getmontion() = 1 & ept.ygetmontion() = -1 & ept.yplanept.y)by = true;if (by & ept.x = planept.x & ept.x planept.x +

31、cmyplane:plane_width)cball * t;for (int i = -level + 1; i getmontion();t-xx = int(8.0*sin(3.14* double(i) / 9);t-xy = int(8.0*cos(3.14* double(i) / 9);m_objlistenball.addtail(t);/boss 子弹打到战机if (m_pme != null)position npos3 = null, npos4 = null;crect mrect = m_pme-getrect();for (npos3 = m_objlistenbo

32、ssball.getheadposition(); (npos4 = npos3) != null;)cball* pball = (cball*)m_objlistenbossball.getnext(npos3);crect brect = pball-getrect();crect tmprect;if (tmprect.intersectrect(&brect, mrect)/ 添加爆炸效果if (wu = 0 )shengming-;/生命减少m_objlistenexplosion.addtail(new cexplosion(mrect.left, mrect.top);

33、/ 删除子弹m_objlistenbossball.removeat(npos4);delete pball;if (shengming getrect();for (npos1 = m_objlistenenemy.getheadposition(); (npos2 = npos1) != null;)cball* pball = (cball*)m_objlistenenemy.getnext(npos1);crect brect = pball-getrect();crect tmprect;if (tmprect.intersectrect(&brect, mnrect)/ 添

34、加爆炸效果if (wu = 0 )shengming-;/生命减少m_objlistenexplosion.addtail(new cexplosion(mnrect.left, mnrect.top);/ 删除子弹m_objlistenenemy.removeat(npos2);delete pball;if (shengming getrect();for (bpos1 = m_objlistenball.getheadposition(); (bpos2 = bpos1) != null;)cball* pball = (cball*)m_objlistenball.getnext(bp

35、os1);crect brect = pball-getrect();crect tmprect;if (tmprect.intersectrect(&brect, mrect)/ 添加爆炸效果if (wu = 0 )shengming-;/生命减少m_objlistenexplosion.addtail(new cexplosion(mrect.left, mrect.top);/ 删除子弹m_objlistenball.removeat(bpos2);delete pball;if (shengming getrect();for (bpos1 = m_objlistendazha

36、o.getheadposition(); (bpos2 = bpos1) != null;)cball* pball = (cball*)m_objlistendazhao.getnext(bpos1);crect mrect = pball-getrect();crect tmprect;if (tmprect.intersectrect(&mrect, brect)dazhao+;/ 删除子弹m_objlistendazhao.removeat(bpos2);delete pball;/ 吃生命if (null != m_pme) position bpos1 = null, bp

37、os2 = null;crect mrect = m_pme-getrect();for (bpos1 = m_objlistenming.getheadposition(); (bpos2 = bpos1) != null;)cball* pball = (cball*)m_objlistenming.getnext(bpos1);crect brect = pball-getrect();crect tmprect;if (tmprect.intersectrect(&brect, mrect)shengming+;/ 删除子弹m_objlistenming.removeat(bp

38、os2);delete pball;/ 战机导弹炸掉敌机position mpos1 = null, mpos2 = null;for (mpos1 = m_objlistenbomb.getheadposition();(mpos2 = mpos1) != null;)cbomb* pbomb = (cbomb*)m_objlistenbomb.getnext(mpos1);crect brect = pbomb-getrect();position epos1 = null, epos2 = null;for (epos1 = m_objlistenenemy.getheadpositio

39、n();(epos2 = epos1) != null;)cenemy* penemy = (cenemy*)m_objlistenenemy.getnext(epos1);crect mrect = penemy-getrect();crect tmprect;if (tmprect.intersectrect(&brect, mrect)count+;number += 5;/ 添加爆炸效果m_objlistenexplosion.addtail(new cexplosion(mrect.left, mrect.top);/ 删除导弹if (da = 1)m_objlistenbo

40、mb.removeat(mpos2);delete pbomb;/ 删除敌机m_objlistenenemy.removeat(epos2);delete penemy;break;/ 战机导弹炸掉子弹position mpos3 = null, mpos4 = null;for (mpos3 = m_objlistenbomb.getheadposition(); (mpos4 = mpos3) != null;)cbomb* pbomb = (cbomb*)m_objlistenbomb.getnext(mpos3);crect brect = pbomb-getrect();positi

41、on epos3 = null, epos4 = null;for (epos3 = m_objlistenball.getheadposition(); (epos4 = epos3) != null;)cball* pball = (cball*)m_objlistenball.getnext(epos3);crect mrect = pball-getrect();crect tmprect;if (tmprect.intersectrect(&brect, mrect)/ 添加爆炸效果/ 删除导弹m_objlistenbomb.removeat(mpos4);delete pb

42、omb;/ 删除敌机m_objlistenball.removeat(epos4);delete pball;break;/ 导弹炸掉 bossposition mpos5 = null, mpos6 = null;for (mpos5 = m_objlistenbomb.getheadposition(); (mpos6 = mpos5) != null;)cbomb* pbomb = (cbomb*)m_objlistenbomb.getnext(mpos5);crect brect = pbomb-getrect();position epos5 = null, epos6 = null

43、;for (epos5 = m_objlistenboss.getheadposition(); (epos6 = epos5) != null;)cboss* pball = (cboss*)m_objlistenboss.getnext(epos5);crect mrect = pball-getrect();crect tmprect;if (tmprect.intersectrect(&brect, mrect)boss-;/ 添加爆炸效果m_objlistenexplosion.addtail(new cexplosion(mrect.left, mrect.top);/ 删

44、除导弹m_objlistenbomb.removeat(mpos6);delete pbomb;if (boss getpoint();m_objlistenbomb.addtail(new cbomb(pt.x - 50, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 20, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 70, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 100, pt.y + 80);m_objli

45、stenbomb.addtail(new cbomb(pt.x - 130, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 550, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 520, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 160, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 490, pt.y + 80);m_objlistenbomb.addtai

46、l(new cbomb(pt.x - 460, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 190, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 430, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 400, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 220, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.

47、x - 370, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 340, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 250, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 310, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 280, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x, pt.y + 80);m

48、_objlistenbomb.addtail(new cbomb(pt.x + 30, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 60, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 90, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 120, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 150, pt.y + 80);m_objlistenbomb.add

49、tail(new cbomb(pt.x + 570, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 180, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 540, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 510, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 210, pt.y + 80);m_objlistenbomb.addtail(new cbomb(

50、pt.x + 480, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 450, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 240, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 420, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 390, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 270, pt.

51、y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 360, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 330, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x + 300, pt.y + 80);m_objlistenbomb.addtail(new cbomb(pt.x - 50, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 20, pt.y + 60);m_objlist

52、enbomb.addtail(new cbomb(pt.x - 70, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 100, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 130, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 550, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 520, pt.y + 60);m_objlistenbomb.addtail(n

53、ew cbomb(pt.x - 160, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 490, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 460, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 190, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 430, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 400, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 220, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 370, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 340, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 250, pt.y + 60);m_objlistenbomb.addtail(new cbomb(pt.x - 310,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论