【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)_第1頁(yè)
【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)_第2頁(yè)
【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)_第3頁(yè)
【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)_第4頁(yè)
【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、java語(yǔ)言實(shí)現(xiàn)連連看游戲1.課程設(shè)計(jì)目的java語(yǔ)言是當(dāng)今流行的網(wǎng)絡(luò)編程語(yǔ)言,它具有面向?qū)ο?、跨平臺(tái)、分布應(yīng)用等特點(diǎn)。面向?qū)ο蟮拈_(kāi)發(fā)方法是當(dāng)今世界最流行的開(kāi)發(fā)方法,它不僅具有更貼近自然的語(yǔ)義,而且有利于軟件的維護(hù)和繼承。 學(xué)會(huì)java程序開(kāi)發(fā)的環(huán)境搭建與配置,并在實(shí)際運(yùn)用中學(xué)習(xí)和掌握java程序開(kāi)發(fā)的全過(guò)程。進(jìn)一步熟悉掌握java程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)內(nèi)容,如用戶(hù)圖形界面設(shè)計(jì)、java多線(xiàn)程編程、applet程序的設(shè)計(jì)、文件和網(wǎng)絡(luò)輸入輸出流編程、java數(shù)據(jù)庫(kù)編程等。通過(guò)親自動(dòng)手寫(xiě)程序,一方面拓展知識(shí)面,一方面鍛煉調(diào)試能力2.設(shè)計(jì)方案論證2.1設(shè)計(jì)思路2.1.1用戶(hù)可以通過(guò)點(diǎn)擊菜單中的“開(kāi)始游戲

2、”選項(xiàng),開(kāi)始新游戲程序。程序會(huì)載入圖片,并通過(guò)特定的算法排列圖片,并標(biāo)記圖片,以便判斷圖片是否相同。記錄圖片坐標(biāo),以方便計(jì)算圖片是否可以相連。確定圖片大小,以確定用戶(hù)點(diǎn)擊的是那張圖片。2.1.2用戶(hù)選擇兩張一樣的圖片,通過(guò)鼠標(biāo)進(jìn)行選取,如果用戶(hù)兩次點(diǎn)擊的圖片不相同,那么系統(tǒng)認(rèn)為用戶(hù)沒(méi)有點(diǎn)(鼠標(biāo)記數(shù)歸0),以完成用戶(hù)以后的選取工作。如果用戶(hù)選擇的是相同的圖片,那么系統(tǒng)會(huì)消除這兩張圖片,并使鼠標(biāo)記數(shù)為0,并消除這兩張圖片的標(biāo)記,使里面的圖片被標(biāo)記在外面。以便用戶(hù)可以進(jìn)行以后的選擇。2.1.3用戶(hù)也可使通過(guò)使用“炸彈”功能進(jìn)行消除圖片。方法是點(diǎn)擊菜單中的“炸彈”選項(xiàng)使用,點(diǎn)擊后如果界面上有兩張可以相

3、連的相同圖片就隨機(jī)消除兩張可以相連的相同的圖片。2.1.4 炸彈數(shù)目是有限的,默認(rèn)數(shù)目為三,每使用一次“炸彈”功能,炸彈數(shù)目就會(huì)自動(dòng)減一,當(dāng)炸彈數(shù)目為零時(shí)(使用三次“炸彈”功能)。并且用戶(hù)想再次使用炸彈時(shí),系統(tǒng)會(huì)彈出對(duì)話(huà)框提示用戶(hù),并把菜單中“炸彈”選項(xiàng)變?yōu)榛疑ㄓ脩?hù)不可使用)。2.1.5當(dāng)系統(tǒng)開(kāi)始游戲后,系統(tǒng)會(huì)在后臺(tái)記錄時(shí)間,如果在用戶(hù)還沒(méi)有消除所有圖片時(shí),系統(tǒng)時(shí)間到了,那么系統(tǒng)會(huì)彈出對(duì)話(huà)框,提示用戶(hù),時(shí)間到了,游戲失敗。2.1.6 當(dāng)用戶(hù)點(diǎn)擊確定后,系統(tǒng)還會(huì)彈出對(duì)話(huà)框詢(xún)問(wèn)用戶(hù)是否重新開(kāi)始,用戶(hù)選擇“是”時(shí),系統(tǒng)會(huì)開(kāi)始新游戲;當(dāng)用戶(hù)選擇“否”時(shí),系統(tǒng)會(huì)返回開(kāi)始界面;當(dāng)用戶(hù)選擇“取消”時(shí),系統(tǒng)

4、會(huì)返回提示時(shí)間到的界面。2.1.6 如果在時(shí)間未到時(shí),用戶(hù)使所有的圖片都消失(兩兩消除,直到最后一對(duì)),系統(tǒng)會(huì)提示用戶(hù)游戲以通過(guò),點(diǎn)“確定”后回到開(kāi)始界面。2.2設(shè)計(jì)方法在設(shè)計(jì)連連看小游戲是,需要編寫(xiě)6個(gè)java源文件:mainframe.java,chessbutton.java,mapui.java,settings.java,arraypoint.java,map.java。2.2.1 mainframe.java 主窗口部分定義了程序用函數(shù),實(shí)現(xiàn)了程序菜單(initmenubar)的使用。2.2.2 chessbutton.java 按鍵部分定義按鍵的位置,代表的值。2.2.3 map

5、ui.java 游戲部分判斷點(diǎn)擊的圖片,判斷兩圖片是否可連,是否相同。判斷是否勝利。實(shí)現(xiàn)炸彈功能。2.2.4 settings.java 數(shù)組確定了游戲各種參數(shù)屬性。2.2.5 arraypoint.java 取值部分定義圖片的值。2.2.6 map.java 算法部分通過(guò)算法確定兩張圖片是否連通。2.3功能模塊 此設(shè)計(jì)共有以下幾個(gè)功能模塊。2.3.1 開(kāi)始游戲程序會(huì)載入圖片,并通過(guò)特定的算法排列圖片,并標(biāo)記圖片,以便判斷圖片是否相同。記錄圖片坐標(biāo),以方便計(jì)算圖片是否可以相連。確定圖片大小,以確定用戶(hù)點(diǎn)擊的是那張圖片。2.3.2 使用“炸彈”用戶(hù)點(diǎn)擊菜單中的“炸彈”選項(xiàng)使用,點(diǎn)擊后如果界面上有

6、兩張可以相連的相同圖片就隨機(jī)消除兩張可以相連的相同的圖片。2.3.3 限制炸彈“數(shù)目”炸彈 默認(rèn)數(shù)目為三,每使用一次“炸彈”功能,炸彈數(shù)目就會(huì)自動(dòng)減一,當(dāng)炸彈數(shù)目為零時(shí)(使用三次“炸彈”功能)。并且用戶(hù)想再次使用炸彈時(shí),系統(tǒng)會(huì)彈出對(duì)話(huà)框提示用戶(hù),并把菜單中“炸彈”選項(xiàng)變?yōu)榛疑ㄓ脩?hù)不可使用)。2.3.4 對(duì)用戶(hù)游戲時(shí)的判斷用戶(hù)選擇兩張一樣的圖片,通過(guò)鼠標(biāo)進(jìn)行選取,如果用戶(hù)兩次點(diǎn)擊的圖片不相同,那么系統(tǒng)認(rèn)為用戶(hù)沒(méi)有點(diǎn)(鼠標(biāo)記數(shù)歸0),以完成用戶(hù)以后的選取工作。如果用戶(hù)選擇的是相同的圖片,那么系統(tǒng)會(huì)消除這兩張圖片,并使鼠標(biāo)記數(shù)為0,并消除這兩張圖片的標(biāo)記,使里面的圖片被標(biāo)記在外面。以便用戶(hù)可以進(jìn)行

7、以后的選擇。2.4流程圖如下圖2 主函數(shù)流程圖 開(kāi)始程序開(kāi)始游戲接收用戶(hù)點(diǎn)擊是否使用炸彈 y n是否二次點(diǎn)擊 n消除點(diǎn)擊計(jì)數(shù)兩張圖片是否相同 y n消除兩張一樣的可以相連的圖片 y兩張圖片是否可以相連 n消除用戶(hù)點(diǎn)擊 的兩張圖片 y消除點(diǎn)擊計(jì)數(shù)是否還有圖片未消除 y結(jié)束 n 圖3 游戲進(jìn)行流程圖圖4 使用炸彈流程圖圖5 計(jì)算時(shí)間流程圖 2.5類(lèi)、方法、屬性說(shuō)明成員變量成員變量描述變量類(lèi)型名稱(chēng)行數(shù)introws列數(shù)intcolumns圖片后綴名stringrelex每局所花時(shí)間(秒)intpertime判斷的時(shí)間間隔intper炸彈的使用次數(shù)intbombcount方法方法名功能備注menuba

8、r()實(shí)用程序菜單無(wú)備注bomb()設(shè)置炸彈無(wú)備注point()定義按鍵的位置無(wú)備注chesses()初步定義游戲界面,功能無(wú)備注timer()時(shí)間限制無(wú)備注3.設(shè)計(jì)結(jié)果與分析用戶(hù)可以通過(guò)點(diǎn)擊菜單中的“開(kāi)始游戲”選項(xiàng),開(kāi)始新游戲程序。程序會(huì)載入圖片,并通過(guò)特定的算法排列圖片,并標(biāo)記圖片,以便判斷圖片是否相同。記錄圖片坐標(biāo),以方便計(jì)算圖片是否可以相連。確定圖片大小,以確定用戶(hù)點(diǎn)擊的是那張圖片。圖6 開(kāi)始游戲后畫(huà)面用戶(hù)選擇兩張一樣的圖片,通過(guò)鼠標(biāo)進(jìn)行選取,如果用戶(hù)兩次點(diǎn)擊的圖片不相同,那么系統(tǒng)認(rèn)為用戶(hù)沒(méi)有點(diǎn)(鼠標(biāo)記數(shù)歸0),以完成用戶(hù)以后的選取工作。如果用戶(hù)選擇的是相同的圖片(如第八行第二列和第八

9、行第三列),那么系統(tǒng)會(huì)消除這兩張圖片,并使鼠標(biāo)記數(shù)為0,并消除這兩張圖片的標(biāo)記,使里面的圖片被標(biāo)記在外面。以便用戶(hù)可以進(jìn)行以后的選擇。圖7 消除三對(duì)后畫(huà)面用戶(hù)也可使通過(guò)使用“炸彈”功能進(jìn)行消除圖片。方法是點(diǎn)擊菜單中的“炸彈”選項(xiàng)使用,點(diǎn)擊后如果界面上有兩張可以相連的相同圖片就隨機(jī)消除兩張可以相連的相同的圖片(如第一行第一列河第一行第四列)。 圖8 使用炸彈后畫(huà)面炸彈數(shù)目是有限的,默認(rèn)數(shù)目為三,每使用一次“炸彈”功能,炸彈數(shù)目就會(huì)自動(dòng)減一,當(dāng)炸彈數(shù)目為零時(shí)(使用三次“炸彈”功能)。并且用戶(hù)想再次使用炸彈時(shí),系統(tǒng)會(huì)彈出對(duì)話(huà)框提示用戶(hù),并把菜單中“炸彈”選項(xiàng)變?yōu)榛疑ㄓ脩?hù)不可使用)。 圖9 炸彈使用

10、光后畫(huà)面當(dāng)系統(tǒng)開(kāi)始游戲后,系統(tǒng)會(huì)在后臺(tái)記錄時(shí)間,如果在用戶(hù)還沒(méi)有消除所有圖片時(shí),系統(tǒng)時(shí)間到了,那么系統(tǒng)會(huì)彈出對(duì)話(huà)框,提示用戶(hù),時(shí)間到了,游戲失敗。圖10 時(shí)間到時(shí)的畫(huà)面當(dāng)用戶(hù)點(diǎn)擊確定后,系統(tǒng)還會(huì)彈出對(duì)話(huà)框詢(xún)問(wèn)用戶(hù)是否重新開(kāi)始,用戶(hù)選擇“是”時(shí),系統(tǒng)會(huì)開(kāi)始新游戲;當(dāng)用戶(hù)選擇“否”時(shí),系統(tǒng)會(huì)返回開(kāi)始界面;當(dāng)用戶(hù)選擇“取消”時(shí),系統(tǒng)會(huì)返回提示時(shí)間到的界面。圖11 點(diǎn)擊確定時(shí)的畫(huà)面如果在時(shí)間未到時(shí),用戶(hù)使所有的圖片都消失(兩兩消除,直到最后一對(duì)),系統(tǒng)會(huì)提示用戶(hù)游戲以通過(guò),點(diǎn)“確定”后回到開(kāi)始界面。圖12 通關(guān)畫(huà)面4.設(shè)計(jì)體會(huì)通過(guò)這次課程設(shè)計(jì)我學(xué)到了不少東西,也發(fā)現(xiàn)了大量的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)

11、了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。因而,通過(guò)課程設(shè)計(jì)之后,把以前所學(xué)過(guò)的知識(shí)重新溫故。有些在設(shè)計(jì)過(guò)程中已解決,有些還有待今后慢慢學(xué)習(xí),只要認(rèn)真學(xué)就會(huì)有更多的收獲??傊@次課程設(shè)計(jì)使我更多的掌握了所學(xué)的知識(shí),并運(yùn)用到實(shí)踐上,了解了java的重要性,對(duì)以后的學(xué)習(xí)起了重要作用。在設(shè)計(jì)的過(guò)程中我遇到了很到問(wèn)題,不過(guò)在老師和同學(xué)們的幫助和自己的思考下還是很好的完成了。這此課程設(shè)計(jì)還讓我懂得了寫(xiě)程序不能閉門(mén)造車(chē),要努力拓寬知識(shí)面,開(kāi)闊視野,拓展思維。5.參考文獻(xiàn)1 印旻. java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)m,北京: 清華大學(xué)出版社,2005.4: 58-722 朱站立、沈偉

12、. java程序設(shè)計(jì)實(shí)用教程m, 北京: 電子工業(yè)出版社, 2007.5: 82-953 朱福喜、尹為民、余振坤等. java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)m, 第2版. 武漢: 武漢大學(xué)出版社,2006.1:123-1304 艾力江. java 2 范例入門(mén)與提高m,北京:清華大學(xué)出版社 6. 附錄mainframe.java:import java.awt.borderlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.jframe;import javax

13、.swing.jmenu;import javax.swing.jmenubar;import javax.swing.jmenuitem;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.swingutilities;import javax.swing.timer;import cn.elva.settings;import cn.elva.model.map;public class mainframe extends jframeprivate static final long se

14、rialversionuid = 1l;private int bombcount = settings.bombcount;private jpanel jcontentpane = null;private jmenubar menubar = null;private jmenu filemenu = null;private jmenuitem reloaditem = null;private jmenuitem startitem = null;private jmenuitem bombitem = null;private jmenuitem exititem = null;p

15、rivate mapui mapui = null;private long starttime;private long endtime;private timer timer = null;private jmenubar initmenubar()if (menubar = null)menubar = new jmenubar();filemenu = new jmenu(文件);startitem = new jmenuitem(開(kāi)始游戲);startitem.addactionlistener(new actionlistener()public void actionperfor

16、med(actionevent e)reload(););reloaditem = new jmenuitem(重來(lái)一次);reloaditem.addactionlistener(new actionlistener()public void actionperformed(actionevent e)reload(););exititem = new jmenuitem(退出);exititem.addactionlistener(new actionlistener()public void actionperformed(actionevent e)system.exit(0););f

17、ilemenu.add(startitem);filemenu.add(reloaditem);filemenu.add( bombitem ); filemenu.add(exititem);menubar.add(filemenu);return menubar;public static void main(string args)swingutilities.invokelater(new runnable()public void run()mainframe thisclass = new mainframe();thisclass.setdefaultcloseoperation

18、(jframe.exit_on_close);thisclass.setvisible(true););public mainframe()super();initialize();private void initialize()this.setsize(900, 900);this.settitle(llk);this.setjmenubar(initmenubar();/ this.setcontentpane(getjcontentpane();this.settitle(連連看);private void reload()mapui = new mapui();starttime =

19、 system.currenttimemillis() / 1000;endtime = starttime + settings.pertime;jcontentpane = new jpanel();jcontentpane.setlayout(new borderlayout();jcontentpane.add(mapui);this.setcontentpane(jcontentpane);this.validate();map.leftcount = settings.rows * settings.columns; inittimer();bombitem.setenabled(

20、true);bombcount=settings.bombcount;private void inittimer()actionlistener actionlistener = new actionlistener()public void actionperformed(actionevent e)starttime = system.currenttimemillis() / 1000;if (starttime = endtime)joptionpane.showmessagedialog(mainframe.this, 時(shí)間到了!);int result = joptionpane

21、.showconfirmdialog(mainframe.this,重玩一次?, again, joptionpane.yes_no_cancel_option);if (result = joptionpane.yes_option)reload();elsejcontentpane.setvisible(false);validate();timer = new javax.swing.timer(1000, actionlistener);timer.start();chessbutton.javapublic class chessbutton extends jbuttonprote

22、cted arraypoint point = null;public chessbutton(int row, int col, int value)this(new arraypoint(row, col, value);public chessbutton(arraypoint point) this.point = point;string name =resource/+point.getvalue() + settings.relex;url url = chessbutton.class.getresource(name);imageicon icon = new imageic

23、on( url );this.seticon(icon);public chessbutton()this(new arraypoint(0, 0, 0);public arraypoint getpoint()return point;public void setpoint(arraypoint point)this.point = point; mapui.javaimport java.awt.gridlayout;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.sw

24、ing.joptionpane;import javax.swing.jpanel;import cn.elva.settings;import cn.elva.model.arraypoint;import cn.elva.model.map;public class mapui extends jpanel implements actionlistenerprivate static final long serialversionuid = 1l;private chessbutton chesses = null;private map map = new map();private

25、 boolean two = false;private arraypoint priviouspoint;private arraypoint currpoint;public mapui()super();initialize();private void initialize() initchesses();gridlayout gridlayout = new gridlayout(settings.rows + 2,settings.columns + 2);gridlayout.sethgap(2);gridlayout.setvgap(2);this.setlayout(grid

26、layout);this.setsize(300, 200);for (int row = 0; row settings.rows + 2; row+)for (int col = 0; col settings.columns + 2; col+)add(chessesrow * (settings.columns + 2) + col);private void initchesses()int values = map.getmap(); this.chesses = new chessbutton(settings.rows + 2)* (settings.columns + 2);

27、for (int row = 0; row 10; row+)for (int col = 0; col 10; col+)int index = row * (settings.columns + 2) + col;chessesindex = new chessbutton(row, col, valuesrowcol);chessesindex.addactionlistener(this);if (row = 0 | row = (settings.rows + 2 - 1) | col = 0| col = (settings.columns + 2 - 1)chessesindex

28、.setvisible(false);public void clearcheese(arraypoint priviouspoint, arraypoint currpoint)int values = map.getmap();valuespriviouspoint.geti()priviouspoint.getj() = 0;valuescurrpoint.geti()currpoint.getj() = 0;int index1 = priviouspoint.geti() * (settings.columns + 2)+ priviouspoint.getj();int index

29、2 = currpoint.geti() * (settings.columns + 2)+ currpoint.getj();chessesindex1.setvisible(false);chessesindex2.setvisible(false);if (map.leftcount = 0)joptionpane.showmessagedialog(this, 恭喜您通過(guò)!);public void actionperformed(actionevent e)chessbutton button = (chessbutton) e.getsource();arraypoint p =

30、button.getpoint();if (two)currpoint = p;if( map.match(this.priviouspoint, this.currpoint)clearcheese(this.priviouspoint, this.currpoint);two = false;elsethis.priviouspoint = p;two = true;public void bomb()int values = map.getmap();arraypoint p1 = null;arraypoint p2 = null;for (int row = 1; row setti

31、ngs.rows + 1; row+)for (int col = 1; col settings.columns + 1; col+)if (valuesrowcol != 0) p1 = new arraypoint(row, col, valuesrowcol);for (int i = 1; i settings.rows + 1; i+)for (int j = 1; j settings.columns + 1; j+)if (valuesij != 0)p2 = new arraypoint(i, j, valuesij);elsecontinue;/system.out.pri

32、ntln(p1 + | + p2);if (map.match(p1, p2)clearcheese(p1, p2);return; settings.javapackage cn.elva;public interface settingspublic static final int rows = 8;public static final int columns=8;public static final string relex=.gif;public static final int pertime = 600;public static final int per = 1;publ

33、ic static final int bombcount = 3;arraypoint.javapackage cn.elva.model;public class arraypoint protected int i;protected int j;protected int value;public arraypoint( int i,int j,int value )this.i =i;this.j =j;this.value = value;public string tostring( )return i+,+j+,+value;public int geti()return i;

34、public void seti(int i)this.i = i;public int getj()return j;public void setj(int j)this.j = j;public int getvalue()return value;public void setvalue(int value)this.value = value;map.javapackage cn.elva.model; import java.util.random;import cn.elva.settings;public class mappublic static int leftcount

35、 = settings.rows * settings.columns;private int map = new intsettings.rows + 2settings.columns + 2;private int maxkinds = 4;public map()init();public int getmap()return map;private void init()int temparr = new intsettings.rows * settings.columns;int len = temparr.length;for (int i = 0; i len / maxki

36、nds; i+)temparri * 4 = i + 1;temparri * 4 + 1 = i + 1;temparri * 4 + 2 = i + 1;temparri * 4 + 3 = i + 1;random(temparr);for (int i = 1; i settings.rows + 1; i+)for (int j = 1; j 0; i-) int j = random.nextint(i);int temp = arrayi - 1;arrayi - 1 = arrayj;arrayj = temp;public boolean onelinewithoutvalu

37、e(arraypoint p1, arraypoint p2)if (horizonmatch(p1, p2)return true;else if (verticalmatch(p1, p2)return true;return false;public boolean oneline(arraypoint p1, arraypoint p2)if (p1.value != p2.value)return false;if (onelinewithoutvalue(p1, p2)return true;return false;public boolean verticalmatch(arraypoint p1, arraypoint p2)if (p1.j != p2.j)return false;if (p1.i p2.i)arraypoin

溫馨提示

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

評(píng)論

0/150

提交評(píng)論