吃金豆游戏报告.doc_第1页
吃金豆游戏报告.doc_第2页
吃金豆游戏报告.doc_第3页
吃金豆游戏报告.doc_第4页
吃金豆游戏报告.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告课程名称: 移动计算技术与应用 设计题目: 吃金豆游戏 院 系: 计算机科学与工程学院 专 业: 软件工程 班级: 学 号: 姓 名: 指导教师: 设计地点: 开课时间: 2010 至 2011 学年第 2 学期常熟理工学院计算机科学与工程学院 制学生姓名 成绩 评语: 指导教师(签名) 年 月 日目录1. 设计目的和任务.12. 开发环境.12.1 硬件环境.12.2 软件环境.13.设计题目.23.1 题目名称.23.2 题目详细描述.23.3 功能要求.24. 相关技术及知识点.34.1 Canvas类相关技术与知识点.34.2 Graphics 类相关技术与知识点.34.3 MMAPI包中的类和接口.54.4 Manager类相关技术与知识点74.5 Player接口相关技术与知识点74.6 Command 和 CommandListener相关技术与知识点.84.7 Display 类相关技术与知识点.95. 设计与实现.105.1 总体设计.10 5.2 各类的详细设计.105.3 实现.156. 总结.397. 参考资料.40401. 设计目的和任务目的和任务是:(1)巩固和加深学生对本课程基本知识的理解和掌握;(2)掌握Java编程和J2ME程序调试的基本技能;(3)掌握设计移动应用软件的基本思路和方法;(4)提高运用J2ME解决实际问题的能力;(5)培养撰写设计报告的能力。2. 开发环境2.1硬件环境Pc机/人2.2软件环境NetBeans IDE6.8WKT2.5.23. 设计题目吃金豆游戏3.1 题目名称吃金豆游戏3.2 题目详细描述游戏场景由m x n的一个阵列构成,其中:表示墙; 表示空格; 表示该处有一颗金豆;游戏中有两个角色,表示游戏主角Pacman(精灵),表示怪物Monster;主角Pacman由玩家控制,通过键盘的上下左右箭头键控制它的运动方向,它的嘴巴开口表示当前的运动方向,它可以在空格中前进,经过金豆时能吃掉,碰到墙时停下来。怪物Monster由程序控制,它也只能在空格中前进,但不会吃掉金豆。怪物的运动方向由程序随机变换。怪物的运动比主角快。游戏结束有两种情况:1。当主角把全部金豆吃完,胜利;2。当主角碰上怪物,失败。3.3 功能要求基本要求1. 实现游戏基本功能;2. 程序结构清楚,类设计合理;附加功能(选做)1. 加入声音效果,比如背景MIDI音乐;吃金豆时、游戏胜利、失败时的声音效果;2. 带多个关卡,启动时选择,实现游戏主菜单3. 胜利时,能输入姓名,记录成绩(时间)。可以查看排行榜4. 角色具有动态形象,如嘴巴大小变化等;5. 难度可选,比如多个怪物。4. 相关技术及知识点4.1 Canvas类相关技术与知识点Canvas 类是一个抽象类,此类提供一个空白屏幕(称为画布)以让您描绘图形对象。 Canvas 类定义了抽象方法 paint(),它使您可以描绘图形对象。 为了使用 Canvas 类创建 UI,您需要创建 Canvas 类的一个子类,并实现 paint() 方法。 paint() 方法指定了如何在屏幕上描绘 Canvas 类的对象。当在屏幕上显示 Canvas 类的一个对象时,会自动调用 paint() 方法,并且 Graphics 类的一个对象会由 Java 运行时环境传递给 paint() 方法。 Graphics 类的对象指定显示屏幕的哪些像素需要喷涂。画布尺寸画布尺寸指的是移动设备的显示屏幕上描绘区域的尺寸。 此区域因移动设备而异。 所有低级应用程序都需要查询显示区域的尺寸以确定该应用程序是否可以正确显示。 Canvas 类提供以下两个方法,使应用程序可以识别移动设备的画布尺寸:getHeight(): 检索移动设备描绘区域的高度。getWidth(): 检索移动设备描绘区域的宽度4.2 Graphics 类相关技术与知识点Graphics 类用于描绘基本形状,例如线条和弧。 Graphics 类包含几个方法,您可以使用它们在移动设备的显示器上描绘二维几何图,例如矩形和圆形。 您还可以使用这些方法为这些几何图填充颜色。 Graphics 类类似于 J2SE 中使用的 java.awt.Graphics 类。 Graphics 对象的方法使用坐标原点指定需要修改描绘图形对象的像素。 坐标原点 (0,0) 位于移动设备屏幕的左上角。 x 轴的数值从左向右增加。 y 轴的数值从上向下增加。Graphics 类的方法还使您可以通过指定字体和颜色值而修改像素。 此外,Graphics 类包含在移动显示屏上描绘文本的方法。 文本的描绘是基于锚点的,锚点指定文本的垂直定位和水平定位。 锚点是通过使用位操作符 OR 将一个水平常量和一个垂直常量组合在一起而指定的。 水平常量可以是 LEFT、HCENTER 或 RIGHT,垂直常量可以是 TOP、BASELINE 或 BOTTOM。 使用 0 作为锚点值的结果等同于使用 TOP | LEFT。下表列出了 Graphics 类定义的方法:方法说明clipRect (int x, int y, int width, int height)通过用指定的矩形框在图形对象上剪切来描绘一个矩形。 剪切对象是由 Graphics 对象描绘的一组像素。 Graphics 类的对象称为 Graphics 对象。 Graphics 对象包括一个剪切对象。drawArc (int x, int y, int width, int height, int startAngle, int arcAngle)通过使用当前颜色和画笔样式来描绘圆弧或椭圆弧。 画笔样式定义画线条的方式。 画笔样式可以是实的或虚的。drawChar (char character, int x, int y, int anchor)通过使用当前字体和颜色描绘指定的字符。drawChars (char data, int offset, int length, int x, int y, int anchor)通过使用当前字体和颜色描绘指定的字符。 您可以使用此方法同时描绘多个字符。drawImage (Image img, int x, int y, int anchor)使用锚点描绘指定的图像。 锚点指要在其中描绘图像或文本的边界。drawLine (int x1, int y1, int x2, int y2)使用当前颜色和画笔样式在坐标 (x1,y1) 和 (x2,y2) 之间画一条线。 drawRect (int x, int y, int width, int height)使用当前的颜色和画笔样式描绘指定矩形的轮廓。drawRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight)使用当前的颜色和画笔样式描绘指定圆角矩形的轮廓。drawstring (String str, int x, int y, int anchor)通过使用当前字体和颜色描绘指定的字符串。drawSubstring (String str, int offset, int len, int x, int y, int anchor)通过使用当前字体和颜色描绘指定的字符串。fillArc (int x, int y, int width, int height, int startAngle, int arcAngle)填充包含指定矩形的圆弧或椭圆弧。fillRect (int x, int y, int width, int height)s使用当前颜色填充指定的矩形。fillRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight)使用当前颜色填充指定的圆角矩形。4.3 MMAPI包中的类和接口下表列出了MMAPI中定义的类:类描述Manager根据指定的多媒体内容来创建Player对象。 该类是在javax.microedition.media包中指定的。ContentDescriptor创建一个用来存储特定的媒体类型的容器。 该类是在tocol包中指定的。DataSource表示一个用来处理媒体的抽象,它隐藏了访问各种源的数据的过程细节,如来自服务器的文件或流数据。 Player对象使用该类来访问输入数据。 该类是在tocol包中指定的。下表列出了MMAPI 的各种接口:接口描述Control用来控制一个Player对象的媒体重放功能。 在javax.microedition.media中定义该接口。 Controllable用来从Player对象中检索控件。 该接口提供了用来查询Player对象并检索所需信息的方法。 在javax.microedition.media中定义该接口。Player用来播放多媒体内容。 在javax.microedition.media中定义该接口。PlayerListener用来接收Player对象产生的异步事件。 在javax.microedition.media中定义该接口。TimeBase用于一个提供时间测量的源。 可以使用该接口来测量同步多个Player对象的时间进度。 在tocol中定义该接口。SourceStream和一个DataSource对象一起使用以便向一个Player对象提供输入接口。 在tocol中定义该接口。FramePositioningControl指定和控制视频播放器中视频帧的位置。 在tocol中定义该接口。GUIControl用来控制使用移动设备的GUI功能的Player对象。 在javax.microedition.media.control中定义该接口。MetaDataControl用来检索和控制存储在多媒体流中的元数据信息。 在javax.microedition.media.control中定义该接口。MIDIControl允许您访问和控制MIDI播放设备。 在javax.microedition.media.control中定义该接口。PitchControl提高或降低声音的音调而不影响重放速度。 在javax.microedition.media.control中定义该接口。RateControl控制在Player对象上播放多媒体内容的速率。 在javax.microedition.media.control中定义该接口。RecordControl控制记录一个Player对象的多媒体内容。 在javax.microedition.media.control中定义该接口。StopTimeControl允许您预先设置用来停止播放器的计时器。 在javax.microedition.media.control中定义该接口。TempoControl允许您控制声音的节奏。 该节奏定义为每分钟的节拍数。 在javax.microedition.media.control中定义该接口。ToneControl允许您播放和控制用户定义的音调序列。 在javax.microedition.media.control中定义该接口。VideoControl控制Player对象上视频数据的显示。 在javax.microedition.media.control中定义该接口。VolumeControl控制Player对象的音量。 在javax.microedition.media.control中定义该接口。4.4 Manager类相关技术与知识点Manager类是一个用来创建Player对象的静态的工厂类。 Manager类定义了三种重载的createPlayer()方法用来创建Player对象。下表列出了在Manager类中定义的其他方法:方法描述getSupportedContentTypes(String Protocol)返回指定的协议支持的多媒体内容类型列表。 内容类型标识多媒体数据的类型,如MP3音频文件、MIDI文件和MPEG视频文件。getSupportedProtcols(String content_type)返回指定内容类型所支持的多媒体协议列表。 协议示例包括:磁盘I/O和流媒体I/O。getSystemTimeBase()返回TimeBase接口的一个对象。playTone(int note, int time, int volume)按照它的音调和持续时间来播放声音。4.5 Player接口相关技术与知识点Player是一个在javax.microedition.media包中定义的接口。 Player接口扩展了Controllable接口。 Player接口表示Player类的一般行为,由各种实现了MMAPI的供应商来实现这些Player类。 通过使用Manager类对象的createPlayer()方法来创建一个Player对象。 下表给出了一个Player对象的生命周期中的5个阶段:阶段描述UNREALIZED是初始化阶段,在该阶段中创建Player对象。 在这个阶段,Player对象不处理必要的信息以获取播放多媒体内容的资源。REALIZED在这个阶段,Player对象获取必要的信息以得到播放多媒体内容所需的资源。 在这个阶段并没有获得系统相关的资源。PREFETCHED 在这个阶段,播放器获得了播放多媒体内容所需的所有资源。 这些资源还包括系统相关的资源。 预取过程将播放器的启动时间缩减到最小值。STARTED表示播放器当前正在处理多媒体内容的阶段。CLOSED在这个阶段,Player对象已经到达其生命周期的末尾。 在Player对象到达 CLOSED状态后,不能再次重用它。4.6 Command 和 CommandListener相关技术与知识点Command 类用于存储关于事件的信息。 由 Command 对象表示的关于处理一个事件的信息存储在与该 Command 对象关联的命令侦听器中。 例如,您可以将移动设备的退出按钮与 Command 对象 exit 相关联。 单击移动设备的退出按钮,会执行 Command 侦听器接口中定义的 commandAction() 方法的代码。Command 类定义了以下三种属性:Label: 提供关于与该 Command 对象关联的事件说明的文本字符串。CommandType: 一个整型值,表示 Command 类中八个命令类型之一。 这八个类型为 BACK、CANCEL、HELP、EXIT、ITEM、OK、SCREEN 和 STOP。Priority: 是一个整型值,表示该 Command 对象相对其他 Command 对象而言的重要性。 此属性值的值越低表示该 Command 对象优先级越高。 例如,假设具有优先级值分别为 1 和 2 的两个命令。优先级值为1 的命令的优先级高于优先级值为 2 的命令。Command 类定义了以下用于创建 Command 对象的两个构造函数:Command( String label, int type, int priority): 创建带有指定标签、命令类型和优先级值的 Command 对象。Command( String label, String longlabel, int type, int priority): 创建带有指定标签、长标签、命令类型和优先级值的 Command 对象。这些构造函数也接受各种初始化参数,例如该 Command 对象的标签、类型和优先级。Command 类还定义检索关于该 Command 对象的信息的方法。 Command 类定义的方法有:方法说明GetCommandType()返回一个表示当前 Command 对象的类型属性的整型值。getLabel()返回该 Command 对象的标签。getLongLabel()返回该 Command 对象的长标签。 长标签提供更多信息,例如 Command 对象的功能。getPriority()返回一个指定该 Command 对象优先级的整型值。 4.7 Display 类相关技术与知识点Display 类为移动设备的显示管理器和输入硬件建模。 您可以通过使用 Display 类中提供的方法来管理要在移动设备上显示的内容。 每个 MIDlet 应用程序都包含 Display 类的一个实例。 您可以通过调用 getDisplay() 方法而检索对 Display 类对象的引用。 Display 类还提供 setCurrent() 方法,它可以用于更改当前在移动设备上显示的 Displayable 对象。下表列出了 Display 类中常用的方法:方法说明NumColors()返回移动设备可显颜色的总数。SetCurrent(Alert alert1, Displayable d1)指定 alert1 对象是当前 Displayable,并且 d1 对象在 alert1 对象后显示。 setCurrent(Displayable d1)将 d1 对象指定为当前 Displayable。vibrate(int duration)请求设备硬件调用设备振荡器一段指定的持续时间。setLabel(String label)设置项的标签(作为字符串型参数传递到此方法)。setLayout(int Layout)设置项的指令(作为整型参数传递到此方法)。setPreferredSize(int width, int height)设置项的首选尺寸(以宽度和高度指定)。5. 设计与实现 5.1总体设计 吃金豆游戏一总共使用了两个包,即pacman和img。Img包里存放游戏使用的图片和音乐。pacman包里面总共有11个类。ChoiceLevel类用于选择游戏时的关卡;GameMap用于绘制游戏的界面;GameMenus用于显示游戏的主菜单;MapSources类里面存放了图像资源;Others用于设置游戏的声音、怪兽的个数、难度级别、怪兽方向改变的概率;PacmanMIDlet是主类; PlayMusic类用于播放音乐;Result用于存放分数;ResultComparator用于比较分数,当一个游戏者赢了游戏的时候,会跟记录进行比较,如果分数高于记录,就存储这条记录; Role用于创建精灵或者怪兽的角色;SaveResult用于保存结果。5.2 各类的详细设计1、ChoiceLevel类变量名称变量类型变量描述Enter, cancelCommand确定和取消命令choiceChoiceGroup等级选项组件choosedBoolean指示玩家是否已经选好等级image1,image2,image3Image各等级的截图midletPacmanMIDlet主程序midletmenuCanvasGameMenus主菜单该类使用的主要方法方法名称方法说明ChoiceLevel构造方法commandAction监听事件runRumable接口的方法,用于绘制图像getChooseForm该方法用来获取等级选项界面2、GameMap变量名称变量类型变量说明WALLInt代表墙壁SPACEInt代表空格BEANSInt代表金豆PACMANInt代表精灵MONSTERInt代表怪物pacmanDownImage代表精灵方向向下的图片pacmanUpImage代表精灵方向向上的图片pacmanLeftImage代表精灵方向向左的图片pacmanRighImage代表精灵方向向右的图片monsterImage代表怪物的图片beansImage代表金豆的图片winImage代表游戏胜利的图片lostImage代表游戏失败的图片dxInt表格单元格宽度dyInt表格单元格高度tableWidthInt表格总宽度tableHeightInt表格总高度isLost, isWinboolean玩家是否输了游戏或赢得游戏isEatenboolean金豆有没有吃完startTime, endTimeDate游戏开始时间和结束时间,通过两种之差来计算完成游戏所运行的时间该类使用的主要方法方法名称方法说明GameMap构造方法paint绘制表格、精灵、怪兽、金豆keyPressed从键盘获取方向键,然后精灵按照相应的规则移动run游戏开始runMonsterDirection该方法使怪物沿运动方向运动runPacmanDirection该方法使精灵按运动方向运动,运动之前先检查方向是否合法,不合格的话则改变方向isMonsterDirection该方法用来判断怪物运动方向是否符合条件commandAction监听事件,根据用户不同的输入进行相应的响应3、GameMenus类成员变量的名称变量类型变量的描述menuImage主菜单enterCommand进入游戏选项exitCommand取消操作选项marksCommand分数选项comGateCommand等级命令gameSettingsCommand游戏设置选项midletPacmanMIDlet主程序midletmusicplayerPlayMusic音乐设置,可以播放胜利、失败、玩游戏的音乐numofMonsterInt怪兽的个数changeGateDouble更换等级indexGateint记录关卡序列使用的主要方法说明:方法名称方法说明GameMenus()构造方法Paint()用于绘制图片commandAction监听事件startGame该方法用来根据玩家选择的怪物数和运动方向改变概率显示相应的游戏界面setNumOfMonster设置怪物个数setChangeRate设置怪物方向改变的概率setIndexGate设置关卡序列4、Others类成员变量的名称变量类型变量的描述enter, cancelCommand确定和取消命令midletPacmanMIDlet主程序midletmenuCanvasGameMenus主菜单choiceChoiceGroup怪物数选项组件choicesString怪物数选项数组rateTextField怪物方向改变概率输入组件musicVolumeGauge设置音量大小组件musicplayerPlayMusic游戏音乐播放器该类使用的主要方法方法名称方法说明Others构造方法commandAction监听事件,根据用户不同的输入进行相应的响应5、PlayMusic类成员变量的名称变量类型变量的描述gamePlayerPlayer游戏背景音乐播放器winPlayerPlayer赢得胜利时所用播放器lostPlayerPlayer输了游戏时所用播放器gamePlayerInputInputStream读取游戏音乐winPlayerInputInputStream读取胜利音乐lostPlayerInputInputStream读取失败音乐isGamePlayerClosedBoolean判断游戏音乐是否关闭isWinPlayerClosedBoolean判断胜利音乐是否关闭isLostPlayerClosedBoolean判断失败音乐是否关闭volumeInt设置音量的初始值该类使用的主要方法方法名称功能playGameBackgroundMusic()播放游戏音乐closeGameBackgroundMusic()关闭游戏音乐playWinMusic播放胜利音乐closeWinMusic关闭胜利音乐playLostMusic播放失败音乐closeLostMusic关闭失败音乐6、Result类方法名称方法说明Result构造方法commandAction监听事件,根据用户不同的输入进行相应的响应7、Role类成员变量的名称变量类型变量的描述UPInt运动方向上DOWNInt运动方向下LEFTInt运动方向左RIGHTInt运动方向右NODIRECTIONInt没有运动rowInt记录角色所在行columnInt记录角色所在列directionInt记录角色运动的方向readyRunboolean该线程是否准备好运行countInt定义一个整型变量,此变量用来控制move()方法,根据其奇偶性判断是否移动needStopboolean定义一个布尔变量判断角色是否停止移动该类使用的主要方法方法名称功能Move()运动时,坐标的变化5.3实现1. ChoiceLevel类的主要代码:public ChoiceLevel(PacmanMIDlet midlet,GameMenus menuCanvas) super(等级选择);this.midlet=midlet;this.menuCanvas=menuCanvas;try image1=Image.createImage(/img/map1.png);image2=Image.createImage(/img/map2.png);image3=Image.createImage(/img/map3.png); catch (IOException e) e.printStackTrace();/显示所选等级图片Display.getDisplay(midlet).setCurrent(getChooseForm(0,image1);new Thread(this).start();public void commandAction(Command com, Displayable dis) if(com=enter) /选择了等级,并进入游戏/获取玩家选择的等级索引,索引从0开始int selectedIndex=choice.getSelectedIndex();/已经选择好了等级choosed=true;/调用主菜单的等级序列设置方法menuCanvas.setIndexGate(selectedIndex+1);/进入主菜单界面midlet.showMenu();else if(com=cancel) /取消选择,返回主菜单choosed=true;Display.getDisplay(midlet).setCurrent(menuCanvas);public void run() /默认选择第一个等级int selectedIndex=0;while(!choosed)selectedIndex=choice.getSelectedIndex();if(selectedIndex=0)Display.getDisplay(midlet).setCurrent(getChooseForm(0,image1);else if(selectedIndex=1)Display.getDisplay(midlet).setCurrent(getChooseForm(1,image2);else if(selectedIndex=2)Display.getDisplay(midlet).setCurrent(getChooseForm(2,image3);try Thread.sleep(3000); catch (InterruptedException e) e.printStackTrace();/该方法用来获取等级选项界面private Form getChooseForm(int selected,Image image)Form form=new Form(等级选择);enter=new Command(确定,Command.OK,1);cancel=new Command(取消,Command.CANCEL,1);choice = new ChoiceGroup(, ChoiceGroup.EXCLUSIVE, choices,null);choice.setSelectedIndex(selected, true);choosed=false;form.setCommandListener(this);/缩略图标题String title=等级+(selected+1)+缩略图;/添加游戏界面缩略图片,居中显示form.append(new ImageItem(title,image,ImageItem.LAYOUT_CENTER,null);form.append(choice);form.addCommand(enter);form.addCommand(cancel);return form;2. GameMap类的主要代码:/ 构造方法public GameMap(PacmanMIDlet midlet, GameMenus menuCanvas,PlayMusic musicplayer, int table, int numOfMonster ,double rate) this.midlet = midlet;this.menuCanvas = menuCanvas;this.musicplayer = musicplayer;this.table = table;this.rate=rate;save = new Command(保存, Command.OK, 1);menu = new Command(主菜单, Command.OK, 1);restart=new Command(重新开始,Command.OK,1);this.addCommand(restart);this.addCommand(menu);this.setCommandListener(this);try pacmanUp= Image.createImage(/img/pacmanUp.png);/存放精灵图片pacmanDown=Image.createImage(/img/pacmanDown.png);pacmanLeft=Image.createImage(/img/pacmanLeft.png);pacmanRight=Image.createImage(/img/pacmanRight.png);win = Image.createImage(/img/win.png);lost = Image.createImage(/img/lost.png);monster = Image.createImage(/img/monster.png);/存放怪兽图片beans = Image.createImage(/img/beans.png);/ 初始化时,精灵运动方向向上pacman = pacmanUp; catch (IOException e) e.printStackTrace();rolePacman = new Role();/创建精灵/生成怪物数组roleMonster = new RolenumOfMonster;/生成指定个数怪物对象for(int i=0;iroleMonster.length;i+)roleMonsteri=new Role();/ 以表格的行列为参照,获取表格中精灵的位置,设定精灵的行列属性,行列值要加1,因为数组下标从0开始for (int row = 0; row 10; row+) for (int column = 0; column 10; column+) if (tablerowcolumn = PACMAN) rolePacman.setRow(row + 1);rolePacman.setColumn(column + 1);break;/ 生成随机数对象,并随机生成一个整数random = new Random();/ 随机设置怪物的位置,大概位置在表格下半部分for (int i = 0; i roleMonster.length; i+) while (true) int row = random.nextInt(5) + 5;int column = random.nextInt(10);int indexDirections = random.nextInt(4);if (tablerowcolumn = BEANS) tablerowcolumn = MONSTER;/ 以表格的行列为参照,获取表格中怪物的位置,设定怪物的行列属性roleMonsteri.setRow(row + 1);roleMonsteri.setColumn(column + 1);/ 随机设置怪物的运动方向roleMonsteri.setDirection(directionsindexDirections);break;/ 显示游戏界面Display.getDisplay(midlet).setCurrent(this);new Thread(this).start();protected void paint(Graphics g) / 刷屏g.setColor(0xFFFFFF);g.fillRect(0, 0, this.getWidth(), this.getHeight();/ 绘制游戏标题g.setColor(0x9F5F9F);g.drawString(Pacman游戏, getWidth() / 2, 0, Graphics.TOP| Graphics.HCENTER); /显示时间/ 绘制签名g.drawString(学号:180108242,姓名:邹秀芬, this.getWidth(), this.getHeight(),Graphics.BOTTOM | Graphics.RIGHT);/ 绘制游戏表格g.setColor(0x93DB70);g.fillRect(0,

温馨提示

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

评论

0/150

提交评论