龜兔賽跑程序設計報告_第1頁
龜兔賽跑程序設計報告_第2頁
龜兔賽跑程序設計報告_第3頁
龜兔賽跑程序設計報告_第4頁
龜兔賽跑程序設計報告_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、塔里木大學信息工程學院課程設計目錄前言0工程概況12.1 項目所用的時間12.2項目負責人12.3 項目指導人1正文13.1 設計的目的和意義13.2 目標與總體方案13.3 設計方法和內容23.3.1開發(fā)環(huán)境23.3.2設計方法23.3.4設計體會83.4 設計創(chuàng)新與關鍵技術83.4.1 設計創(chuàng)新83.4.2 關鍵技術93.5結論9致謝9參考文獻10附錄11前言在科技日新月異的今天,電腦成為人的生活中不可缺少的一部分。作為計算機專業(yè)的學生,應該充分利用所學知識,把實際問題轉移到電腦上去,通過電腦的編程,使復雜問題簡單化,深奧問題淺顯化,抽象問題具體化。在學過Java程序設計語言后,我們對計算

2、機有了更深的了解。Java是一種簡單的,跨平臺的,面向對象的,分布式的,解釋的,健壯的安全的,結構的中立的,可移植的,性能很優(yōu)異的多線程的,動態(tài)的語言。當1995年SUN推出Java語言之后,全世界的目光都被這個神奇的語言所吸引。Java 不同于一般的編譯執(zhí)行計算機語言和解釋執(zhí)行計算機語言。它首先將源代碼編譯成二進制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。本次課設我選擇的是龜兔賽跑游戲的制作。這個游戲實際上主要是對我們JAVA學習中的線程部分的考察,尤其是多線程的定義,運行等。同時還要保證游戲有一個真實的操作界面

3、和人性化操作設計。在設計龜兔賽跑這個游戲中我也遇到了技術上的一些困難,但通過查閱資料,并且在老師的幫助下最終問題得以解決。正如龜兔賽跑這個故事一樣,雖然我們在技術上不是很優(yōu)秀,但只要有烏龜一樣堅持不懈的精神,最終勝利到達終點。工程概況2.1 項目所用的時間從這個項目開始到結束總共歷時12天。完成于2015年6月19日。2.2項目負責人孫肖肖,女,計算機科學與技術17-4,學生。2.3 項目指導人高賢強,男,信息工程學院教師,講師。正文3.1 設計的目的和意義本設計要求學生開發(fā)一個龜兔賽跑游戲,主要是對學生多線程編程、游戲方案設計、游戲背景及動漫制作等能力進行培養(yǎng)鍛煉,同時還要求保證游戲有一個真

4、實的操作界面和人性化操作設計。此外,學生通過該題目的設計過程,可以初步應用軟件系統(tǒng)的開發(fā)原理和開發(fā)方法,全面培養(yǎng)軟件開發(fā)過程中的分析、設計、編碼、測試及文檔規(guī)范書寫的能力,得到軟件工程的訓練,提高解決實際問題的能力。(1)有助于加深我們對Java程序設計這門課程的理解,我們在課堂上學的都是基礎理論知識,對于如何用程序語言來描述所學知識還是有一定的難度。通過課程設計,我們可以真正理解其內涵。(2)有利于我們邏輯思維的鍛煉,程序設計能直接有效地訓練學生的創(chuàng)新思維、培養(yǎng)分析問題、解決問題的能力。即使是一個簡單的程序,依然需要學生有條不紊的構思。(3)有利于培養(yǎng)嚴謹認真的學習態(tài)度,在程序設計的過程中,

5、當我們輸入程序代碼的時候,如果不夠認真細心,那么就可能導致語法錯誤,從而無法得出運行結果。那么,這個我們反復調試,反復修改的過程,其實也是對我們認真嚴謹治學的一個鍛煉。3.2 目標與總體方案(1)用圖形用戶界面實現(xiàn)游戲界面,同時通過設置布局,背景,字體等來豐富界面,最大程度的模擬龜兔賽跑的場景。 (2)能設置比賽時間,龜兔的數(shù)量等等,實現(xiàn)對比賽中龜兔的數(shù)量,比賽時間等參數(shù)的設置。 (3)在任意時間段內龜兔的速度是隨機的,為了模擬龜兔賽跑結果的不確定性,在游戲開始后烏龜和兔子的速度都是通過隨機函數(shù)產生的,保證兔子比烏龜速度要快,兔子在賽跑途中看到烏龜落后下會偷懶睡覺的前提下給予烏龜,兔子以隨機的

6、速度,從而使得游戲的結果不確定,給用戶更多的游戲的真實感。 (4)開始比賽之后以動畫顯示賽跑過程,用戶進入游戲界面后,先選擇游戲模式,然后單擊開始按鈕,烏龜和兔子將會以隨機的速度開始朝終點線爬行,通過重復刷新技術達到動畫效果,給用戶更逼真的感官。 (5)系統(tǒng)的開發(fā)可以采用Java語言來實現(xiàn); (6)在基本要求達到后,可進行創(chuàng)新設計,如改善算法性能、友好的人機界面。3.3 設計方法和內容3.3.1開發(fā)環(huán)境硬件環(huán)境:一臺清華同方電腦,其配置為:CPU: Intel(R) Core(TM) i5-4570 3.2GHz 內存:4G 硬盤:500G 主板:4260LA-2922P軟件環(huán)境:Window

7、s 7旗艦版版本2009 Service Pack 1,并且安裝了可供編程的eclipse-standard-kepler-SR1-win323.3.2設計方法賽跑的過程是兩個比賽對象并行前進的過程,考慮到應用需求,我們可以利用多線程技術,所謂多線程就是指同時存在幾個執(zhí)行體,按幾條不同的執(zhí)行線索共同工作的情況,這與要求剛好吻合,Java語言對多線程提供強大的支持。用直觀圖形描述龜兔賽跑前進過程:每過一秒,兔子走過的文本框中增加三個“#”號,烏龜走過的路程文本框中增加一個“#”號。跑完路程結束線程,并顯示各自跑完全程總共用的時間。3.3.3主體內容一、設計分析第一步:設計良好游戲界面功能:實現(xiàn)基

8、本的開始、退出游戲功能、選擇游戲模式等?;静襟E:在其上添加圖3.3.3.1 基本步驟1在實現(xiàn)過程中會遇到的問題及解決方案:1、背景面板上加載圖片時需要重寫paintComponent方法2、布局必須合理設置(GridLayout不能改變組件的具體位置但可以縮放時相對位置不變。FlowLayout默認是占滿第一行轉向第二行,并且放大時相對位置改變。Null布局可以自由布置組件位置和大小,但不易實現(xiàn)窗口放大時相對大小隨之變化。)若設置不合理,就可能出現(xiàn)多種錯誤。列如:無法插入背景圖片,組建不能顯現(xiàn),組件位置與設計不符等等。 3、添加背景面板監(jiān)聽重置各面板位置才能實現(xiàn)窗口放大時的相對位置不變第二步

9、:線程類的設計功能:實現(xiàn)多只烏龜,兔子的多線程運行具體步驟:圖3.3.3.2基本步驟2第二步會遇到的問題及解決方案:1、建立兔子線程,繼承接口Runnable并正確的實現(xiàn)run()方法。同時要特別注意兔子在比賽中還要模擬睡覺的動作。2、建立烏龜線程,繼承接口Runnable并實現(xiàn)其run()方法,要與兔子多線程運行;3、為了實現(xiàn)可選擇多只龜兔進行賽跑,要實現(xiàn)多個兔子,烏龜線程,并能并發(fā)運行。4、游戲中提供了模式選擇的功能,通過建立ItemSelect類來建立不同的游戲模式。二、各模塊的功能及程序說明龜兔賽跑程序主要由以下幾個模塊構成:模塊一:初始圖形界面模塊public class RRTT

10、extends Applet implements ActionListener Graphics g; Panel panel; Label label1,label2,label3; Button button1,button2; RabTor1 rabTor1; public void init()/Applet中的初始化函數(shù)有類中構造函數(shù)的作用!最先調用! panel=new Panel();panel.setLayout(new FlowLayout();label1=new Label("歡迎使用該軟件,1.0版本,不足之處,請多多指教!");label2=ne

11、w Label("*東瑞制作*程序員*陳杰*");label3=new Label();button1=new Button("進入游戲");button2=new Button("退出游戲");button1.addActionListener(this);button2.addActionListener(this);setLayout(new BorderLayout();panel.add(button1);panel.add(label3);panel.add(button2);add(label1,BorderLayout

12、.NORTH);add(label2,BorderLayout.SOUTH);add(panel,BorderLayout.CENTER); public void actionPerformed(ActionEvent e) if(e.getSource()=button1) rabTor1=new RabTor1(); /dispose();else if(e.getSource()=button2) System.exit(0); 該模塊主要是用來提供進入該程序游戲的初始圖形用戶界面,顯示該程序的基本信息,提示用戶進行操作。模塊二:兔子線程模塊該模塊主要是實現(xiàn)兔子運行線程,類Rabbit

13、Thread 繼承了接口Runnable并實現(xiàn)其方法run(),主要有兩個功能的實現(xiàn):1.來為兔子定義隨機速度x1=x1+(int)(Math.random()*30);2.兔子動的實現(xiàn)方法if(threadName.equals("rabbit")&&x1<=800) int t1=0,t2=0; str1="rabbit" x1=x1+(int)(Math.random()*30); rab_time=rab_time+1; rab_road+=(int)(Math.random()*25); 3.兔子獲得一個隨機的時間睡眠(0

14、30秒)str1="烏龜跑這么慢,我先睡一會" str2="哼,別以為自己是兔子就了不起!你就睡吧!" rabbit = getImage( getCodeBase(),"4.jpg"); try t1=(int)(Math.random()*30000); Thread.currentThread().sleep(t1); catch (InterruptedException e)模塊三:烏龜線程模塊該模塊主要是實現(xiàn)烏龜運行線程,類TortoiseThread繼承了接口Runnable并實現(xiàn)其方法run(),主要功能的實現(xiàn):烏龜移

15、動實現(xiàn)的方法!else if(threadName.equals("tortoise")&&x2<=600) x2+=(int)(Math.random()*20); tor_road+=(int)(Math.random()*20); tor_time=tor_time+1; if(x2>140&&x2<240) str2="tortoise" if(x2>255&&x2<=480) str2="tortoise" if(x2>480&&am

16、p;x1<580) str2="就快到終點了,我要堅持下去,堅持就是勝利!"通過隨機函數(shù)實現(xiàn)烏龜隨機速度爬行。模塊四:畫布界面的設置與布局class Imagecanvas extends Canvas Toolkit tool; Image image1; Imagecanvas() setSize(800,500); tool=getToolkit(); image1=tool.getImage("6.gif"); public void paint(Graphics g) g.drawImage(image1,10,10,image1.get

17、Width(this),image1.getHeight(this),this); public Image getImage() return image1; 三、操作方法及試驗結果: (第一局比賽開始) (兔子領先) (兔子勝利) (第二局比賽開始) (兔子中途睡覺) (烏龜反超兔子,最終勝利)3.3.4設計體會 本系統(tǒng)是一個基于多線程模式的龜兔賽跑小游戲,系統(tǒng)的規(guī)模很有限,功能實現(xiàn)也相對簡單,但作為一個完整的系統(tǒng),在整個過程中我還是學到了不少的知識,也對java語言有了較深的體會。通過本次課設試驗,我對java的熟練程度得到了很大的提升,對包括多線程在內的java語言高級技術掌握的也更加

18、熟練了,更對面向對象的分析思想,面向對象的設計方法有了直觀的體會。同時,在游戲的制作過程中要用到很多課本上并未介紹到的知識,例如多線程隊列事件等等,通過網絡學習和與老師同學的交流使得自己對該部分的知識有了更廣泛更深刻的體會。當然本次課設,通過我不斷的嘗試,不斷的修改錯誤,解決問題,終于明白了程序員生活中天堂與地獄的感覺是什么了。雖然這個過程很苦,但我對java的熟練程度得到了很大的提升。同時,在游戲的制作過程中要用到很多課本上并未介紹到的知識,如當我遇到如何在一個Japplet類中創(chuàng)建另外一個Applet類的對象并運行線程的問題時,我糾結了很久沒能找到解決辦法,最終通過上網百度,不斷嘗試,不斷

19、錯,在不斷改,終于解決了。通過網絡學習使得自己對該部分的知識有了更廣泛更深刻的體會。這次的課程設計時間有點短,僅有二周的時間。在調試過程中屢調屢敗的狀態(tài)下,老師給了我熱情的幫助,老師指導我們調試程序,說哪些是錯的,哪些是多余的,哪些是必要的,一個雜亂無章的程序被修改得有條不紊,很顯然結果也是最最正確的。本次系統(tǒng)的功能相對還比較單一,只能選擇兩種游戲模式,并且游戲也相對單調,缺乏趣味性,離一個真正的游戲軟件還相差很遠,以后如有時間,可以考慮去做一個真正的游戲軟件。3.4 設計創(chuàng)新與關鍵技術 3.4.1 設計創(chuàng)新1、用圖形用戶界面實現(xiàn)游戲界面;通過使用java中Jlabel,Jbutton,Jte

20、xtArea,JcomboBox等swing組件來實現(xiàn)圖形用戶界面,同時通過設置布局,背景,字體等來豐富界面,最大程度的模擬龜兔賽跑的場景。2、能設置比賽時間,龜兔的數(shù)量等等。通過組合框組件的使用以及事件的訂閱來實現(xiàn)用戶對不同游戲模式的選擇,在本程序中只是簡單的設計了兩種游戲模式供用戶選擇,也一定程度上實現(xiàn)了對比賽中龜兔的數(shù)量,比賽時間等參數(shù)的設置。3、在任意時間段內龜兔的速度是隨機的。為了模擬龜兔賽跑結果的不確定性,在游戲開始后烏龜和兔子的速度都是通過隨機函數(shù)產生的,當然,我們會在保證兔子比烏龜速度要快,兔子在賽跑途中看到烏龜落后下會偷懶睡覺的前提下給予烏龜,兔子以隨機的速度,從而使得游戲的

21、結果不確定,給用戶更多的游戲的真實感。4、開始比賽之后以動畫顯示賽跑過程。用戶進入游戲界面后,先選擇游戲模式,然后單擊開始按鈕,烏龜和兔子將會以隨機的速度開始朝終點線爬行,通過java中重復刷新技術達到動畫效果,給用戶更逼真的感官。3.4.2 關鍵技術游戲中提供了模式選擇的功能,通過建立ItemSelect類來建立不同的游戲模式。 建立兔子和烏龜線程,繼承接口Runnable并正確的實現(xiàn)run()方法。3.5結論程序的語法錯誤很容易查找和修改,但找出了語法錯誤并不代表程序已經完成。很多編譯錯誤是由于函數(shù)名或變量名等程序對象的拼寫錯誤引起的。在編寫程序的過程中,需要認真仔細,以免出現(xiàn)拼寫錯誤,增

22、加調試程序的工序,浪費不必要的時間和精力。 在這個過程中,我收獲頗多,不僅理論知識掌握的更牢,實際動手能力也有所提高,再次讓我感受到Java語言強大的功能,更激發(fā)了我Java語言的興趣。如果說以前的編程僅僅是按照課本的要求進行的,那這個課程設計難度就提高了一個級別,它讓們將所知道的知識聯(lián)系到了一起,更加顯示了程序的強大。致謝首先我要感謝我的老師在課程設計上給予我們的指導和提供給我們的支持和幫助,這是我們能順利完成這次課程設計的主要原因,更重要的是老師幫我解決了許多技術上的難題,讓我們能把程序做得更加完善。在此期間,我不僅學到了許多新的知識,而且也開闊了視野,提高了自己的設計能力。其次

23、,我要感謝曾經幫助過我的同學,他們也為我解決了不少我不太明白的設計語言,和一些細節(jié)上的差錯。本次設計是在高賢強老師的悉心指導下完成的,老師淵博的知識,嚴謹?shù)闹螌W態(tài)度,一絲不茍的工作作風,平易近人的性格都是我們學習的楷模。在論文的整理期間,高老師給了我們很多的意見和指導,才使得論文得以順利的完成。最后再一次感謝所有在設計中曾經幫助過我的良師益友和同學。在此,我誠心的對所有幫助過我的老師同學們說一句:謝謝!參考文獻1 丁振凡Java語言使用教程. 北京郵件大學出版社,2006.9 2 丁振凡Java語言使用教程實驗指導. 北京郵件大學出版社,2006.9 3 Bruce Eckel Java編程思

24、想. 機械工業(yè)出版社 2007.6 4 耿祥義 JAVA2實用教程.清華大學出版社 2009.55 陳國君 java 程序設計基礎(第二版) 清華大學出版社6 劉藝,吳英Java程序設計大學教程 M北京:科學出版社,2005年7 趙文靖.Java程序設計基礎與上機指導.北京:清華大學出版社,2006年.8 吳其慶.Java程序設計實例教程.北京:冶金工業(yè)出版社,2006年.9 耿祥義,張躍平Java基礎教程(第2版) M北京:清華大學出版社,2007年10 美Bruce Eckel. Thinking In Java.英文第4版.北京:機械工業(yè)出版社,200711 楊昭編著.二級Java語言程

25、序設計教程.北京:中國水利水電出版社,200612 趙文靖編著.Java程序設計基礎與上機指導.北京:清華大學出版社,200613 張海藩.軟件工程導論(第四、五版)M.北京:清華大學出版社, 2008. 14Cay S and Gary C. Java2核心技術(卷 1: 基礎知識)M.機械工業(yè)出版社,2003.15鄧光偉,李阿午,朱志.Java2核心技術(卷2:高級特性)M.機械工業(yè)出版社,2000.16Watson K,Nagel C,齊立波.C#入門經典M.清華大學出版社,2002.&#

26、160;17張廣彬,孟紅蕊,張永寶.C+課程設計案例精編M.清華大學出版社,2005.18朱喜福.C+程序設計M.人民郵電出版社,2005. 19宛延闿.實用C+程序設計教程M.機械工業(yè)出版社,2006.  附錄源程序package sxx; import java.awt.Color;import java.awt.Graphics;import java.awt.Image;import javax.swing.JApplet;import java.awt.*;import java.awt.event.*;import java.util.Arrays;i

27、mport java.lang.*;import java.applet.Applet;import java.applet.AudioClip;import .URL; SuppressWarnings( "unused", "serial" )class Imagecanvas extends Canvas Toolkit tool; Image image1; Imagecanvas() setSize(800,500); tool=getToolkit(); image1=tool.getImage("6.gif"); pub

28、lic void paint(Graphics g) g.drawImage(image1,10,10,image1.getWidth(this),image1.getHeight(this),this); public Image getImage() return image1; /*public class frame extends Frame implements ActionListenerPanel panel;Label label1,label2,label3;Button button1,button2; RabTor1 rabTor1;frame()panel=new P

29、anel();panel.setLayout(new FlowLayout();label1=new Label("歡迎使用該軟件,1.0版本,不足之處,請多多指教!");label2=new Label("*東瑞制作*程序員*孫肖肖*");label3=new Label();button1=new Button("進入游戲");button2=new Button("退出游戲");button1.addActionListener(this);button2.addActionListener(this);/l

30、abel1.setText("歡迎使用該軟件,1.0版本,不足之處,請多多指教!");/label2.setText("*東瑞制作*程序員*孫肖肖*");setLayout(new BorderLayout();panel.add(button1);panel.add(label3);panel.add(button2);add(label1,BorderLayout.NORTH);add(label2,BorderLayout.SOUTH);add(panel,BorderLayout.CENTER);addWindowListener(new Win

31、dowAdapter() public void WindowClosing(WindowEvent e) System.exit(0); ); setBounds(300,200,300,200); setVisible(true); validate(); public void actionPerformed(ActionEvent e)if(e.getSource()=button2) rabTor1=new RabTor1();*/package sxx;import java.applet.AudioClip;import java.awt.Color;import java.aw

32、t.Graphics;import java.awt.Image;import .URL;import javax.swing.JApplet; SuppressWarnings("serial")public class RabTor1 extends JApplet implements Runnable Graphics g; int i=1; Image backpic,rabbit,tortoise,zhongdian,tortoise2,rabbit2; int x1=0,y1=80,j=0; int x2=0,y2=180;/圖片的位移! int rab_ro

33、ad=0,tor_road=0;/圖片跑的路程! double rab_time=0.0,tor_time=0.0;/圖片移動用的時間 String str1="rabbit",str2="tortoise"/給字符串付初值! setSize(800,400); /為什么沒用? public void init()/Applet中的初始化函數(shù)有類中構造函數(shù)的作用!最先調用! backpic = getImage(getCodeBase(), "起跑.jpg");/將圖片對象與圖片 綁定! rabbit = getImage( getC

34、odeBase(),"兔子.gif"); tortoise = getImage(getCodeBase(), "烏龜.jpg"); zhongdian = getImage(getCodeBase(), "烏龜贏了.png"); tortoise2 = getImage(getCodeBase(),"小烏龜.jpg"); rabbit2=getImage(getCodeBase(),"兔子在前.jpg"); /rabbit3=getImage(getBase(),"3.jpg&quo

35、t;); public void paint(Graphics g)/此函數(shù)第四個調用! this.g=g; setSize(760,360); if(i=1) g.drawImage(backpic, 0, 0, 800, 600, this); g.setColor(Color.green); g.fillRect(0, 0, 1600, 800);/填充矩形 g.setColor(Color.red); g.drawString("-背景音樂孫肖肖制作",30,30); g.drawLine(0,75,600,75);/畫跑道 g.drawLine(0,160,600

36、,160); g.drawLine(0,260,600,260); g.drawLine(603,80,603,300); g.drawRoundRect(0,10,680,300,60,60);/圓角矩形 g.setColor(Color.black); g.drawImage(rabbit, x1, y1, 60, 60, this); g.drawString(str1, x1, y1+80); g.drawImage(tortoise, x2, y2, 60, 60, this); g.drawString(str2, x2, y2+80); g.drawImage(zhongdian

37、, 600, 0, 60, 80, this); else if(i=2) g.drawImage(tortoise2, 600, 180, 60, 60, this); /*else if(i=3) int x3=245,y3=80; g.drawImage(rabbit2,600,80,60,60,this); else int x4=490,y4=80; g.drawImage(rabbit2,x4,y4,60,60,this); */ /System.out.println(j); public void update(Graphics g)/用不到! public void star

38、t()/此函數(shù)第二個調用! Thread rab = new Thread(this, "rabbit");/創(chuàng)建一個兔子線程,this表示在這個類中找.rabbit是線程的名子. Thread tor = new Thread(this, "tortoise"); rab.start();/線程對象調用start()方法!然后調用對應的run()方法! tor.start(); /*public void stop() tryrab.stop(); rab=null; tor.stop(); tor=null; catch(Exception e) *

39、/ /為什么沒用? /public void destroy() / public void run()/此函數(shù)第三個調用! URL codebase=getCodeBase(); System.out.println(codebase); AudioClip audio1=getAudioClip(codebase,"龜兔賽跑.wav"); g.drawString("-背景音樂魯晶晶制作",30,30); audio1.loop(); boolean stop=false;/標志,此函數(shù)的精典之處.控制兔子,龜什么時候停! while(!stop)

40、try Thread.currentThread();Thread.sleep(1000);/當前線程調用sleep()函數(shù). catch (InterruptedException ex) String threadName=Thread.currentThread().getName();/取得當前線程的名子. if(threadName.equals("rabbit")&&x1<=800)/兔子動的實現(xiàn)方法! int t1=0,t2=0; str1="rabbit" x1=x1+(int)(Math.random()*30);

41、 rab_time=rab_time+1; rab_road+=(int)(Math.random()*25); if(x1>=120&&x1<=140&&x1<x2) str1="烏龜跑這么慢,我肯定能追上他!我先睡一會" str2="哼,別以為自己是兔子就了不起!你就睡吧!" rabbit = getImage( getCodeBase(),"兔子睡覺.jpg"); if(x1>=120&&x1<=130) str1="烏龜跑這么慢,我先睡一會

42、" str2="哼,別以為自己是兔子就了不起!你就睡吧!" rabbit = getImage( getCodeBase(),"兔子睡覺.jpg"); try t1=(int)(Math.random()*30000); Thread.currentThread();Thread.sleep(t1); catch (InterruptedException ex) rab_time+=(double)t1/1000; if(x1>140) rabbit = getImage( getCodeBase(),"rabbit.gif");

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論