纯Java写的中国象棋_第1页
纯Java写的中国象棋_第2页
纯Java写的中国象棋_第3页
纯Java写的中国象棋_第4页
纯Java写的中国象棋_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、运行效果如下图所示:源代码如下(可以直接运行出结果):import java.awt.*;import javax.swi ng.*;import java.util.*;import java.io.*;/主类public class Chesspublic static void main(String args) new ChessMainFrame("中国象棋,博大精深 ”);/主框架类class ChessMa inF rame exte nds JFrame impleme nts Actio nListe ner,MouseListe ner,R unn able/玩家

2、JLabel play = new JLabel32;/棋盘JLabel image;/窗格Container con;/工具栏JToolBar jmain;/重新开始JButt on an ew;/悔棋JButt on repe nt;/退出JButt on exit;/当前信息JLabel text;保存当前操作Vector Var;/规则类对象(使于调用方法)ChessRule rule;*单击棋子* chessMa nClick = true 闪烁棋子 并给线程响应* chessManClick = false吃棋子 停止闪烁并给线程响应*/boolea n chessMa nClic

3、k;*控制玩家走棋* chessPlayClick=1 黑棋走棋* chessPlayClick=2红棋走棋默认红棋* chessPlayClick=3双方都不能走棋*/int chessPlayClick=2;/控制棋子闪烁的线程Thread tma in;/把第一次的单击棋子给线程响应static int Man ,i;ChessMai nF rame()new ChessMainFrame("中国象棋");*构造函数*初始化图形用户界面*/ChessMai nFrame(Stri ng Title)/获行客格引用con = this.getC onten tPa ne

4、();con. setLayout (n ull);/实例化规则类rule = new ChessRule();Var = new Vector();/创建工具栏jmai n = new JToolBar();text = new JLabel("欢迎使用象棋对弈系统”);/当鼠标放上显示信息text.setToolTipText(” 信息提示"); anew = new JButton(” 新 游 戏”); an ew.setToolTipText(” 重新开始新的一局”); exit = new JButton(” 退 出”); exit.setToolTipText(

5、”退出象棋程序程序 ”); repent = new JButton(” 悔 棋");repe nt.setToolTipText(”返回到上次走棋的位置 ");/把组件添加到工具栏jma in. setLayout (new GridLayout(0,4);jma in. add(a new);jma in. add(repe nt);jmai n.add(exit);jma in. add(text);jmai n. setBou nds(0,0,558,30);con. add(jma in);/添加棋子标签drawChessMa n();/注册按扭监听an ew.a

6、ddActio nListe ner(this); repe nt.addAct ion Liste ner(this); exit.addAct ion Liste ner(this);/注册棋子移动监听for (int i=0;i<32;i+)con. add(playi);playi.addMouseListe ner(this);/添加棋盘标签con. add(image = new JLabel( new Imagelc on ("imageWMa in. GIF");image.setBou nds(0,30,558,620);image.addMouse

7、Liste ner(this);/注册窗体关闭监听this.addWi ndowListe ner(new Win dowAdapter() public void wi ndowClosi ng(Wi ndowEve nt we)System.exit(O););/窗体居中Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();Dimension frameSize = this.getSize();if (frameSize.height > scree nSize.height)frameSize.hei

8、ght = scree nSize.height;if (frameSize.width > scree nSize.width)frameSize.width = scree nSize.width;this.setLocation(screenSize.width - frameSize.width) / 2 - 280 ,(screenSize.height -frameSize.height ) / 2 - 350);/设置红将.GIF").getlmage();this.setResizable(false);this.setTitle(Title);this.set

9、Size(558,670);this.show();/*添加棋子方法*/public void drawChessMa n()/流程控制int i,k;/图标Icon in;/黑色棋子/车黑车.GIF"); for (i=0,k=24;i<2;i+,k+=456)playi = new JLabel( in); playi.setBou nds(k,56,55,55); playi.setName(” 车 1");/马黑马.GIF"); for (i=4,k=81;i<6;i+,k+=342)playi = new JLabel( in); playi

10、.setBou nds(k,56,55,55); playi.setName("马 1");/相黑象.GIF"); for (i=8,k=138;i<10;i+,k+=228)playi = new JLabel( in); playi.setBou nds(k,56,55,55); playi.setName("象 1");/ 士黑士 .GIF"); for (i=12,k=195;i<14;i+,k+=114)playi = new JLabel( in); playi.setBou nds(k,56,55,55);

11、playi.setName(" 士 1");/卒黑卒.GIF"); for (i=16,k=24;i<21;i+,k+=114)playi = new JLabel( in); playi.setBou nds(k,227,55,55); playi.setName(” 卒 1" + i);/炮黑炮.GIF"); for (i=26,k=81;i<28;i+,k+=342)playi = new JLabel( in); playi.setBou nds(k,170,55,55); playi.setName(” 炮 1"

12、 + i);/将黑将.GIF"); play30 = new JLabel(i n); play30.setBou nds(252,56,55,55); play30.setName(” 将 1");/红色棋子/车红车.GIF"); for (i=2,k=24;i<4;i+,k+=456)playi = new JLabel( in); playi.setBou nds(k,569,55,55); playi.setName("车 2");/马红马.GIF"); for (i=6,k=81;i<8;i+,k+=342)pl

13、ayi = new JLabel( in); playi.setBou nds(k,569,55,55); playi.setName("马 2");/相红象.GIF"); for (i=10,k=138;i<12;i+,k+=228)playi = new JLabel( in); playi.setBou nds(k,569,55,55);playi.setName("象 2");/ 士红士 .GIF");for (i=14,k=195;i<16;i+,k+=114) playi = new JLabel( in);

14、playi.setBou nds(k,569,55,55); playi.setName(” 士 2");/兵红卒.GIF"); for (i=21,k=24;i<26;i+,k+=114)playi = new JLabel( in); playi.setBou nds(k,398,55,55); playi.setName("卒 2" + i);/炮红炮.GIF"); for (i=28,k=81;i<30;i+,k+=342)playi = new JLabel( in); playi.setBou nds(k,455,55,

15、55); playi.setName("炮 2" + i);/帅红将.GIF"); play31 = new JLabel(i n); play31.setBou nds(252,569,55,55); play31.setName("帅 2");*线程方法控制棋子闪烁*/public void run() while (true)/单击棋子第一下开始闪烁if (chessMa nClick)playMa n .setVisible(false);/时间控制trytmai n.sleep(200);catch(Excepti on e)play

16、Ma n .setVisible(true);闪烁当前提示信息以免用户看不见else text.setVisible(false);/时间控制trytmai n.sleep(250);catch(Excepti on e)text.setVisible(true);trytmai n.sleep(350);catch (Excepti on e)*/单击棋子方法public void mouseClicked(MouseEve nt me)/当前坐标int Ex=0,Ey=0;/启动线程if (tma in = n ull)tma in = new Thread(this);tmai n.st

17、art();/单击棋盘(移动棋子)if (me.getSource().equals(image)/该红棋走棋的时候if (chessPlayClick = 2 && playMa n.getName().charAt(1) = '2')Ex = playMa n.getX();Ey = playMa n .getY();/移动卒、兵if (Man > 15 && Man < 26) rule.armsRule(Ma n,playMa n,me);/移动炮else if (Man > 25 && Man <

18、 30) rule.ca nnon Rule(playMa n,play,me);/移动车else if (Man >=0 && Man < 4) rule.ca nnon Rule(playMa n,play,me);/移动马else if (Ma n > 3 && Man < 8) rule.horseRule(playMa n,play,me);/移动相、象else if (Man > 7 && Man < 12) rule.elepha ntRule(Ma n,playMa n,play,me);/移动

19、仕、士else if (Man > 11 && Man < 16) rule.chapRule(Ma n, playMa n,play,me);/移动将、帅else if (Ma n = 30 | Man = 31) rule.willRule(Ma n,playMa n,play,me);/是否走棋错误(是否在原地没有动)if (Ex = playMan.getX() && Ey = playMan.getY()text.setText(”红棋走棋");chessPlayClick=2;else text.setText(”黑棋走棋”);

20、chessPlayClick=1;/if/该黑棋走棋的时候else if (chessPlayClick = 1 && playMan.getName().charAt='1') Ex = playMa n.getX();Ey = playMa n.getY();/移动卒、兵if (Man > 15 && Man < 26) rule.armsRule(Ma n,playMa n,me);/移动炮else if (Man > 25 && Man < 30)rule.ca nnon Rule(playMa n

21、,play,me);/移动车else if (Man >=0 && Man < 4)rule.ca nnon Rule(playMa n,play,me);/移动马else if (Ma n > 3 && Man < 8) rule.horseRule(playMa n,play,me);/移动相、象else if (Man > 7 && Man < 12) rule.elepha ntRule(Ma n,playMa n,play,me);/移动仕、士else if (Man > 11 &&am

22、p; Man < 16) rule.chapRule(Ma n, playMa n,play,me);/移动将、帅else if (Ma n = 30 | Man = 31) rule.willRule(Ma n,playMa n,play,me);/是否走棋错误(是否在原地没有动)if (Ex = playMan.getX() && Ey = playMan.getY()text.setText(”黑棋走棋");chessPlayClick=1;else text.setText("红棋走棋");chessPlayClick=2;/else

23、 if/当前没有操作(停止闪烁)chessMa nClick=false;/if/单击棋子else/第一次单击棋子(闪烁棋子)if (!chessMa nClick)for (int i=0;i<32;i+)/被单击的棋子if (me.getSource().equals(playi)/告诉线程让该棋子闪烁Ma n=i;/开始闪烁chessMa nClick=true;break;/for/if/第二次单击棋子(吃棋子)else if (chessMa nClick)/当前没有操作(停止闪烁)chessMa nClick=false;for (i=0;i<32;i+)/找到被吃的棋

24、子if (me.getSource().equals(playi)/该红棋吃棋的时候if (chessPlayClick = 2 && playMan.getName().charAt='2') Ex = playMa n.getX(); Ey = playMa n.getY();/卒、兵吃规则if (Ma n > 15 && Man < 26) rule.armsRule(playMa n,playi);/炮吃规则else if (Ma n > 25 && Man < 30) rule.ca nnon R

25、ule(O,playMa n,playi,play,me);/车吃规则else if (Man >=0 && Man < 4) rule.ca nnon Rule(1,playMa n,playi,play,me);/马吃规则else if (Ma n > 3 && Man < 8) rule.horseRule(playMa n,playi,play,me);/相、象吃规则else if (Ma n > 7 && Man < 12) rule.elepha ntRule(playMa n,playi,play

26、);/ 士、仕吃棋规则else if (Ma n > 11 && Man < 16) rule.ch apRule(Ma n,playMa n,playi,play);/将、帅吃棋规则else if (Ma n = 30 | Man = 31) rule.willRule(Ma n,playMa n,playi,play); playMa n .setVisible(true);/是否走棋错误(是否在原地没有动)if (Ex = playMa n .getX() && Ey = playMa n.getY()text.setText(”红棋走棋”);

27、chessPlayClick=2;break;elsetext.setText("黑棋走棋");chessPlayClick=1;break;/if/该黑棋吃棋的时候else if (chessPlayClick = 1 && playMan.getName().charAt(1)= '1')Ex = playMa n.getX();Ey = playMa n.getY();/卒吃规则if (Ma n > 15 && Man < 26) rule.armsRule(playMa n,playi);/炮吃规则else

28、 if (Ma n > 25 && Man < 30)rule.ca nnon Rule(O,playMa n,playi,play,me);/车吃规则else if (Man >=0 && Man < 4)rule.ca nnon Rule(1,playMa n,playi,play,me);/马吃规则else if (Ma n > 3 && Man < 8) rule.horseRule(playMa n,playi,play,me);/相、象吃规则else if (Ma n > 7 &&am

29、p; Man < 12) rule.elepha ntRule(playMa n,playi,play);/ 士、仕吃棋规则else if (Ma n > 11 && Man < 16) rule.ch apRule(Ma n,playMa n,playi,play);/将、帅吃棋规则else if (Ma n = 30 | Man = 31) rule.willRule(Ma n,playMa n,playi,play); playMa n .setVisible(true);/是否走棋错误(是否在原地没有动)if (Ex = playMan.getX()

30、&& Ey = playMan.getY() text.setText(”黑棋走棋");chessPlayClick=1;break;else text.setText("红棋走棋");chessPlayClick=2;break;/else if/if/for/是否胜利if (!play31.isVisible()JOptio nPan e.showC on firmDialog(this,"黑棋胜利","玩家一胜利",JOptio nPan e.DEFAULT_OPTION,JOptio nPan e.W

31、ARNING_MESSAG /双方都不可以在走棋了chessPlayClick=3;text.setText("黑棋胜利”);/ifelse if (!play30.isVisible()JOptio nPan e.showC on firmDialog(this,"红棋胜利","玩家二胜利",JOptio nPan e.DEFAULT_OPTION,JOptio nPan e.WARNING_MESSAG chessPlayClick=3;text.setText(” 红棋胜利”);/else if/else/elsepublic void

32、mousePressed(MouseEve nt me)public void mouseReleased(MouseEve nt me)public void mouseE ntered(MouseEve nt me)public void mouseExited(MouseEve nt me)*定义按钮的事件响应*/public void action Performed(Acti onEvent ae) /重新开始按钮if (ae.getSource().equals(a new)int i,k;/重新排列每个棋子的位置/黑色棋子/车for (i=0,k=24;i<2;i+,k+=

33、456) playi.setBou nds(k,56,55,55);/马for (i=4,k=81;i<6;i+,k+=342) playi.setBou nds(k,56,55,55);/相for (i=8,k=138;i<10;i+,k+=228)playi.setBou nds(k,56,55,55);tM'M/Osp uno 日旧 人 E|d仿|4=+*+匸9少!帀乙胡心)Oj 旨/:(99©9'699'>1眉卩期0 日记 sME|d (怦=+*+!© A!©6 二”中匸!)0j 干 :(99©9'

34、;699'>1眉卩期0 日记 sME|d (就乙=+*+!2 A!S£ 匸!)0jW/ tgyM'69y>l)spuno 日记 sME|d (眇£=+*+!3>匸愿=*9=!)0j 旨/ :(99©9'699'>1眉卩期0 日记 sME|d (9M=+*+!冷!冷乙=*乙=!)0j 多/£胡另焉II!(991991991S9S)spunog;asoeAe|d# / gg'gg'OZ L(>l)spunogjas!Ae|d(眇£=+*+!3乙>!:愿=*9Q!)0

35、j w/ 乙乙 Mspuno 日记 sME|d 仿"=+*+匸比>!帀乙=*9匸!)0j 茲/ gg'gg'gg'sp uno g;as!Ae|d (怦匸+*+!帀A!©6二*乙匸!)Oj 干/炮for (i=28,k=81;i<30;i+,k+=342) playi.setBou nds(k,455,55,55);/帅play31.setBou nds(252,569,55,55);chessPlayClick = 2;text.setText(”红棋走棋”);for (i=0;i<32;i+)playi.setVisible(t

36、rue);/清除Vector中的内容Var.clear();/悔棋按钮else if (ae.getSource().equals(repe nt)tryII获得setVisible属性值Stri ng S = (Strin g)Var.get(Var.size()-4);II获得X坐标int x = In teger.parse In t(Stri ng)Var.get(Var.size()-3);II获得Y坐标int y = In teger.parse In t(Stri ng)Var.get(Var.size()-2);II获得索引int M = In teger.parse In t

37、(Stri ng)Var.get(Var.size()-1);II赋给棋子playM.setVisible(true); playM.setBou nds(x,y,55,55);if (playM.getName().charAt(1) = '1') text.setText("黑棋走棋");chessPlayClick = 1;elsetext.setText("红棋走棋");chessPlayClick = 2;/删除用过的坐标Var.remove(Var.size()-4);Var.remove(Var.size()-3);Var.

38、remove(Var.size()-2);Var.remove(Var.size()-1);停止旗子闪烁chessMa nClick=false;catch(Excepti on e)/退出else if (ae.getSource().equals(exit)int j=JOptio nPan e.showC on firmDialog(this,"真的要退出吗?","退出",JOptio nPan e.YES_OPTION,JOptio nPa ne.QUESTION_MESSAGE);if (j = JOptio nPan e.YES_OPTION

39、)System.exit(O);/*定义中国象棋规则的类*/class ChessRule /*卒子的移动规则*/public void armsRule(i nt Man, JLabel play,MouseEve nt me)/黑卒向下if (Man < 21)/向下移动、得到终点的坐标模糊成合法的坐标if (me.getY()-play.getY() > 27 && (me.getY()-play.getY() < 86 &&(me.getX()-play.getX() < 55 && (me.getX()-play

40、.getX() > 0)/当前记录添加到集合(用于悔棋)Var.add(Stri ng.valueOf(play.isVisible();Var.add(Stri ng.valueOf(play.getX();Var.add(Stri ng.valueOf(play.getY();Var.add(Stri ng.valueOf(Ma n);play.setBou nds(play.getX(),play.getY()+57,55,55);/向右移动、得到终点的坐标模糊成合法的坐标、必须过河else if (play.getY() > 284 && (me.getX(

41、) - play.getX() >= 57 && (me.getX()- play.getX() <= 112)play.setBou nds(play.getX()+57,play.getY(),55,55);/向左移动、得到终点的坐标模糊成合法的坐标、必须过河else if (play.getY() > 284 && (play.getX() - me.getX() >= 2 && (play.getX()- me.getX() <=58)/模糊坐标play.setBou nds(play.getX()-57,p

42、lay.getY(),55,55);/红卒向上elseII当前记录添加到集合(用于悔棋)Var.add(Stri ng.valueOf(play.isVisible();Var.add(Stri ng.valueOf(play.getX();Var.add(Stri ng.valueOf(play.getY();Var.add(Stri ng.valueOf(Ma n);II向上移动、得到终点的坐标模糊成合法的坐标if (me.getX()-play.getX() >= 0 && (me.getX()-play.getX() <= 55 && (pl

43、ay.getY()-me.getY() >27 && play.getY()-me.getY() < 86)play.setBou nds(play.getX(),play.getY()-57,55,55);II向右移动、得到终点的坐标模糊成合法的坐标、必须过河else if (play.getY() <= 341 && (me.getX() - play.getX() >= 57 && (me.getX()- play.getX() <= 112)play.setBou nds(play.getX()+57,pla

44、y.getY(),55,55);II向左移动、得到终点的坐标模糊成合法的坐标、必须过河else if (play.getY() <= 341 && (play.getX() - me.getX() >= 3 && (play.getX()- me.getX() <=58)play.setBou nds(play.getX()-57,play.getY(),55,55);/卒移动结束/*卒吃棋规则*/public void armsRule(JLabel play1,JLabel play2)/向右走if (play2.getX() - play

45、1.getX() <= 112 && (play2.getX() - play1.getX() >= 57 && (play1.getY() - play2.getY() < 22 && (play1.getY() - play2.getY() > -22 && play2.isVisible() && play1.getName().charAt(1)!=play2.getName().charAt(1)/黑棋要过河才能右吃棋if (play1.getName().charAt='

46、1'&& play1.getY() >284&&play1.getName().charAt!= play2.getName().charAt(1)play2.setVisible(false);/把对方的位置给自己play1.setBou nds(play2.getX(),play2.getY(),55,55);/红棋要过河才左能吃棋else if (play1.getName().charAt ='2' && play1.getY() < 341 && play1.getName().cha

47、rAt!= play2.getName().charAt(1)play2.setVisible(false);/把对方的位置给自己play1.setBou nds(play2.getX(),play2.getY(),55,55);/向左走else if (play1.getX() - play2.getX() <= 112 && (play1.getX() - play2.getX() >= 57 && (play1.getY() - play2.getY() < 22 && (play1.getY() - play2.getY

48、() > -22 && play2.isVisible() && play1.getName().charAt(1)!=play2.getName().charAt(1)/黑棋要过河才能左吃棋if (play1.getName().charAt(1) ='1'&& play1.getY() >284&&play1.getName().charAt(1) != play2.getName().charAt(1)play2.setVisible(false);/把对方的位置给自己play1.setBou n

49、ds(play2.getX(),play2.getY(),55,55);/红棋要过河才能右吃棋else if (play1.getName().charAt(1) = '2' && play1.getY() < 341 && play1.getName().charAt(1) != play2.getName().charAt(1)play2.setVisible(false);/把对方的位置给自己play1.setBo un ds(play2.getX(),play2.getY(),55,55);/向上走else if (play1.ge

50、tX() - play2.getX() >= -22 && play1.getX() - play2.getX() <= 22 && play1.getY() - play2.getY() >= -112 && play1.getY() - play2.getY() <= 112)/黑棋不能向上吃棋if (play1.getName().charAt='1' && play1.getY() < play2.getY() &&play1.getName().charAt!

51、= play2.getName().charAt(1)play2.setVisible(false);/把对方的位置给自己play1.setBou nds(play2.getX(),play2.getY(),55,55);/红棋不能向下吃棋else if (play1.getName().charAt(1) = '2' && play1.getY() > play2.getY() && play1.getName().charAt!= play2.getName().charAt(1)play2.setVisible(false);/把对方

52、的位置给自己play1.setBou nds(play2.getX(),play2.getY(),55,55);/当前记录添加到集合(用于悔棋)Var.add(Stri ng.valueOf(play1.isVisible();Var.add(Stri ng.valueOf(play1.getX();Var.add(Stri ng.valueOf(play1.getY();Var.add(Stri ng.valueOf(Ma n);/当前记录添加到集合(用于悔棋)Var.add(Stri ng.valueOf(play2.isVisible();Var.add(Stri ng.valueOf(

53、play2.getX();Var.add(Stri ng.valueOf(play2.getY(); Var.add(Stri ng.valueOf(i);/卒吃结束/*炮、车移动规则*/public void cannon Rule(JLabel play,JLabel playQ,MouseEve nt me)/起点和终点之间是否有棋子int Cou nt = 0;/上、下移动if (play.getX() - me.getX() <= 0 && play.getX() - me.getX() >= -55)/指定所有模糊Y坐标for (int i=56;i&l

54、t;=571;i+=57)/移动的Y坐标是否有指定坐标相近的if (i - me.getY() >= -27 && i - me.getY() <= 27)II所有的棋子for (int j=0;j<32;j+)II找出在同一条竖线的所有棋子、并不包括自己if (playQj.getX() - play.getX() >= -27 && playQj.getX()-play.getX() <= 27 && playQj.getName()!=play.getName() && playQj.isVis

55、ible()II从起点到终点(从左到右)for (int k=play.getY()+57;k<i;k+=57)II大于起点、小于终点的坐标就可以知道中间是否有棋子if (playQj.getY() < i && playQj.getY() >play.getY()II中间有一个棋子就不可以从这条竖线过去Coun t+;break;IIforII从起点到终点(从右到左)for (int k=i+57;k<play.getY();k+=57)II找起点和终点的棋子if (playQj.getY() < play.getY() && p

56、layQj.getY() >i)Coun t+;break;IIforIIifIIforII起点和终点没有棋子就可以移动了if (Cou nt = 0)II当前记录添加到集合(用于悔棋)Var.add(Stri ng.valueOf(play.isVisible();Var.add(Stri ng.valueOf(play.getX();Var.add(Stri ng.valueOf(play.getY();Var.add(Stri ng.valueOf(Ma n); play.setBo un ds(play.getX(),i,55,55); break;IIif/for/if/左、右

57、移动else if (play.getY() - me.getY() >=-27 && play.getY() - me.getY() <= 27)/指定所有模糊X坐标for (int i=24;i<=480;i+=57)/移动的X坐标是否有指定坐标相近的if (i - me.getX() >= -55 && i-me.getX() <= 0)/所有的棋子for (int j=0;j<32;j+)/找出在同一条横线的所有棋子、并不包括自己if (playQj.getY() - play.getY() >= -27 && playQj.getY()-play.getY() <= 27 && playQj.getName()!=play.getName() && playQj.isVisible()/从起点到终点(从上到下)for (int k=play.getX()+57;

温馨提示

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

评论

0/150

提交评论