基于Java的拼圖游戲設計_第1頁
基于Java的拼圖游戲設計_第2頁
基于Java的拼圖游戲設計_第3頁
基于Java的拼圖游戲設計_第4頁
基于Java的拼圖游戲設計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. z. . . . . 資料. . .目錄TOC o 1-3 h z uHYPERLINK l _Toc2188498511 開發(fā)環(huán)境及相關技術的介紹 PAGEREF _Toc218849851 h 1HYPERLINK l _Toc2188498521.1 開發(fā)環(huán)境 PAGEREF _Toc218849852 h 1HYPERLINK l _Toc2188498531.2 Java語言特點 PAGEREF _Toc218849853 h 1HYPERLINK l _Toc2188498542 游戲?qū)崿F(xiàn)功能解析及界面 PAGEREF _Toc218849854 h 1HYPERLINK l

2、_Toc2188498552.1游戲規(guī)則介紹 PAGEREF _Toc218849855 h 1HYPERLINK l _Toc2188498562.2游戲?qū)崿F(xiàn)功能 PAGEREF _Toc218849856 h 2HYPERLINK l _Toc218849857主窗口界面 PAGEREF _Toc218849857 h 2HYPERLINK l _Toc218849858主窗口菜單 PAGEREF _Toc218849858 h 3HYPERLINK l _Toc2188498592.2.3 游戲過程中的出現(xiàn)的相關窗體 PAGEREF _Toc218849859 h 6HYPERLINK

3、l _Toc2188498603 游戲程序?qū)崿F(xiàn) PAGEREF _Toc218849860 h 8HYPERLINK l _Toc2188498613.1 程序類主要功能介紹 PAGEREF _Toc218849861 h 8HYPERLINK l _Toc2188498623.2 程序源代碼 PAGEREF _Toc218849862 h 9HYPERLINK l _Toc2188498634 小結 PAGEREF _Toc218849863 h 27基于Java的拼圖游戲設計1 開發(fā)環(huán)境及相關技術的介紹1.1 開發(fā)環(huán)境操作系統(tǒng):Microsoft Windows *P程序語言:Java 開

4、發(fā)環(huán)境:JDK-6u6-windows-i586-P1.2 Java語言特點1. 平臺無關性Java引進虛擬機原理,并運行于虛擬機,實現(xiàn)不同平臺之間的Java接口。Java的數(shù)據(jù)類型與機器無關。2. 平安性Java的編程類似C+,但舍棄了C+的指針對存儲器地址的直接操作,程序運行時,內(nèi)存由操作系統(tǒng)分配,這樣可以防止病毒通過指針入侵系統(tǒng)。它提供了平安管理器,防止程序的非法訪問。3. 面向?qū)ο?Java吸收了C+面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,實現(xiàn)了程序的簡潔性和便于維護性,使程序代碼可以只需一次編譯就可反復利用。4. 分布式Java建立在TCP/IP網(wǎng)絡平臺上,提供了用HTTP和FTP協(xié)議傳送

5、和接收信息的庫函數(shù),使用其相關技術可以十分方便的構建分布式應用系統(tǒng)。5. 強健性Java致力與檢查程序在編譯和運行時的錯誤,并自動回收內(nèi)存,減少了內(nèi)存出錯的可能性。Java取消了C語言的構造、指針、#define語句、多重繼承、goto語句、操作符、重載等不易被掌握的特性,提供垃圾收集器自動回收不用的內(nèi)存空間。2 游戲?qū)崿F(xiàn)功能解析及界面2.1游戲規(guī)則介紹1本游戲是一個Java語言的拼圖游戲,有一個格子是空的,其他格子內(nèi)隨機放置由要拿來拼圖的圖片切割成的假設干個小圖片,圖片的切割按照一定的公式計算,因為,該通過單擊任意一個與空格子相鄰的方塊可以把該方游戲中設有拼圖游戲的等級,根據(jù)不同的等級,按照

6、公式會切割成不同的小圖片塊數(shù)。2在開場游戲之前,可以選擇游戲等級后再點擊開場菜單里的新游戲,進展拼圖游戲,通過將空格旁邊的小圖片移入空格子內(nèi)不斷的移動方塊,來實現(xiàn)拼圖,直到方塊一行一行的按圖片的原始樣子拼好即可完成該游戲。3游戲拼完后,會彈出一個信息框,顯示你玩游戲所用的步數(shù)與時間,點擊確定后,會彈出一個輸入框,可以在里面輸入游戲者的*,單擊確定后會彈出游戲的記錄框。4游戲的簡單規(guī)則在游戲界面的關于菜單內(nèi)的幫助信息框內(nèi)已經(jīng)簡單介紹了。游戲前可以先預覽看看。2.2游戲?qū)崿F(xiàn)功能2.2.1主窗口界面1游戲初始狀態(tài) 當游戲剛運行時,會出現(xiàn)如下界面,本游戲中已經(jīng)存在了三*圖片,如過游戲者想拼自己感興趣的

7、圖片的話,可以將自己的圖片放入到background背景圖片文件夾中,再進展選擇-背景圖片中選擇你自己的圖片,然后選擇等級-困難或普通或簡單,進展等級選擇,最后選擇開場-新游戲就可以拼自己想拼的圖了。初始窗口如圖1所示:圖1 游戲初始窗口2游戲進展狀態(tài)當游戲者選擇好圖片與等級后,就可以進展拼圖游戲了及進入游戲的進展狀態(tài)。其游戲進展狀態(tài)如圖2所示:圖2 游戲進展狀態(tài)3游戲暫停狀態(tài) 當游戲者,在游戲過程中半途暫停游戲的話,將出現(xiàn)如圖3所示的游戲暫停狀態(tài)的界面。當游戲者又想繼續(xù)游戲時,直接單擊界面上的繼續(xù)字樣,就可以繼續(xù)游戲了。圖3 游戲暫停狀態(tài)2.2.2主窗口菜單在游戲的主窗口菜單中包括如下幾個菜

8、單:1開場菜單。包括了,新游戲 、成績記錄 、圖片預覽 、退出游戲 。如圖4所示。新游戲:單擊可以開場游戲,如圖2所示游戲進展狀態(tài)。成績記錄:單擊可以查看游戲者的游戲成績記錄。如圖5所示。初始的成績記錄。圖片預覽:在游戲過程中可以單擊預覽圖片,對照著拼,如圖6所示。退出游戲:游戲者要完畢游戲可直接單擊退出游戲。圖4開場菜單圖5初始成績記錄圖6 圖片預覽 2選擇菜單。包括了,等級、背景圖片。如圖7所示。當運行游戲時,如果沒有把background這個文件夾放入主程序的目錄下,在運行游戲選擇背景圖片時,將沒有圖片可選,界面如圖8所示,這是可以按照初始狀態(tài)界面上的提示進展操作。假設正常的有backg

9、round在主程序路徑下的話,運行游戲選擇背景圖片的話,就可以選擇圖片了,界面如圖9所示。等級 :在游戲者開場游戲之前,要進展游戲等級選擇,共有困難、普通、簡單三種選擇。其圖片的切割塊數(shù),會根據(jù)選擇的等級不同,而有所不同。簡單的是一共8個小圖片。背景圖片 :這里保存了所要拼的所有圖片。在游戲前要進展選擇。圖7 圖8圖93關于菜單。包括了幫助、關于兩個下拉菜單。如圖10所示。圖10關于菜單幫助:在游戲時,可以單擊查看游戲的簡單規(guī)則,界面如圖11所示。關于:可查看該游戲的版本、作者、與作者的Email的相關信息,界面如圖12所示。圖11 幫助信息框圖12 下拉單關于的消息框 2.2.3 游戲過程中

10、的出現(xiàn)的相關窗體1提示信息窗口當游戲者運行游戲時,如果沒有把background這個文件夾放入主程序的目錄下,在運行游戲選擇背景圖片時,將沒有圖片可選,假設此時直接開場-新游戲,將會彈出如下提示信息框。如圖13所示。圖13 提示信息框2 拼圖成功界面 假設選擇abc.jpg圖片拼圖時,假設拼圖成功,界面如圖14所示。圖14 拼圖成功3成績記錄輸入框 當游戲者完成拼圖游戲后,將出現(xiàn)一個成績記錄框輸入框,輸入游戲者的*。如圖15所示。輸入后單擊確定按鈕,將彈出總的成績記錄框。如圖16所示。圖15(a) 輸入前 圖15(b) 輸入后圖16 成績記錄框3 游戲程序?qū)崿F(xiàn)3.1 程序類主要功能介紹該游戲程

11、序中包括11個類。包括:ButtonClick.class、CardFrame.class、GameOver.class、Data.class、Grades.class、Matri*.class、MenuFrame.class、point.class、Puzzle.class、ShowImage.class、Split.class。其中主要的類實現(xiàn)的功能如下:ButtonClick.class該類主要是實現(xiàn)鼠標事件,讓玩家在用鼠標點擊能夠移動拼圖的小圖片,移動到周圍空格的地方CardFrame.class該類主要實現(xiàn),初始界面的相關提示信息。3GameOver.class 該類主要實現(xiàn)游戲過程

12、中的計時、暫停、完畢等功能,游戲完畢時的信息。4) Data.class 該類主要實現(xiàn)保存游戲者的游戲成績記錄的相關數(shù)據(jù)。5Grades.class 該類主要實現(xiàn)成績記錄的初始化,在拼圖成功后可記錄游戲者*的功能,并直接提取等級、步數(shù)與時間等信息的功能。保存成績記錄信息,以便游戲者查看。6MenuFrame.class 該類主要實現(xiàn)有主菜單與子菜單的功能。并設置相關的快捷鍵功能。7Puzzle.class 該類是該游戲程序的主程序,從游戲界面大小到游戲過程中出現(xiàn)的所有信息框等相關功能都都到了實現(xiàn),調(diào)用相關類實現(xiàn)其功能。8ShowImage.class 該類主要實現(xiàn)圖片的提取與切割的功能。3.2

13、 程序源代碼1Arg.javapublic interface Argpublic static final String path = background;public static final String rc = Game.rc;2) ButtonClick.javaimport java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java*.swing.utton;import java*.swing.JOptionPane;public class ButtonClick implement

14、s ActionListenerprivate utton button;private point pint;private int row;private int cal;private int matri*;private GameOver gOver;private boolean end;public ButtonClick(utton b, point p, int m, int r, int c, GameOver g)button = b;pint = p;matri* = m;row = r;cal = c;gOver = g;end = false;public void

15、actionPerformed(ActionEvent e)if (end | !pint.neighbor(row, cal)return;int r = pint.getRow();int c = pint.getCal();buttonrc.setIcon(buttonrowcal.getIcon();buttonrowcal.setIcon(null);pint.set(row, cal);int t = matri*rc;matri*rc = matri*rowcal;matri*rowcal = t;end = gOver.judge();3) CardFrame.javaimpo

16、rt java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowAdapter;import java*.swing.utton;import java*.swing.JLabel;import java*.swing.JPanel;publ

17、ic abstract class CardFrame e*tends MenuFrameprivate CardLayout card;private Container con;protected JPanel panel = new JPanel(), new JPanel();public CardFrame()con = this.getContentPane();card = new CardLayout();con.setLayout(card);panel0.setLayout(null);JLabel label;label = new JLabel(請輸入你的圖片到);la

18、bel.setBounds(10, 15, 190, 30);panel0.add(label);label = new JLabel(背景圖片文件夾。n);label.setBounds(10, 30, 190, 45);panel0.add(label);label = new JLabel(單擊選擇-背景圖片);label.setBounds(10, 50, 190, 65);panel0.add(label);label = new JLabel(選擇圖片。n);label.setBounds(10, 65, 190, 80);panel0.add(label);label = new

19、 JLabel(接著, 單擊 開場-新游戲 可以);label.setBounds(10, 85, 190, 100);panel0.add(label);label = new JLabel(開場游戲。);label.setBounds(10, 100, 190, 115);panel0.add(label);panel1.setLayout(new BorderLayout();utton button = new utton(繼 續(xù));button.addActionListener(new ActionListener()public void actionPerformed(Acti

20、onEvent e)FrameGetFocus(););panel1.add(button, BorderLayout.CENTER);con.add(panel0, 游戲);con.add(panel1, 暫停);card.show(con, 游戲);this.addWindowListener(new WindowAdapter()public void windowDeactivated(WindowEvent e)FrameLostFocus(););protected void ne*tCard()card.ne*t(con);protected abstract void Fram

21、eLostFocus();protected abstract void FrameGetFocus();4) GameOver.javaimport java.util.Date;public class GameOverprivate boolean gameOver;private boolean stop;private int matri*;private Puzzle Main;private int step;private long now;private long countTime;public GameOver (Puzzle frm)Main = frm;public

22、void start(int m)gameOver = false;matri* = m;step = 0;Date d = new Date();now = d.getTime();stop = false;countTime = 0;public boolean judge()if (gameOver)return true;step+;int c = 1;for (int i = 0; i matri*.length; i+)for (int j = 0; j datatype.time | (t = datatype.time & s = datatype.step)return;da

23、 = JOptionPane.showInputDialog(null,你打破了記錄!n請輸入你的名字。);datatype.time = t;datatype.step = s;tryPrintStream f = new PrintStream(Arg.rc);f.printf(%s %d %dn, , data0.time, data0.step);f.printf(%s %d %dn, , data1.time, data1.step);f.printf(%s %d %dn, , data2.time,

24、data2.step);f.close();catch (E*ception e)JOptionPane.showMessageDialog(null, Arg.rc + has broken!);show();public void show()trycreatData();readData();String title = .format(%8s%15s%8s%8sn, 等級, *, 時間, 步數(shù));String h = .format(%8s%15s%8d%8dn, 困難, , data0.time, data0.step);String n = .format(%8

25、s%15s%8d%8dn, 普通, , data1.time, data1.step);String e = .format(%8s%15s%8d%8dn, 簡單, , data2.time, data2.step);JOptionPane.showMessageDialog(null, title+h+n+e);catch (E*ception e)JOptionPane.showMessageDialog(null, Arg.rc + has broken!);6) Matri*.javaimport java.awt.image.BufferedI

26、mage;import java*.swing.JPanel;import java*.swing.utton;import java*.swing.ImageIcon;public class Matri*private utton button;private JPanel panel;private int row;private int cal;private int matri*;private GameOver gOver;public Matri*(utton b, JPanel p, int len, GameOver g)this.button = b;this.panel

27、= p;this.gOver = g;row = b.length;cal = b0.length;matri* = new introwcal;matri*row-1cal-1 = row * cal;gOver.start(matri*);panel.removeAll();point pint = new point(row-1, cal-1);for (int i = 0; i row; i+)for (int j = 0; j cal; j+)buttonij = new utton();buttonij.setBounds(j*len, i*len, len, len);butto

28、nij.addActionListener(new ButtonClick(button, pint, matri*, i, j, gOver);panel.add(buttonij);public void init(BufferedImage image)if (button = null | image = null)return;ImageIcon icon;int r, c, rad, d, m;boolean visit = new booleanrow*cal-1;for (int i = 0; i row*cal - 1; i+)r = i / cal;c = i % cal;

29、rad = (int)(Math.random()*(row*cal-1-i);for (d = m = 0; d row*cal - 1 & m = rad; d+)if (!visitd)m+;matri*i/cali%cal = d;visit-d = true;icon = new ImageIcon(imaged/cald%cal);buttoni/cali%cal.setIcon(icon);7) MenuFrame.javaimport java.io.File;import java.awt.event.ActionEvent;import java.awt.event.Act

30、ionListener;import java*.swing.JFrame;import java*.swing.JMenu;import java*.swing.JMenuBar;import java*.swing.JMenuItem;import java*.swing.JRadioButtonMenuItem;import java*.swing.ButtonGroup;import java*.swing.KeyStroke;public abstract class MenuFramee*tends JFramepublic final static int heightTitle

31、 = 30;public final static int widthTitle = 6;public final static int heightMenu = 27;private JMenu m = new JMenu(開場(B),new JMenu(選擇(O),new JMenu(關于(A) ;private JMenu mm = new JMenu(等級(L),new JMenu(背景圖片(B);private boolean update;private int type;private String filename;protected ButtonGroup bgrp = ne

32、w ButtonGroup();protected ButtonGroup fgrp = new ButtonGroup();public MenuFrame()super(拼圖游戲);addMenu();this.setResizable(false);this.setDefaultCloseOperation(E*IT_ON_CLOSE);this.setSize(widthTitle, heightTitle+heightMenu);this.setLocation(this.getToolkit().getScreenSize().width/3 - this.getWidth()/3

33、,this.getToolkit().getScreenSize().height/3 - this.getHeight()/3);private void addMenu()JMenuBar mBar = new JMenuBar();this.setJMenuBar(mBar);mBar.add(m0);mBar.add(m1);mBar.add(m2);m0.setMnemonic(B);m1.setMnemonic(O);m2.setMnemonic(A);initMenuBegin();initMenuOption();initMenuAbout();update = false;p

34、ublic abstract void menuNewClick();public abstract void menuGradesClick();public abstract void menuShowClick();public abstract void menuE*itClick();private void menuLevelClick(String nm)type = 3;if (nm.equals(困難)type = 0;else if (nm.equals(普通)type = 1;else if (nm.equals(簡單)type = 2;private void menu

35、BackgroundClick(String nm)filename = nm;public abstract void menuHelpClick();public abstract void menuAboutClick();public int getType()return type;public String getFilename()return filename;private void initMenuBegin()JMenuItem mI = new JMenuItem(新游戲(N),new JMenuItem(成績記錄(G),new JMenuItem(退出游戲(E);mI

36、0.setMnemonic(N);mI1.setMnemonic(G);mI2.setMnemonic(E);mI0.setAccelerator(KeyStroke.getKeyStroke(ctrl N);mI2.setAccelerator(KeyStroke.getKeyStroke(ctrl W);mI0.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuNewClick(););mI1.addActionListener(new ActionListener()pu

37、blic void actionPerformed(ActionEvent e)menuGradesClick(););mI2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuE*itClick(););m0.add(mI0);m0.add(mI1);m0.add(mI2);m0.insertSeparator(2);private void initMenuOption()mm0.setMnemonic(L);mm1.setMnemonic(B);m1.add(mm0);m

38、1.add(mm1);initMenuLevel();initMenuBackground();private void initMenuLevel()JRadioButtonMenuItem mi = new JRadioButtonMenuItem(困難),new JRadioButtonMenuItem(普通),new JRadioButtonMenuItem(簡單) ;for (int i = 0; i 3; i+)mii.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JR

39、adioButtonMenuItem mi = (JRadioButtonMenuItem)e.getSource();menuLevelClick(mi.getTe*t(););bgrp.add(mii);mm0.add(mii);mi1.setSelected(true);menuLevelClick(mi1.getTe*t();public void initMenuBackground()mm1.removeAll();File bkg = new File(Arg.path);if (!bkg.e*ists()return;File list = bkg.listFiles();JR

40、adioButtonMenuItem mi;int j = 0;for (int i = 0; i list.length; i+)if (!listi.isFile() | listi.isHidden()continue;mi = new JRadioButtonMenuItem(listi.getName();mi.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JRadioButtonMenuItem mi = (JRadioButtonMenuItem)e.getSourc

41、e();menuBackgroundClick(mi.getTe*t(););fgrp.add(mi);mm1.add(mi);mi.setSelected(j = 0);if (j = 0)menuBackgroundClick(mi.getTe*t();j+;private void initMenuAbout()JMenuItem mI = new JMenuItem(幫助(H),new JMenuItem(關于(A);mI0.setMnemonic(H);mI1.setMnemonic(A);mI0.setAccelerator(KeyStroke.getKeyStroke(F1);m

42、I0.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuHelpClick(););mI1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuAboutClick(););m2.add(mI0);m2.add(mI1);public void updateMenuBegin()update = !update;if (!update)m0.remove(2);r

43、eturn;JMenuItem mi = new JMenuItem(圖片預覽(S);mi.setMnemonic(S);mi.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuShowClick(););m0.insert(mi, 2);8) point.javapublic class pointint row;int cal;public point(int r, int c)row = r;cal = c;public void set(int r, int c)row

44、 = r;cal = c;public int getRow()return row;public int getCal()return cal;public boolean neighbor(int r, int c)int n = Math.abs(row - r) + Math.abs(cal - c);return n = 1;9) Puzzle.javaimport java.awt.image.BufferedImage;import java*.swing.utton;import java*.swing.ImageIcon;import java*.swing.JOptionP

45、ane;import java*.swing.JRadioButtonMenuItem;public class Puzzle e*tends CardFrameprivate boolean start;private int fWidth = this.getWidth();private int fHeight = this.getHeight();private GameOver gOver;private boolean inde* = true;public Puzzle()start = false;ImageIcon icon = new ImageIcon(icon/OK.p

46、ng);this.setSize(200 + fWidth, 200 + fHeight);this.setIconImage(icon.getImage();this.setVisible(true);private void startGame()if (start)return;start = true;updateMenuBegin();public void endGame()updateMenuBegin();initMenuBackground();start = false;JOptionPane.showMessageDialog(null,時間: + gOver.getTi

47、me() + sn +步數(shù): + gOver.getStep();Grades g = new Grades(this);g.set(int)gOver.getTime(), gOver.getStep();protected void FrameLostFocus()if (start & inde*)ne*tCard();if (gOver != null) gOver.pause();inde* = false;protected void FrameGetFocus()ne*tCard();if (gOver != null) gOver.pause();inde* = true;pu

48、blic void menuNewClick()Split sp = Split.get();BufferedImage image;if (!sp.set(getFilename() | (image = sp.divid(getType() = null)JOptionPane.showMessageDialog(null, 圖片不存在!n請重新選擇); return;startGame();this.setSize(fWidth, fHeight);this.setVisible(true);int len = Split.levelgetType();int row = image.l

49、ength;int cal = image0.length;gOver = new GameOver(this);utton button = new uttonrowcal;Matri* matri* = new Matri*(button, panel0, len, gOver);matri*.init(image);this.setSize(cal * len + fWidth, row * len + fHeight);this.setVisible(true);public void menuGradesClick()Grades g = new Grades(this);g.sho

50、w();public void menuShowClick()new ShowImage(getFilename();public void menuE*itClick()System.e*it(0);public void menuHelpClick()String help0 = 通過移動每一個小圖片,最終拼為原本的完整圖片.nn;String help1 = 您可以單擊空白區(qū)周圍的小圖片,可以使它移動到空白區(qū)。;JOptionPane.showMessageDialog(null, help0 + help1);public void menuAboutClick()String ver

51、sion = 版本: 0.0.2 beta 1n;String author = 作者: zjnuist41n;String email = : zjnuist126.;JOptionPane.showMessageDialog(null, version + author + email);public static void main(String argv)Puzzle app = new Puzzle();10) ShowImage.javaimport java.awt.Container;import java.awt.FlowLayout;import java*.swing.ImageIcon;import java*.swing.JLabel;import java*.swing.JFrame

溫馨提示

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

評論

0/150

提交評論