21点小游戏JAVA课程设计.doc_第1页
21点小游戏JAVA课程设计.doc_第2页
21点小游戏JAVA课程设计.doc_第3页
21点小游戏JAVA课程设计.doc_第4页
21点小游戏JAVA课程设计.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、21点小游戏1.课程设计的目的 面向对象程序设计是一门实践性很强的专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。通过这次设计,掌握了以下内容:面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用类、包、接口的定义与使用。常用工具类与算法的实现(数组、向量、字符串、链表),java.awt、javax.swing中常用标准GUI组件及相应的事件处理,Java的异常处理机制,

2、Java的数据库连接技术,Java的多线程技术与动画制作以及Java的网络编程。“21点”是一个古老的扑克牌游戏,作为一款极具趣味性的牌类游戏,最早出现在十六世纪,起源于法国,法语称:vingt-et-un (单单字面来看是20和1,因为法文数字本身的复杂性,就是简单的21), 因此在广为流行后该游戏就叫21。后传入英国并广泛流传,英文的名字叫黑杰克(Blackjack)。游戏规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。2.设计方案论证设计思路本游戏选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成

3、开发环境。在要牌的过程中,如果所有的牌加起来超过21点,玩家就输了叫爆掉(Bust),游戏也就结束了。假如玩家没爆掉,又决定不再要牌了,这时系统随机给庄家发牌。假如庄家的总点数加起来小于18点(Hit),系统就必须继续给庄家发牌(不管庄家的点数是否比玩家大),一直发到庄家的点数大于等于18点为止。如果庄家的总点数等于或多于18 点,则必须停牌(Stand)。庄家在给自己发牌的过程中,假如庄家爆掉(超过21点),那庄家就输了。假如庄家没爆掉,那么玩家就与庄家比点数大小,大为赢。一样的点数为平手,玩家可以把自己的赌注拿回来。 如果拿牌拿到手中有5张牌,并且总数不到21点,那这种情况能压住一切牌型(

4、当然5张加起来一共21点更好)。开始下注玩家要牌(最多5张)庄家要牌赢输结束大于21点21点图1 系统流程图 开始详细设计1游戏计数规则扑克牌 A10 为110,J、Q、K 分别为为11、12、13。在要牌的过程中,如果所有的牌加起来超过21点,玩家就输了叫爆掉(Bust),游戏也就结束了。假如玩家没爆掉,又决定不再要牌了,这时系统随机给庄家发牌。假如庄家的总点数加起来小于18点(Hit),系统就必须继续给庄家发牌(不管庄家的点数是否比玩家大),一直发到庄家的点数大于等于18点为止。如果庄家的总点数等于或多于18 点,则必须停牌(Stand)。庄家在给自己发牌的过程中,假如庄家爆掉(超过21点

5、),那庄家就输了。假如庄家没爆掉,那么玩家就与庄家比点数大小,大为赢。一样的点数为平手,玩家可以把自己的赌注拿回来。 如果拿牌拿到手中有5张牌,并且总数不到21点,那这种情况能压住一切牌型(当然5张加起来一共21点更好)。2 二十一点术语花牌(K、Q、J分别为11、12、13)和10计算为 10点。其它牌则按照牌面上的点数计算。要牌(HIT) : 再拿一张牌。玩家只要手上牌相加点数不超过 21点都可要牌;但庄家要牌则有限定,即手上牌相加点数在 17点或以下,必需要牌;而手上牌相加点数在 18点或以上,就不能再要牌。 不要(STAND) : 不再拿牌。在任何情况下,玩家可选择停止要牌。 赌注加倍

6、(DOUBLE) : 玩家在拿到前两张牌之后,可以再下一注与原赌注相等的赌金(如果觉得少可以加倍),然后只能再拿一张牌。如果玩家的点数等于18或超过18点,系统就不允许玩家下注及赌注加倍。放弃: 玩家不想玩时,可以放弃本局游戏,系统退回一半的投注金。平手: 即玩家手上牌的点数与庄家的点数相同的时候,双方都没有输赢,投注金将退回给玩家。赢局: 玩家将评定为赢。玩家点数等于21点(赢注加倍)、玩家要了5张牌且点数不超过21点(赢注加倍)、玩家点数比庄家点数大且不超过21点、或庄家点数超过 21点(家点数不超过 21点)。庄家赢局: 玩家点数已超过 21点、庄家点数较玩家点数接近 21点(但不超过2

7、1点)赔率: 玩家刚好21点 或 5张牌不超21点赔3倍,其它为1赔1。下面是21点游戏的菜单功能图。21点 游 戏开始下注要牌判断点数 图2 菜单功能图本程序包括三个类文件:主类MainFrame.java,类Mycanvas.java,类cell.java。其中类MyMainFrame包含main()方法,另外两个类中MyCanvas()、方法reLoadPicture()、方法isFinish()方法start()和方法 paint()方法Mousepressed(Mouseevent arg();另一个类Cell中 则包含了方法move(String direction,int sle

8、ep)等.类JApple(1) JApplet的应用:编写HTML页面,把JApplet嵌入到一个表单中。欢迎速算21点游戏(2) JPanel类的应用:在Java中没有用来显示图片的JPanel,所以要编写一个用来显示图片的类,该类从JPanel类继承而来,具有JPanel的方法和特征还具有显示图片的功能。准备14张图片,分别为AK的扑克牌正面和一张背面图,进行装载。使用Graphics类的drawImage方法在面板上画上4张扑克牌,用myStatus数组保存当前5张牌的大小。装载图片:url=Class.forName(String str).getResource(String str

9、);Image=getToolkit().getResource(url);在指定位置画出图片:g.drawImage(myImagemycal24.myStatusi,i*IMGSIZE+5,5,this);(3) JFrame类的应用:用于显示对话框,输入表达式后,根据表达式判断是否合法和表达式的值的运算给出相应的对话框。(4) 添加对事件的处理:通过监听器来实现对事件的处理。在JApplet类中实现ActionListener的接口,用来处理ActionEvent事件。当产生ActionEvent事件时,就会调用接口中定义的ActionPerformed的方法。然后调用组件的addAct

10、ionListener()方法来安装监听器,用setActionCommand(String str)来区分不同组件产生的ActionEvent事件。游戏开始后,。按钮变为灰色即不可用。选择下注金额并单击下注按钮后,。单击要牌,系统随机给玩家发一张牌。单击不要,玩家发牌结束,系统随机给庄家发牌,只要一超过18,系统就停止发牌,然后比较玩家与庄家的点数大小(庄家超过21点马上提示输)。单击赌注加倍,下的金额会加倍。单击减少赌注,赌注成一倍减少。单击放弃,系统判断玩家输并要求重新下注、发牌。(5) 对表达式处理的方法:对表达式的处理有三部分第一,判断表达式的合法性。第二,判断表达式上的数字就是扑克

11、牌上的数字。第三,计算表达式的值。方法的返回值是整型。(6) 数组的应用:在本设计中数组用来保存14张图片,用来保存随机产生的4张牌的大小并根据此来显示相应的扑克牌,用来检查表达式的合法性。(1)成员变量见表1表1 主类成员变量表成员变量变量类型名称开始状态BooleanStart窗口宽度intfWidth窗口高度intfHeight结束对象gOver GameOver焦点控制booleanindex(2)方法见表2表2 主类方法表方法名功能备注Puzzle()创建游戏窗口和设置图标StartGame()开始游戏控制,更新开始菜单endgame()结束游戏控制弹出结束窗口FrameLoseFo

12、cus()使窗口失去焦点事件FrameGetFocus ()使窗口得到焦点事件menuShowClik()在游戏中显示纸牌调用类class ShowImagemenuExit()退出游戏(3)源代码见附录类Mycanvas实现了游戏系统对将要进行拼图的图片加载,函数中设置了游戏的图片库中图片在电脑上的路径,此方法先定义了一个布尔型变量hasAddActionListener并将其值赋为false,用hasAddActionListener来设置方格的动作监听器的标志位,True为已经添加上动作事件,False是尚未添加动作事件。 (1)成员变量见表3表3类Mycanvas成员变量表成员变量描述

13、变量类型名称布局格式变量CardLayoutcard容器变量Containercon面板数组JpanelPanel(2)方法见表4表4类Mycanvas方法表方法名功能备注CardFrame()创建窗口,布局游戏介绍添加了焦点事件适配器nextCard()转到一下张纸牌采用发放纸牌布局(3)源代码见附录MyCanvas.java类cell对分配好图案的小方格进行重新排列,打乱顺序,当地一个方格距左上角较近时,产生0-4,对应空方格的上下左右移动,空方格左移动,与左侧方格互换位置,5-8对应的方格也同理进行移动打乱图片顺序;当小方格图片的顺序打乱后则调用AddMouseListener方法为第一

14、个方格添加动作事件,这样单击按钮就能移动小方格,完成了方格的按钮响应。(1)成员变量见表5表5类Cell成员变量表成员变量描述变量类型名称难度等级变量inttype文件路径Stringfilename难度按钮组ButtonGroupbgrp图片选择按钮组ButtonGroupfrp菜单更新控制Booleanupdate菜单项数组JMenuMm m(2)方法见表6表6类Cell方法表方法名功能备注MenuFrame()创建窗口添加了焦点事件适配器addMenu()向菜单栏中添加菜单以数组形式添加多个菜单menuLevelClick()实现等级选择menuBackgroundClik()实现背景图

15、片的选择getType()返回一个难度等级getFilename()获取图片的名字initMenuBegin()初始化开始按钮并设置快捷键同时给出了选择 菜单后的相应动作initMenuBackground()初始化背景菜单initMenuAbout()初始化关于菜单initMenuOpition()初始化选择菜单(3)源代码见附录3.设计结果与分析(1)当打开该小游戏时,打开游戏菜单里面的开始游戏,软件运行界面如图 所示图3 主界面 图4点数大于21点图5 玩家正好21点界面图6 庄家超过21点界面 图7软件作者介绍界面4.设计体会该课程设计,除了全面系统的理解了JAVA面向对象编程原理的一

16、般原理和基本实现方法。还把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的编程原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对面向对象认识和概念是有点模糊的,现在通过自己动手做课程设计,从实践上认识了面向对象编程是如何通过对象来简化面向过程中的操作。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意尽力寻找程序中存在的不足之处,进而使功能更加完善。在这次课程设计中,我就是按照实验指导的思想来完成。加深了理解21点游戏的内部功能及内部实现,培养实践动手能力和程序开发能力的目的。 当然在做课程设计要有很大的耐心,做的过程就是不断的调试

17、修改调试过程,只有静下心来才能把问题解决。5.参考文献1 耿祥义,张跃平. Java2实用教程(第三版)M. 北京:清华大学出版社,2004.5:37-103.2 美Herbert Schildt .Java参考大全M. 北京:清华大学出版社,2007.8:145-168.3 陈家兴.JAVA图形用户界面设计与实例M . 北京:冶金工业出版社,2005.2:75-89.4 张伟.Java程序设计实战训练M. 北京:人民邮电出版社,2005.7:97-105.5 孙卫琴.Java面向对象编程M . 北京:电子工业出版社,2009.5:123-156.6 .大学基础教程(第六版)M. 北京:电子工

18、业出版社,2008.8:34-78.7 ).Java程序设计教程M. 北京:清华大学出版社,2007.4:12-34.附录public class run extends javax.swing.JFrame public run() initComponents(); / 从 A - K的扑克牌,用来计算扑克牌点数 String faces = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12, 13;String color = Spades, Heart, Clubs, Diamond; / 扑克牌的?黑桃、?红桃、?梅花、?方块 deck=new Card52;

19、 / 一共52张扑克牌 for(int i=0;ideck.length;i+) decki= new Card(facesi%13,colori/13); / 扑克牌点数及花色 shuffle(); / 洗牌代码 / Gamedh.setVisible(false); Gamepn.setVisible(false); / 设置在没有下注的前,其他按钮是不可点击的 Naskcard.setEnabled(false); Nnoaskcard.setEnabled(false); Ndoublemoney.setEnabled(false); Ndecreasemoney.setEnabled

20、(false); Giveup.setEnabled(false);/*相关按钮等对象的创建*/ SuppressWarnings(unchecked) private void initComponents() Dialog1 = new javax.swing.JDialog(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = ne

21、w javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); jLabel10 = new javax.swing.JLabel(); jLabel11 = new javax.swing.JLabel(); jLabel12 = new javax.swing.JLabel(); jLabel13 = new javax.

22、swing.JLabel(); jLabel14 = new javax.swing.JLabel(); jLabel15 = new javax.swing.JLabel(); jLabel16 = new javax.swing.JLabel(); jLabel17 = new javax.swing.JLabel(); North = new javax.swing.JLabel(); West = new javax.swing.JLabel(); East = new javax.swing.JLabel(); Gamepn = new javax.swing.JPanel(); C

23、omputercard = new javax.swing.JTextField(); /Nputedmoney.addActionListener(new MyActionMoniter(); Nputedmoney = new javax.swing.JButton(); /Naskcard.setEnabled(false); /Naskcard.addActionListener(new MyActionMoniter(); Naskcard = new javax.swing.JButton(); /Nnoaskcard.addActionListener(new MyActionM

24、oniter(); Nnoaskcard = new javax.swing.JButton(); /Ndoublemoney.addActionListener(new MyActionMoniter(); Ndoublemoney = new javax.swing.JButton(); /Ndecreasemoney.addActionListener(new MyActionMoniter(); Ndecreasemoney = new javax.swing.JButton(); Nputedcash = new javax.swing.JTextField(); Nhavecash

25、 = new javax.swing.JTextField(); Nplayercard = new javax.swing.JTextField(); Nscore = new javax.swing.JLabel(); Nmoney = new javax.swing.JLabel(); Ncash = new javax.swing.JLabel(); Cscore = new javax.swing.JLabel(); Ncbx = new javax.swing.JComboBox(); Giveup = new javax.swing.JButton(); jPanel1 = ne

26、w javax.swing.JPanel(); pic1 = new javax.swing.JLabel(); pic2 = new javax.swing.JLabel(); pic3 = new javax.swing.JLabel(); pic4 = new javax.swing.JLabel(); pic5 = new javax.swing.JLabel(); pic6 = new javax.swing.JLabel(); pic7 = new javax.swing.JLabel(); pic8 = new javax.swing.JLabel(); pic9 = new j

27、avax.swing.JLabel(); pic10 = new javax.swing.JLabel(); pic11 = new javax.swing.JLabel(); pic12 = new javax.swing.JLabel(); South = new javax.swing.JLabel(); jMenuBar1 = new javax.swing.JMenuBar(); Game = new javax.swing.JMenu(); Start = new javax.swing.JMenuItem(); Nunber = new javax.swing.JMenu();

28、Nun2 = new javax.swing.JMenuItem(); Restart = new javax.swing.JMenuItem(); Exit = new javax.swing.JMenuItem(); Option = new javax.swing.JMenu(); Filetop = new javax.swing.JMenuItem(); Help = new javax.swing.JMenu(); help = new javax.swing.JMenuItem(); Aboat = new javax.swing.JMenuItem(); /*排行榜对话框*/

29、Dialog1.setTitle(Java-21点游戏 英雄排行榜); Dialog1.setBounds(new java.awt.Rectangle(0, 0, 400, 250); / 排行榜对话框 Dialog1.setIconImage(null); / 排行榜对话框图标为无 Dialog1.setResizable(false); / 不可改变对话框的大小 jLabel1.setForeground(new java.awt.Color(255, 0, 0); jLabel1.setText(1、); jLabel2.setForeground(new java.awt.Color

30、(255, 0, 0); jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel2.setText(姓名); jLabel3.setForeground(new java.awt.Color(255, 0, 0); jLabel3.setText(分数); jLabel4.setForeground(new java.awt.Color(255, 0, 0); jLabel4.setText(2、); jLabel5.setForeground(new java.awt.Color(255, 0, 0)

31、; jLabel5.setText(3、); jLabel6.setForeground(new java.awt.Color(255, 0, 0); jLabel6.setText(4、); jLabel7.setForeground(new java.awt.Color(255, 0, 0); jLabel7.setText(5、); jLabel8.setText(jLabel8); jLabel9.setText(jLabel9); jLabel10.setText(jLabel10); jLabel11.setText(jLabel11); jLabel12.setText(jLab

32、el12); jLabel13.setText(jLabel13); jLabel14.setText(jLabel14); jLabel15.setText(jLabel15); jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel16.setText(jLabel16); jLabel17.setText(jLabel17); javax.swing.GroupLayout Dialog1Layout = new javax.swing.GroupLayout(Dialog1.getConten

33、tPane(); Dialog1.getContentPane().setLayout(Dialog1Layout); Dialog1Layout.setHorizontalGroup( Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(Dialog1Layout.createSequentialGroup() .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA

34、ILING, false) .addGroup(Dialog1Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel2) .addGroup(javax.swing.GroupLayout.Alignment.LEADING,Dialog1Layout.createSequentialGroup() .addGap(36, 36, 36) .addGroup(Dialog1Layout.createPar

35、allelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel7) .addComponent(jLabel6) .addComponent(jLabel5) .addComponent(jLabel4) .addComponent(jLabel1) .addGap(81, 81, 81) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel8)

36、 .addComponent(jLabel10) .addComponent(jLabel12) .addComponent(jLabel14) .addComponent(jLabel16) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,101,Short.MAX_VALUE) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel9) .ad

37、dComponent(jLabel11) .addComponent(jLabel13) .addComponent(jLabel15) .addComponent(jLabel17) .addComponent(jLabel3) .addGap(74, 74, 74) );Dialog1Layout.setVerticalGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(Dialog1Layout.createSequentialGroup() .addGa

38、p(7, 7, 7) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(jLabel3).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,25,Short.MAX_VALUE) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.

39、Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jLabel8) .addComponent(jLabel9) .addGap(18, 18, 18) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(jLabel10) .addComponent(jLabel11) .addGap(18, 18, 18) .addGroup(Di

40、alog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(jLabel12) .addComponent(jLabel13) .addGap(18, 18, 18) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel6) .addComponent(jLabel14

41、) .addComponent(jLabel15) .addGap(18, 18, 18) .addGroup(Dialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel7) .addComponent(jLabel16) .addComponent(jLabel17) .addGap(74, 74, 74) );setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setT

42、itle(21点游戏 (人机对战 Java版);/ 程序标题 setBounds(new java.awt.Rectangle(0, 0, 0, 0); setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR); addWindowListener(new java.awt.event.WindowAdapter() public void windowClosing(java.awt.event.WindowEvent evt) formWindowClosing(evt) ); North.setHorizontalAlig

43、nment(javax.swing.SwingConstants.CENTER); North.setText(北(庄);H); West.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); West.setText(西); getContentPane().add(West, java.awt.BorderLayout.WEST); East.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); East.setText(东); getContentPane().

44、add(East, java.awt.BorderLayout.EAST); Gamepn.setMaximumSize(new java.awt.Dimension(32767, 34000); Gamepn.setPreferredSize(new java.awt.Dimension(972, 630); Computercard.setColumns(5); Computercard.setEditable(false); Computercard.setForeground(new java.awt.Color(255, 0, 255); Computercard.setHorizo

45、ntalAlignment(javax.swing.JTextField.CENTER); Computercard.setText(0); Nputedmoney.setText(下注); Nputedmoney.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) NputedmoneyActionPerformed(evt); ); Naskcard.setText(要牌);ner(new java.awt.even

46、t.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) NaskcardActionPerformed(evt);); Nnoaskcard.setText(不要); Nnoaskcard.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) NnoaskcardActionPerformed(evt); ); Ndoub

47、lemoney.setText(赌注加倍);r() public void actionPerformed(java.awt.event.ActionEvent evt) NdoublemoneyActionPerformed(evt); ); Ndecreasemoney.setText(减少赌注); Ndecreasemoney.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) NdecreasemoneyActi

48、onPerformed(evt); ); Nputedcash.setColumns(5); Nputedcash.setEditable(false); Nputedcash.setForeground(new java.awt.Color(255, 51, 51); Nputedcash.setHorizontalAlignment(javax.swing.JTextField.CENTER); Nputedcash.setText(0); Nhavecash.setColumns(5); Nhavecash.setEditable(false); Nhavecash.setForeground(new java.awt.Color(255, 0, 0); Nhavecash.setHorizontalAlignment(javax.swing.JTextField.CENTER); Nhavecash.setText(95); Nplayercard.setColumns(5); Nplayercard.setEditabl

温馨提示

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

评论

0/150

提交评论