【課程設計報告】JAVA實現(xiàn)華容道智力游戲 有源碼(word版)
《【課程設計報告】JAVA實現(xiàn)華容道智力游戲 有源碼(word版)》由會員分享,可在線閱讀,更多相關《【課程設計報告】JAVA實現(xiàn)華容道智力游戲 有源碼(word版)(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、更多計算機類課程設計、畢業(yè)設計、論文請訪問: 課程設計(論文)任務書 軟 件 學 院 學 院 軟件+電子商務 ?! I(yè) 2 班 一、課程設計(論文)題目 華容道——一個傳統(tǒng)的智力游戲 二、課程設計(論文)工作自 2010 年 12 月 20 日起至 2010 年 12 月 24 日止。 三、課程設計(論文) 地點: 軟 件 學 院 實 訓 中 心 四、課程設計(論文)內容要求: 1.本課程設計的目的 (1)
2、掌握Java語言的程序設計方法; (2)理論聯(lián)系實際,進一步提高學生的軟件開發(fā)技術; (3)培養(yǎng)學生分析、解決問題的能力; (4)提高學生實踐論文撰寫能力。 2.課程設計的任務及要求 1)課程設計任務: 用java語言編寫一個華容道小游戲 2)創(chuàng)新要求: 在基本要求達到后,可進行創(chuàng)新設計 3)課程設計論文編寫要求 (1)課程設計任務及要求 (2)設計思路--工作原理、功能規(guī)劃 (3)詳細設計---數(shù)據(jù)分析、算法思路、類設計、功能實現(xiàn)(含程序流程圖、主要代 碼及注釋)、界面等。 (4)運行調試與分析討論---給出運行屏幕截圖,分析運行結果,有何改進想法等。
3、 (5)設計體會與小結---設計遇到的問題及解決辦法,通過設計學到了哪些新知識, 鞏固了哪些知識,有哪些提高。 (6)參考文獻(必須按標準格式列出,可參考教材后面的參考文獻格式) (7)報告按規(guī)定排版打印,要求裝訂平整,否則要求返工; (8)課設報告的裝訂順序如下:封面---任務書---中文摘要---目錄----正文---附錄 (代碼及相關圖片) (9) 嚴禁抄襲,如有發(fā)現(xiàn),按不及格處理。 4)課程設計評分標準: (1)學習態(tài)度:10分; (2)系統(tǒng)設計:20分; (3)編程調試:20分; (4)回答問題:20分; (5)論文撰寫:30分。 5)參考文獻:
4、 (1)丁振凡. Java語言實用教程(第2版)[M]. 北京郵電大學出版社. 2008.1 (2)丁振凡. Java語言實用教程實驗指導(第2版)[M]. 北京郵電大學出版社. 2008.1 (3)楊樹林等. Java語言最新實用案例教程(第2版)[M]. 清華大學出版社. 2010.7 6)課程設計進度安排 1.準備階段(4學時):選擇設計題目、了解設計目的要求、查閱相關資料 2.程序模塊設計分析階段(4學時):程序總體設計、詳細設計 3.代碼編寫調試階段(8學時):程序模塊代碼編寫、調試、測試 4.撰寫論文階段(4學時):總結課程設計任務和設計內容,撰寫課程設計論文
5、 學生簽名: 2010 年 12 月 20 日 課程設計(論文)評審意見 (1)學習態(tài)度(10分):優(yōu)(?。⒘迹ā。?、中( )、一般(?。?、差( ); (2)系統(tǒng)設計(20分):優(yōu)( )、良( )、中(?。?、一般( )、差( ); (3)編程調試(20分):優(yōu)(?。⒘迹ā。⒅校ā。?、一般( )、差( ); (4)回答問題(20分):優(yōu)( )、良( )、中(?。?、一般(?。?、差(?。?; (5)論文撰寫(30分):優(yōu)( )、良(?。⒅校ā。?、一般(?。⒉睿ā。? 評閱人: 職稱: 講師
6、 2010 年 12 月 25 日 中文摘要 華容道,古老的中國游戲,以其變化多端、百玩不厭的特點與魔方、獨立鉆石棋一起被國外智力專家并稱為“智力游戲界的三個不可思議”。游戲就是依照“曹瞞兵敗走華容,正與關公狹路逢,只為當初恩義重,放開金鎖走蛟龍”這一故事情節(jié)設計,受到很多玩家的喜愛。 該程序用Java語言編寫 ,棋盤上有10個不一樣大小的按鈕,分別代表曹操、張飛、趙云、馬超、黃忠和關羽,還有四個兵。棋盤最下方有兩個空著的小方格,代表曹操逃出的位置,可以實現(xiàn)通過鼠標或者鍵盤移動界面上的按鈕,最終使曹操移動到棋盤最下方,代表曹操逃出華容道。
7、 目 錄 一、課程設計任務及要求 1 二、需求分析 2 三、設計思路 3 四、詳細設計 4 五、運行調試與分析討論 14 六、設計體會與小結 16 七、參考文獻 17 一、課程設計任務及要求 1、 本程序主要練習使用布局管理器設計一個華容道游戲界面,并練習使用事件監(jiān)聽器(鼠標事件、鍵盤事件和焦點事件)實現(xiàn)按鈕的移動。 2、編寫一個按鈕的子類,使用該子類創(chuàng)建的對象代表華容道中的人物。通過焦點事件控制人物顏色,當人物獲得焦點時顏色為紅色,當失去焦點時顏色為黃色。 3、通過鍵盤事件和鼠標事件來實現(xiàn)曹操、關羽等人物的移動。當人
8、物上發(fā)生鼠標事件或鍵盤事件時,如果鼠標指針的位置是在人物的下方(也就是組件的下半部分)或按下鍵盤的“↓“鍵,該人物向下移動。向左、向右和向上的移動原理類似。 4、點擊“重新開始”可以使各個按鈕復位,重新開始游戲。 二、需求分析 要滿足的容道游戲的基本操作: 1. 各人物按鈕按相應的順序和大小排列,按鈕上標注人物名字,界面美觀。 2. 通過焦點事件控制人物按鈕的顏色,得到焦點呈紅色,失去焦點為淡黃色。 3. 可以通過鍵盤控制各個按鈕的移動:按“↓”鍵,人物按鈕向下移動其它方向類似。 4. 可以通過鼠標點擊來控制各個人物按鈕的移動:如果點擊的位置在按鈕的上半部分則向上
9、移動,如果點擊按鈕的下半部分則向下,左右原理類似。 5. 有“重新開始按鈕” 點擊重新開始按鈕各個人物按鈕復位,能重新開始游戲。 6. 小程序能夠自由的縮小,放大,關閉。 三、設計思路 1.首先是界面設計,該界面主要包括十個人物按鈕(馬、曹操、關羽等)以及旁邊的四個邊框按鈕和重新開始按鈕。對于人物按鈕,創(chuàng)建Button按鈕的子類,在該類中定義按鈕的一些新的屬性和焦點事件監(jiān)聽器,如:按鈕的標簽名、按鈕的顏色、按鈕的排號(如這里有十個人物按鈕,從1排到十,在程序中可以依靠這個屬性區(qū)分人物按鈕)、按鈕顏色、按鈕獲得或失去焦點事件。同時在設計該界面時要考慮到各個按鈕的位置、大小
10、等情況。 2.對界面上的各人物按鈕添加相應的相應事件 焦點事件:通過焦點事件各個按鈕的是焦點。 鼠標事件、鍵盤事件:通過這兩種事件去完成界面上各人物按鈕的移動。 對重新開始按鈕定義動作事件(ActionEvent)完成界面初始化功能也 就是各人物按鈕重新歸位。 四、詳細設計 1.類的設計 本程序總共有3個類 (1)MoveExample 類 public class MoveExample { public static void main(String args[])//定義主方法 { new Hua_Rong_Road();//創(chuàng)建
11、一個Hua_Rong_Road對象 } } (2)Person 類 增加焦點事件監(jiān)視器:addFocusListener(事件監(jiān)聽器) 當組件具有焦點監(jiān)視器后,如果組件從無輸入焦點變成有輸入焦點或從有輸入焦點到無輸入焦點都會觸發(fā)FocusEvent事件。創(chuàng)建監(jiān)視器的類必須要實現(xiàn)FocusListener接口,該接口有兩個方法: public void focusGained(final FocusEvent e) //獲得焦點觸發(fā) public void focusLost(final FocusEvent e) //失去焦點觸發(fā) 當組件從無輸入焦點變成有輸
12、入焦點并觸發(fā)FocusEvent事件時,監(jiān)視器調用類實現(xiàn)的接口方法focusGained(FocusEvent e);當組件從有輸入焦點變成無輸入焦點并觸發(fā)FocusEvent事件時,監(jiān)視器調用類實現(xiàn)方法focusLost(FocusEvent e)。 class Person extends Button implements FocusListener { int number; Color c=new Color(255,245,170);//設置顏色 //preson 方法 public Person(final int number,final Stri
13、ng s) { super(s); setBackground(c);//背景色 this.number=number; c=getBackground(); addFocusListener(this);//事件焦點監(jiān)聽 } public void focusGained(final FocusEvent e) //獲得焦點觸發(fā) { setBackground(Color.red);//獲得焦點的顏色 } public void focusLost(final FocusEvent e) //失去焦點觸發(fā) { setBa
14、ckground(c); } } (3)Hua_Rong_Road 類 游戲界面主要包括十個人物按鈕馬、曹操、關羽等。對于人物按鈕,在該類中定義按鈕的一些新的屬性和焦點事件監(jiān)聽器,如:按鈕的標簽名、按鈕的顏色、按鈕的排號(如這里有十個人物按鈕,從1排到十,在程序中可以依靠這個屬性區(qū)分人物按鈕)、按鈕顏色、按鈕獲得或失去焦點事件。同時在設計該界面時要考慮到各個按鈕的位置、大小等情況。 class Hua_Rong_Road extends Frame implements MouseListener,KeyListener,ActionListener {
15、 Person person[]=new Person[10]; Button left,right,above,below; Button restart=new Button("重新開始");//添加重新開始按鈕 Hua_Rong_Road()方法設置容器 public Hua_Rong_Road() { init();//設置按鈕 setBounds(100,100,320,360);//組件在容器上的起點和長寬 setVisible(true);// 像控件中添加元素 validate();//刷新
16、 addWindowListener(new WindowAdapter()//注冊窗口事件監(jiān)聽 {public void windowClosing(WindowEvent e)//關閉 { System.exit(0); }}); } init()方法 設置10個按鈕 public void init() { setLayout(null);//設置布局默認 add(restart);//添加重新開始 restart.setBounds(100,320,120,25);//按鈕大小 res
17、tart.addActionListener(this);//注冊監(jiān)聽
String name[]={"曹操","關羽","張飛","劉備","趙云","黃忠","兵 ","兵","兵","兵"};
for(int k=0;k 18、nt類自動創(chuàng)建一個事件對象。Java分別使用MouseListener接口來處理鼠標事件。MouseListener接口可以處理5種鼠標事件:單擊、按下、釋放、進入和退出。
*/
person[k].addKeyListener(this);//注冊鍵盤事件監(jiān)聽
/*當按下、釋放或敲擊鍵盤上一個鍵時就發(fā)生了鍵盤事件,如:當一個組件處于激活狀態(tài)時(獲得焦點),敲擊鍵盤上一個鍵就導致了這個組件發(fā)生了鍵盤事件。事件源使用addKeyListener方法獲得監(jiān)視器。*/
/*KeyEvent類的public int getKeycode()方法和public char getKeychar() 19、判斷哪個鍵被按下、敲擊或釋放。*/
add(person[k]);//加上人物按鈕
}
//為每一個人物按鈕設置位置和大小
person[0].setBounds(104,54,100,100);
person[1].setBounds(104,154,100,50);
person[2].setBounds(54,154,50,100);
person[3].setBounds(204,154,50,100);
person[4].setBounds(54,54,50,100);
person[5].setBounds( 20、204,54,50,100);
person[6].setBounds(54,254,50,50);
person[7].setBounds(204,254,50,50);
person[8].setBounds(104,204,50,50);
person[9].setBounds(154,204,50,50);
person[9].requestFocus();//把焦點先設置在這個按鈕上
/*
其次來畫出游戲界面的邊框,用定義的left,right,above,below,來控制大小*/
left=new Button();
21、 right=new Button();
above=new Button();
below=new Button();
add(left);
add(right);
add(above);
add(below);
left.setBounds(49,49,5,260);
right.setBounds(254,49,5,260);
above.setBounds(49,49,210,5);
below.setBounds(49,304,210,5);
validate();//刷新
}
經(jīng)過以上 22、操作就完成了界面的布局得到的界面如圖一所示:
圖一:界面布局
接下來就要為各個按鈕注冊事件監(jiān)聽 :鼠標事件和鍵盤事件
鍵盤事件:
KeyEvent為鍵盤事件的類型,KeyListener是事件監(jiān)視器實現(xiàn)的接口,其中有三種相應事件:按鍵、釋放鍵、按下和釋放的組合事件。
Public void KeyPressed(KeyEvent e)
Public void KeyTyped(KeyEvent e)
Public void KeyReleased(KeyEvent e)
如下:
public void keyTyped(K 23、eyEvent e){}
public void KeyReleased(KeyEvent e){}
因為要實現(xiàn)人機交互的效果,所以要響應鍵盤事件,這一操作是在函數(shù)public void keyPressed(KeyEvent e)中完成的:首先通過語句Person man=(Person)e.getSource()獲取事件源,然后通過語句if(e.getKeyCode()==KeyEvent.VK_DOWN)響應用戶按向下光標的操作,通過語句if(e.getKeyCode()==KeyEvent.VK_LEFT)響應用戶按向左光標的操作,通過語句if(e.getKey 24、Code()==KeyEvent. VK_RIGHT)響應用戶按向右光標的操作,通過語句if(e.getKeyCode()==KeyEvent. VK_UP)響應用戶按向上光標的操作。*/
public void KeyPressed(KeyEvent e)
{
Person man=(Person)e.getSource();//返回事件源
/*用KeyEvent類的getKeycode()方法和getKeychar()判斷哪個鍵被按下、敲擊或釋放。*/
if(e.getKeyCode()==KeyEvent.VK_DOWN)
{
25、go(man,below);
}
if(e.getKeyCode()==KeyEvent.VK_UP)
{
go(man,above);
}
if(e.getKeyCode()==KeyEvent.VK_LEFT)
{
go(man,left);
}
if(e.getKeyCode()==KeyEvent.VK_RIGHT)
{
go(man,right);
}
}
鼠標事件:
public void mouseReleased(MouseEvent e) 26、{}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
//響應鼠標事件, 通過鼠標點擊的位置判斷是像那個方向移動
public void mousePressed(MouseEvent e)
{
Person man=(Person)e.getSource();
int x=-1,y=-1;
x=e.getX();
y=e.g 27、etY();
int w=man.getBounds().width;
int h=man.getBounds().height;
if(y>h/2)
{
go(man,below);
}
if(y 28、o方法控制人物按鈕上下左右移動:鼠標點擊想要移動的人物,使用鍵盤上,下,左,右來控制人物的移動。(需要鼠標以及鍵盤的響應)。
通過向上的響應來使得人物向上走,并判斷是否與其他人物重疊,若重疊則返回上單元,若不重疊的繼續(xù)。
通過向上的響應來使得人物向下走,并判斷是否與其他人物重疊,若重疊則返回上單元,若不重疊的繼續(xù)。
通過向上的響應來使得人物向左走,并判斷是否與其他人物重疊,若重疊則返回上單元,若不重疊的繼續(xù)。
當前人物向上與其他人物不重疊,則向上前進五十單元。
當前人物向下與其他人物不重疊,則向下前進五十單元。
當前人物向左與其他人物不重疊,則向左前進五十單元。
29、通過向上的響應來使得人物向右走,并判斷是否與其他人物重疊,若重疊則返回上單元,若不重疊的繼續(xù)。
當前人物向右與其他人物不重疊,則向右前進五十單元。
public void go(Person man,Button direction)
{
boolean move=true;
Rectangle manRect=man.getBounds();
int x=man.getBounds().x;
int y=man.getBounds().y;
if(direction==below)//向各個方向上的移動
y=y+50 30、;
else if(direction==above)
y=y-50;
else if(direction==left)
x=x-50;
else if(direction==right)
x=x+50;
manRect.setLocation(x,y);
Rectangle directionRect=direction.getBounds();
for(int k=0;k<10;k++)
{
Rectangle personRect=person[k].getBounds();
if((man 31、Rect.intersects(personRect))&&(man.number!=k))
//如果覆蓋就不移動
{
move=false;
}
}
if(manRect.intersects(directionRect))
{
move=false;
}
if(move==true)
//移動到新的位置
{
man.setLocation(x,y);
}
}
發(fā)生操作時調用:
public void actionPerformed(Ac 32、tionEvent e) {
dispose();
new Hua_Rong_Road();
}
2. 流程圖如圖二:
圖二:流程圖
五、運行調試與分析討論
運行結果
1. 運行小程序如圖3所示:
圖三
2. 點擊按鈕使按鈕獲得焦點如圖四所示:
圖四
3.用鼠標或者鍵盤移動人物按鈕如圖五:
圖五
33、
4. 點擊重新開始按鈕后如圖六所示:
圖六
第 16 頁
6、 設計體會與小結
通過本程序,我練習使用布局管理器設計了一個華容道游戲界面,并且練習使用事件監(jiān)聽器監(jiān)聽焦點的得失,首先增加焦點事件監(jiān)視器:addFocusListener(事件監(jiān)聽器),當組件具有焦點監(jiān)視器后,如果組件從無輸入焦點變成有輸入焦點或從有輸入焦點到無輸入焦點都會觸發(fā)FocusEvent事件。創(chuàng)建監(jiān)視器的類必須要實現(xiàn)FocusListener接口,該接口 34、有兩個方法:public void focusGained(FocusEvent e) //獲得焦點觸發(fā)
public void focusLost(FocusEvent e) //失去焦點觸發(fā)
練習了通過鼠標事件實現(xiàn)按鈕的移動,鼠標事件的類型是MouseEvent,即組件觸發(fā)鼠標時,MouseEvent類自動創(chuàng)建一個事件對象。Java分別使用MouseListener接口與MouseMotionListener接口來處理鼠標事件。MouseListener接口可以處理5種鼠標事件:單擊、按下、釋放、進入和退出。MouseMotionListener接口可以處理2種鼠標 35、事件:拖動、移動。
練習了通過鍵盤事件實現(xiàn)按鈕的移動,當按下、釋放或敲擊鍵盤上一個鍵時就發(fā)生了鍵盤事件,當一個組件處于激活狀態(tài)時(獲得焦點),敲擊鍵盤上一個鍵就導致了這個組件發(fā)生了鍵盤事件。事件源使用addKeyListener方法獲得監(jiān)視器。KeyEvent為鍵盤事件的類型,KeyListener是事件監(jiān)視器實現(xiàn)的接口,其中有三種相應事件:按鍵、釋放鍵、按下和釋放的組合事件。
Public void KeyPressed(KeyEvent e)
Public void KeyTyped(KeyEvent e)
Public void KeyReleased(KeyEvent 36、e)
用KeyEvent類的public int getKeycode()方法和public char getKeychar()判斷哪個鍵被按下、敲擊或釋放。
七、參考文獻
[1] 作者:丁振凡 . 參考書籍名稱[M]:《java語言實用教程》. 出版地: 北京郵電大學出版社.出版年限:2007.
[2] 作者:耿祥義 . 參考書籍名稱[M]:《 Java基礎教程》 . 出版地: 清華大學出版社.出版年限:2009.
附錄(源碼清單)
im 37、port java.awt.*;
import java.awt.event.*;
public class MoveExample
{
public static void main(String args[])
{
new Hua_Rong_Road();
}
}
class Person extends Button implements FocusListener
{
int number;
Color c = new Color(255,245,170);
Person(int number,String s)
{
super(s) 38、;
setBackground(c);
this.number = number;
c = getBackground();
addFocusListener(this);
}
public void focusGained(FocusEvent e)
{
setBackground(Color.red);
}
public void focusLost(FocusEvent e)
{
setBackground(c);
}
}
class Hua_Rong_Road ext 39、ends Frame implements MouseListener,KeyListener,ActionListener
{
Person person[] = new Person[10];
Button left,right,above,below;
Button restart = new Button("重新開始");
public Hua_Rong_Road()
{
init();
setBounds(100,100, 40、320,360);
setVisible(true);
validate();
addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
} 41、
}
);
}
public void init()
{
setLayout(null);
add(restart);
restart.setBounds(100,320,120,25);
restart.addActionListener(this);
String name[] = {"曹操","關羽","張飛","劉備","趙云","黃忠","兵","兵","兵","兵"};
for(int k = 0;k 42、
person[k] = new Person(k,name[k]);
person[k].addMouseListener(this);
person[k].addKeyListener(this);
add(person[k]);
}
person[0].setBounds(104,54,100,100);
person[1].setBounds(104,154,100,50);
person[2].setBounds(54,154,50,100);
person[3].setBounds(204,154,50,100);
43、 person[4].setBounds(54,54,50,100);
person[5].setBounds(204,54,50,100);
person[6].setBounds(54,254,50,50);
person[7].setBounds(204,254,50,50);
person[8].setBounds(104,204,50,50);
person[9].setBounds(154,204,50,50);
person[9].requestFocus();
left = new Button();
right = new Bu 44、tton();
above = new Button();
below = new Button();
add(left);
add(right);
add(above);
add(below);
left.setBounds(49,49,5,260);
right.setBounds(254,49,5,260);
above.setBounds(49,49,210,5);
below.setBounds(49,304,210,5);
validate();
}
public void keyTyped(KeyEvent 45、 e){}
public void keyReleased(KeyEvent e){}
public void keyPressed(KeyEvent e)
{
Person man = (Person)e.getSource();
if(e.getKeyCode()==KeyEvent.VK_DOWN)
{
go(man,below);
}
if(e.getKeyCode()==KeyEvent.VK_UP)
{
go(man,above);
}
if(e.getK 46、eyCode()==KeyEvent.VK_LEFT)
{
go(man,left);
}
if(e.getKeyCode()==KeyEvent.VK_RIGHT)
{
go(man,right);
}
}
public void mousePressed(MouseEvent e)
{
Person man = (Person)e.getSource();
int x = -1,y = -1;
x = e.getX();
y = e.getY();
int w = man.getBounds().wid 47、th;
int h = man.getBounds().height;
if(y>h/2)
{
go(man,below);
}
if(y 48、ublic void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public void go(Person man,Button direction)
{
boolean move = true;
Rectangle manRect = man.getBounds();
int x = man.getBounds().x;
int y = man.getBounds().y;
i 49、f(direction==below)
{
y = y+50;
}
else if(direction==above)
{
y = y-50;
}
else if(direction==left)
{
x = x-50;
}
else if(direction==right)
{
x = x+50;
}
manRect.setLocation(x,y);
Rectangle directionRect = direction.getBounds();
for(int k = 0; 50、k<10;k++)
{
Rectangle personRect = person[k].getBounds();
if((manRect.intersects(personRect))&&(man.number!=k))
{
move = false;
}
}
if(manRect.intersects(directionRect))
{
move = false;
}
if(move==true)
{
man.setLocation(x,y);
}
}
public void 51、actionPerformed(ActionEvent e)
{
dispose();
new Hua_Rong_Road();
}
}
ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdL 52、SZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fw 53、hZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0ven 54、qGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2 55、tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW 56、2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ
第 24 頁
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。