版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、運行效果如下圖所示:源代碼如下(可以直接運行出結(jié)果):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;/規(guī)則類對象(使于調(diào)用方法)ChessRule rule;*單擊棋子* chessMa nClick = true 閃爍棋子 并給線程響應(yīng)* chessManClick = false吃棋子 停止閃爍并給線程響應(yīng)*/boolea n chessMa nClic
3、k;*控制玩家走棋* chessPlayClick=1 黑棋走棋* chessPlayClick=2紅棋走棋默認紅棋* chessPlayClick=3雙方都不能走棋*/int chessPlayClick=2;/控制棋子閃爍的線程Thread tma in;/把第一次的單擊棋子給線程響應(yīng)static int Man ,i;ChessMai nF rame()new ChessMainFrame("中國象棋");*構(gòu)造函數(shù)*初始化圖形用戶界面*/ChessMai nFrame(Stri ng Title)/獲行客格引用con = this.getC onten tPa ne
4、();con. setLayout (n ull);/實例化規(guī)則類rule = new ChessRule();Var = new Vector();/創(chuàng)建工具欄jmai n = new JToolBar();text = new JLabel("歡迎使用象棋對弈系統(tǒng)”);/當鼠標放上顯示信息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();/注冊按扭監(jiān)聽an ew.a
6、ddActio nListe ner(this); repe nt.addAct ion Liste ner(this); exit.addAct ion Liste ner(this);/注冊棋子移動監(jiān)聽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);/注冊窗體關(guān)閉監(jiān)聽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);/設(shè)置紅將.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();/卒、兵吃規(guī)則if (Ma n > 15 && Man < 26) rule.armsRule(playMa n,playi);/炮吃規(guī)則else if (Ma n > 25 && Man < 30) rule.ca nnon R
25、ule(O,playMa n,playi,play,me);/車吃規(guī)則else if (Man >=0 && Man < 4) rule.ca nnon Rule(1,playMa n,playi,play,me);/馬吃規(guī)則else if (Ma n > 3 && Man < 8) rule.horseRule(playMa n,playi,play,me);/相、象吃規(guī)則else if (Ma n > 7 && Man < 12) rule.elepha ntRule(playMa n,playi,play
26、);/ 士、仕吃棋規(guī)則else if (Ma n > 11 && Man < 16) rule.ch apRule(Ma n,playMa n,playi,play);/將、帥吃棋規(guī)則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();/卒吃規(guī)則if (Ma n > 15 && Man < 26) rule.armsRule(playMa n,playi);/炮吃規(guī)則else
28、 if (Ma n > 25 && Man < 30)rule.ca nnon Rule(O,playMa n,playi,play,me);/車吃規(guī)則else if (Man >=0 && Man < 4)rule.ca nnon Rule(1,playMa n,playi,play,me);/馬吃規(guī)則else if (Ma n > 3 && Man < 8) rule.horseRule(playMa n,playi,play,me);/相、象吃規(guī)則else if (Ma n > 7 &&am
29、p; Man < 12) rule.elepha ntRule(playMa n,playi,play);/ 士、仕吃棋規(guī)則else if (Ma n > 11 && Man < 16) rule.ch apRule(Ma n,playMa n,playi,play);/將、帥吃棋規(guī)則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)*定義按鈕的事件響應(yīng)*/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中的內(nèi)容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);/*定義中國象棋規(guī)則的類*/class ChessRule /*卒子的移動規(guī)則*/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);/卒移動結(jié)束/*卒吃棋規(guī)則*/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);/卒吃結(jié)束/*炮、車移動規(guī)則*/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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度美發(fā)店店務(wù)管理勞動合同(經(jīng)營策略與市場拓展)
- 2025年度中式茶樓檔口經(jīng)營權(quán)轉(zhuǎn)讓與經(jīng)營管理合同
- 二零二五年度私人果園租賃及果樹種植技術(shù)支持合同
- 二零二五年度湖北省事業(yè)單位行政樓房屋租賃管理合同
- 2025年度混凝土預(yù)制蓋板市場拓展與品牌推廣合同
- 二零二五年度汽車租賃事故處理賠償合同
- 2025年度農(nóng)副食品國際貿(mào)易代理服務(wù)合同
- 2025年度內(nèi)墻粉刷與智能化管理系統(tǒng)分包合同
- 二零二五年度商業(yè)門面租賃爭議解決合同
- 二零二五年度庭院房產(chǎn)租賃合同解除與違約金合同
- 2025水利云播五大員考試題庫(含答案)
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(2024版)解讀
- 中藥飲片驗收培訓(xùn)
- 手術(shù)室??谱o士工作總結(jié)匯報
- DB34T 1831-2013 油菜收獲與秸稈粉碎機械化聯(lián)合作業(yè)技術(shù)規(guī)范
- 蘇州市2025屆高三期初陽光調(diào)研(零模)政治試卷(含答案)
- 創(chuàng)傷處理理論知識考核試題及答案
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 《義務(wù)教育數(shù)學(xué)課程標準(2022年版)》測試題+答案
- 殘疾軍人新退休政策
- 白酒代理合同范本
評論
0/150
提交評論