




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE棗莊學院信息科學與工程學院課程設計任務書題目:五子棋游戲學號:201012110132姓名:孫飛專業(yè):計算機科學與技術課程:java語言程序設計指導教師:劉夢琳職稱:講師完成時間:2012年5月2012年6月棗莊學院信息科學與工程學院制課程設計任務書及成績評定課程設計的任務和具體要求1.基本要求實現(xiàn)一個簡單的多用戶五子棋的游戲程序,包括如下兩個界面(1)選擇對弈桌及角色(執(zhí)黑、執(zhí)白、觀看)。(2)在游戲界面,有開始,退出(游戲未結束、點退出自動判負);發(fā)言及顯示區(qū);用戶列表區(qū);棋盤繪制區(qū)。2.創(chuàng)新要求:在基本要求達到后,可進行創(chuàng)新設計,如改善算法性能、友好的人機界面。指導教師簽字:日期:指導教師評語成績:指導教師簽字:日期:課程設計所需軟件、硬件等硬件環(huán)境:CPU主頻在500MHZ以上,內存在128M以上軟件環(huán)境:JAVA虛擬機+WindowsXP或Windows2000以上操作系統(tǒng)+Eclipse課程設計進度計劃起至日期工作內容備注2012.5.20-2012.5.252012.5.26-2012.5.312012.6.1-2012.6.5構思及收集資料編碼與調試撰寫論文參考文獻、資料索引序號文獻、資料名稱編著者出版單位[1].Java程序設計實例教程.吳其慶北京冶金工業(yè)出版社[2]Java語言應用開發(fā)基礎柳西玲.許斌北京清華大學出版社[3]JAVA核心技術卷i:基礎知識(美)CayS.Horsttmann機械工業(yè)出版社[4]Java語言實用教程丁振凡北京郵電大學出版社PAGE1目錄緒論………………….……11.開發(fā)背景 ……..……………….………21.1開發(fā)環(huán)境及運行環(huán)境……………….…..……21.1.1開發(fā)環(huán)境……………….……………….……………..……………21.1.2運行環(huán)境……………….……….………..…………22.總體設計…………..……………22.1工作原理圖………….……………22.2功能的規(guī)劃……….………………33.詳細設計 …………….……………53.1創(chuàng)建棋盤類…………….…………63.2判斷輸贏功能實現(xiàn)………….……………84.系統(tǒng)測試 …………..………………124.1進入游戲的界面……………….…………124.2選擇角色,點擊開始,開始下棋……………….……134.3下完后點擊重新開始…………….………..…144.4游戲過程中退出,自動判輸……………….………………..………154.5改進想法…………165.設計總結 ……………176.參考文獻………………….………17附錄…………18緒論Java是由美國的sunmicrosystems公司發(fā)展出來的一套面向對象程序語言,因為它的面向對象,分散運算,跨平臺等等特性,又支持多線程。使得許多用過的人都愛不釋手。Java既是一種程序設計語言,也是一個完整的平臺。作為一種程序語言,它簡潔、面向對象、安全、健壯,以及適用于Internet技術;而作為一個平臺(JRE,JavaRuntimeEnvironment,Java運行環(huán)境或者說是Java虛擬機),對于符合Sun公司Java標準的應用程序,都可以在Java平臺上正確運行,與程序運行的操作系統(tǒng)無關。Java發(fā)展到今天,已從編程語言發(fā)展成為全球第一大通用開發(fā)平臺。Java技術已被計算機行業(yè)主要公司所采納。1999年,Sun公司推出了以Java2平臺為核心的J2EE、J2SE和J2ME三大平臺。隨著三大平臺的迅速推進,全球形成了一股巨大的Java應用浪潮。 這個五子棋游戲正是用這個平臺做的,在實踐中充分體現(xiàn)出了Java面向對象給我們帶來的方便。多用戶聊天程序也讓我體會到了Java多線程的強大功能。1.開發(fā)背景當前網絡上流傳的五子棋游戲功能并不盡善盡美,其中最主要的問題就是網絡對戰(zhàn)只能兩個人一起玩,所以我決定開發(fā)一個多人同時進行網絡對戰(zhàn)的五子棋系統(tǒng)。1.1開發(fā)環(huán)境及運行環(huán)境1.1.1Intel?Pentium?4l2.0GHz,512M內存,80G硬盤Microsoft?Windows?XPProfessionallJDKl1.50Eclipse3.2l1.1.2IntelPentium?l2及以上處理器,32M以上內存,4G以上硬盤Microsoft?Windows?l9X/NT操作系統(tǒng)800*600或以上的屏幕分辨率2.總體設計2.1工作原理圖開始開始下棋點擊退出判斷輸贏判斷勝負游戲結束重新開始結束程序選擇角色2.2功能的規(guī)劃1.建立一個棋盤類,繪制棋盤的樣式,在棋盤面板上添加各種按鈕及相應胡觸發(fā)事件。同時注意面板的設計,使面板設計的盡量胡的合理美觀。a.棋盤的繪制publicvoiddraw_qipan(GraphicsG)//畫棋盤15*15{ G.setColor(Color.lightGray);//設置畫刷顏色 G.fill3DRect(10,10,300,300,true);//繪制填充矩形,灰白色G.setColor(Color.black);//設置畫刷顏色 for(inti=1;i<16;i++){//繪制縱橫線 G.drawLine(20,20*i,300,20*i); G.drawLine(20*i,20,20*i,300); }}b.添加按鈕與按鈕胡規(guī)劃Buttonb1=newButton("開始"); Buttonb2=newButton("重置游戲"); LabellblWin=newLabel(""); CheckboxckbHB[]=newCheckbox[3]; Buttonexist=newButton("退出"); publicvoidinit(){ ckbHB[0]=newCheckbox("執(zhí)白",ckgHB,false); ckbHB[1]=newCheckbox("執(zhí)黑",ckgHB,false); ckbHB[2]=newCheckbox("觀看",ckgHB,false); }C.鼠標棋子胡相應觸發(fā)事件publicvoidmouseClicked(MouseEvente){ Graphicsg=getGraphics();//在當前面板繪制圖像 intx1,y1; x1=e.getX();//獲取點擊點橫坐標 y1=e.getY();//獲取點擊點縱坐標 if(e.getX()<20||e.getX()>300||e.getY()<20||e.getY()>300){//點擊點在棋盤外 return; } if(x1%20>10){//點擊點位于X相距20像素的兩點間 x1+=10; } if(y1%20>10){//點擊點位于y相距20像素的兩點間 y1+=10; } x1=x1/20*20;//確定棋子可放置的交叉點X位置 y1=y1/20*20;//確定棋子可放置的交叉點y位置 set_Qizi(x1,y1);//調用函數(shù)set_Qizi,放置棋子 m*=(-1);//某方開始放置棋子,譬如m為正則黑方下棋}d.按鈕的觸發(fā)事件publicvoidactionPerformed(ActionEvente){ Graphicsg=getGraphics();//在當前面板繪制圖像 if(e.getSource()==b1){ Game_start();//調用函數(shù),開始游戲 } else{ Game_re();//調用函數(shù),重新開始 } if(e.getSource()==exist){ Game_re();//調用函數(shù),重新開始 lblWin.setText(Get_qizi_color(color_Qizi)+"輸了!");//調用函數(shù)Get_qizi_color(color_Qizi),其返回值為“黑子”或“白字” intGame_Start=0;//歸0操作,表明游戲尚未開始2.編寫一個功能判斷落子的位置及畫出相應的黑白棋子publicvoidset_Qizi(intx,inty)//落子{ if(intGame_Start==0)//判斷游戲是否已開始{ return; } if(intGame_Body[x/20][y/20]!=0){//該交叉點已被占用 return; } Graphicsg=getGraphics();//在當前面板繪制圖像 if(color_Qizi==1)//判斷棋子的黑白{ g.setColor(Color.black);//若棋子為黑,即color_Qizi==1,設置黑色畫筆 color_Qizi=0;//下一步由白子,故賦值為0 } else{ g.setColor(Color.white);//棋子為白子,設置畫筆為白 color_Qizi=1;//下一步為黑子,故賦值為1 } g.fillOval(x-10,y-10,20,20);//繪制填充橢圓 intGame_Body[x/20][y/20]=color_Qizi+1;//棋盤交叉點已占用,即不為零}3.判斷勝負if(Game_win_1(x/20,y/20))//判斷輸贏1{ lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_2(x/20,y/20))//判斷輸贏2{ lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_3(x/20,y/20))//判斷輸贏3{ lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_4(x/20,y/20))//判斷輸贏4{ lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; }3.詳細設計3.1創(chuàng)建棋盤類PublicclassWcyChessextendsAppletimplementsActionListener,MouseListener,MouseMotionListener,ItemListener{ intcolor_Qizi=0;//旗子的顏色標識0:白子1:黑子 intintGame_Start=0;//游戲開始標志0未開始1游戲中 intintGame_Body[][]=newint[16][16];//設置棋盤棋子狀態(tài) intm=-1; Buttonb1=newButton("開始"); Buttonb2=newButton("重置游戲"); LabellblWin=newLabel(""); CheckboxckbHB[]=newCheckbox[3]; Buttonexist=newButton("退出"); CheckboxGroupckgHB=newCheckboxGroup(); NetchatClientchat=newNetchatClient();//對話框類實體 publicvoidinit(){ setLayout(null);//暫不設置布局 addMouseListener(this);//為當前類設置鼠標監(jiān)聽器 add(b1); b1.setBounds(330,50,80,30); b1.addActionListener(this); add(b2); b2.setBounds(330,90,80,30); b2.addActionListener(this); ckbHB[0]=newCheckbox("執(zhí)白",ckgHB,false); ckbHB[0].setBounds(320,20,60,30); ckbHB[1]=newCheckbox("執(zhí)黑",ckgHB,false); ckbHB[1].setBounds(380,20,60,30); ckbHB[2]=newCheckbox("觀看",ckgHB,false); add(ckbHB[0]); add(ckbHB[1]); add(ckbHB[2]); ckbHB[0].addItemListener(this); ckbHB[1].addItemListener(this); add(lblWin); lblWin.setBounds(330,180,80,30); lblWin.setBackground(Color.red); lblWin.setText("勝利者!");//沒有顯示? ckbHB[2].setBounds(440,20,60,30); add(exist); exist.setBounds(330,130,80,30); exist.addActionListener(this);// add(chat);chat.setBounds(20,500,300,300); chat.frame(); chat.setVisible(true); Game_start_csh(); setSize(500,600); setVisible(true); } publicvoiditemStateChanged(ItemEvente){ if(ckbHB[0].getState())//選擇黑子還是白子{ color_Qizi=0; } else{ color_Qizi=1; } } publicvoidmousePressed(MouseEvente){} publicvoidmouseClicked(MouseEvente){ Graphicsg=getGraphics(); intx1,y1; x1=e.getX(); y1=e.getY(); if(e.getX()<20||e.getX()>300||e.getY()<20||e.getY()>300){ return; } if(x1%20>10){ x1+=10; } if(y1%20>10){ y1+=10; } x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); m*=(-1); } publicvoidactionPerformed(ActionEvente){ Graphicsg=getGraphics(); if(e.getSource()==b1){ Game_start(); } else { Game_re(); } if(e.getSource()==exist){ Game_re(); lblWin.setText(Get_qizi_color(color_Qizi)+"輸了!"); intGame_Start=0; } } publicvoidmouseEntered(MouseEvente){} publicvoidmouseExited(MouseEvente){} publicvoidmouseReleased(MouseEvente){} publicvoidmouseDragged(MouseEvente){} publicvoidmouseMoved(MouseEvente){} publicvoidpaint(Graphicsg){ draw_qipan(g); }3.2判斷輸贏功能實現(xiàn)if(Game_win_1(x/20,y/20)){//判斷輸贏1 lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_2(x/20,y/20)){//判斷輸贏2 lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_3(x/20,y/20))//判斷輸贏3{ lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_4(x/20,y/20))//判斷輸贏4{ lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; }//判斷輸贏程序實現(xiàn)在詳細過程 publicbooleanGame_win_1(intx,inty){//橫向判斷輸贏 intx1,y1,t=1; x1=x; y1=y; for(inti=1;i<5;i++){ if(x1>15){ break; } if(intGame_Body[x1+i][y1]==intGame_Body[x][y]){ t+=1; } else{ break; } } for(inti=1;i<5;i++){ if(x1<1) break; } if(intGame_Body[x1-i][y1]==intGame_Body[x][y]) t+=1; } else{ break; } } if(t>4){ returntrue; } else{ returnfalse; } } publicbooleanGame_win_2(intx,inty){//縱向判斷輸贏 intx1,y1,t=1; x1=x; y1=y; for(inti=1;i<5;i++){ if(x1>15){ break; } if(intGame_Body[x1][y1+i]==intGame_Body[x][y]){ t+=1; } else{ break; } } for(inti=1;i<5;i++){ if(x1<1){ break; } if(intGame_Body[x1][y1-i]==intGame_Body[x][y]){ t+=1; } else{ break; } } if(t>4){ returntrue; } else{ returnfalse; } } publicbooleanGame_win_3(intx,inty)//左斜判斷輸贏{ intx1,y1,t=1; x1=x; y1=y; for(inti=1;i<5;i++){ if(x1>15){ break; } if(intGame_Body[x1+i][y1-i]==intGame_Body[x][y]){ t+=1; } else{ break; } } for(inti=1;i<5;i++){ if(x1<1){ break; } if(intGame_Body[x1-i][y1+i]==intGame_Body[x][y]){ t+=1; } else{ break; } } if(t>4){ returntrue; } else{ returnfalse; }} publicbooleanGame_win_4(intx,inty){//左斜判斷輸贏 intx1,y1,t=1; x1=x; y1=y; for(inti=1;i<5;i++){ if(x1>15) { break; } if(intGame_Body[x1+i][y1+i]==intGame_Body[x][y]) { t+=1; } else { break; } } for(inti=1;i<5;i++){ if(x1<1){ break; } if(intGame_Body[x1-i][y1-i]==intGame_Body[x][y]){ t+=1; } else{ break; } } if(t>4){ returntrue; } else{ returnfalse; } }4.系統(tǒng)測試4.1進入游戲的界面分析:游戲開始的界面有三個選擇項,用戶可以選擇相應的角色,選擇完畢后點擊開始進入游戲。用戶也可以在下面的聊天框中進行聊天。4.2選擇角色,點擊開始,開始下棋分析:首先達到五個棋子連在一塊的贏了,并在紅色區(qū)域顯示誰贏了!4.3下完后點擊重新開始分析:下完一盤后游戲停止,點擊重新開始,界面回到初始界面,選擇角色繼續(xù)游戲.4.4游戲過程中退出,自動判輸分析:在下棋的過程當中誰中途退出,即點擊退出,系統(tǒng)自動判斷誰輸4.5改進想法這個系統(tǒng)基本上實現(xiàn)了要求但是在有些方面還不夠完善。觀看角色點擊后不會出發(fā)什么事件,雖然觀看者并不需要做什么但是點擊之后并沒有發(fā)生任何反應總感覺缺點什么。想加個什么功能,但是又不知道加什么才不至于畫蛇添足。這是一個單機版的五子棋游戲,本來想要加入多人游戲模式,但是編程過程中遇到很多問題沒能解決,所以還需要學習更多的專業(yè)知識去完善。5.設計總結這個課設題對我來說有一定的挑戰(zhàn)性,因為我自己也不知道自己到底學到了一個什么樣的境界。但可以肯定,這個課設題的要求絕對在我的能力范圍以上。之所以選擇這個題目是想逼著自己去查更多的資料,學到更多的東西。結果也確實是這樣的,我在這次課設中學到了不少東西,也理解了許多原來不理解的東西。盡管這個系統(tǒng)做的并不是那么的完善。對于Java中的引用,初始化類等,開始我并不是非常的理解,知道就這么做就能實現(xiàn)相應的功能了,并沒有很深刻的去理解它為什么要這么做。但是真正的要用Java去做一個東西不理解它是不行的,而且其間這課設涉及到了Java中的絕大多數(shù)的知識點,如Java圖形用戶界面設計、Java的異常處理機制、Java中的多線程程序設計、Java輸入輸出流,要應用這些東西更要求我去好好理解Java的這些規(guī)則。好在有一定的C++基礎Java與C++語法類似,并把C++中一些較低級和較難以理解的功能都去掉了,如多繼承、指針等,同時Java增強了部分功能。所以理解起來也比較容易。但是理解了Java的規(guī)則要把這個課設做好也不是那么容易,最難的部分是如何實現(xiàn)各個功能的劃分和類的通訊問題。我在這方面就遇到了不少的問題??偨Y這次課設,我還是收獲不少。雖然界面也不是很美觀,有點功能間的連接做的也不是特別的好,但是我能認識到自己的不足,并且在跟同學的交流中也學到了一些他們的設計思路,也知道今后要加強哪些方面的知識。6.參考文獻1.吳其慶編著.Java程序設計實例教程.北京,冶金工業(yè)出版社2.柳西玲.許斌編著.Java語言應用開發(fā)基礎.北京,清華大學出版社3.(美)CayS.HorsttmannGaryCornellJAVA核心技術卷i基礎知識(原書第七版)機械工業(yè)出版社4.丁振凡Java語言實用教程,北京郵電大學出版社5.附錄(源代碼)importjava.io.*;importjava.applet.*;importjava.awt.*;importjava.awt.event.*;importjava.applet.Applet;importjava.awt.Color;publicclassWcyChessextendsAppletimplementsActionListener,MouseListener,MouseMotionListener,ItemListener{ intcolor_Qizi=0;//旗子的顏色標識0:白子1:黑子 intintGame_Start=0;//游戲開始標志0未開始1游戲中 intintGame_Body[][]=newint[16][16];//設置棋盤棋子狀態(tài) intm=-1; Buttonb1=newButton("開始"); Buttonb2=newButton("重置游戲"); LabellblWin=newLabel(""); CheckboxckbHB[]=newCheckbox[3]; Buttonexist=newButton("退出"); CheckboxGroupckgHB=newCheckboxGroup(); publicvoidinit(){ setLayout(null); addMouseListener(this); add(b1); b1.setBounds(330,50,80,30); b1.addActionListener(this); add(b2); b2.setBounds(330,90,80,30); b2.addActionListener(this); ckbHB[0]=newCheckbox("執(zhí)白",ckgHB,false); ckbHB[0].setBounds(320,20,60,30); ckbHB[1]=newCheckbox("執(zhí)黑",ckgHB,false); ckbHB[1].setBounds(380,20,60,30); ckbHB[2]=newCheckbox("觀看",ckgHB,false); add(ckbHB[0]); add(ckbHB[1]); add(ckbHB[2]); ckbHB[0].addItemListener(this); ckbHB[1].addItemListener(this); add(lblWin); lblWin.setBounds(330,180,80,30); lblWin.setBackground(Color.red); lblWin.setText("勝利者!");//沒有顯示? ckbHB[2].setBounds(440,20,60,30); add(exist); exist.setBounds(330,130,80,30); exist.addActionListener(this);// add(chat);chat.setBounds(20,500,300,300); Game_start_csh(); setSize(500,600); setVisible(true); } publicvoiditemStateChanged(ItemEvente){ if(ckbHB[0].getState())//選擇黑子還是白子 { color_Qizi=0; } else { color_Qizi=1; } } publicvoidmousePressed(MouseEvente){} publicvoidmouseClicked(MouseEvente){ Graphicsg=getGraphics(); intx1,y1; x1=e.getX(); y1=e.getY(); if(e.getX()<20||e.getX()>300||e.getY()<20||e.getY()>300){ return; } if(x1%20>10){ x1+=10; } if(y1%20>10){ y1+=10; } x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); m*=(-1); } publicvoidactionPerformed(ActionEvente){ Graphicsg=getGraphics(); if(e.getSource()==b1){ Game_start(); } else{ Game_re(); } if(e.getSource()==exist){ Game_re();// color_Qizi=m; lblWin.setText(Get_qizi_color(color_Qizi)+"輸了!"); intGame_Start=0; } } publicvoidmouseEntered(MouseEvente){} publicvoidmouseExited(MouseEvente){} publicvoidmouseReleased(MouseEvente){} publicvoidmouseDragged(MouseEvente){} publicvoidmouseMoved(MouseEvente){} publicvoidpaint(Graphicsg){ draw_qipan(g); } publicvoidset_Qizi(intx,inty){//落子 if(intGame_Start==0){//判斷游戲未開始 return; } if(intGame_Body[x/20][y/20]!=0){ return; } Graphicsg=getGraphics(); if(color_Qizi==1){//判斷黑子還是白子 g.setColor(Color.black); color_Qizi=0; } else{ g.setColor(Color.white); color_Qizi=1; } g.fillOval(x-10,y-10,20,20); intGame_Body[x/20][y/20]=color_Qizi+1; if(Game_win_1(x/20,y/20)){//判斷輸贏1 lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_2(x/20,y/20)){//判斷輸贏2{ lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_3(x/20,y/20)){//判斷輸贏3 lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } if(Game_win_4(x/20,y/20)){//判斷輸贏4 lblWin.setText(Get_qizi_color(color_Qizi)+"贏了!"); intGame_Start=0; } } publicStringGet_qizi_color(intx) { if(x==0) { return"黑子"; } else { return"白子"; } } publicvoiddraw_qipan(GraphicsG){//畫棋盤15*15 G.setColor(Color.lightGray); G.fill3DRect(10,10,300,300,true); G.setColor(Color.black); for(inti=1;i<16;i++){ G.drawLine(20,20*i,300,20*i); G.drawLine(20*i,20,20*i,300); } } publicvoidGame_start(){//游戲開始 intGame_Start=1; Game_btn_enable(false); b2.setEnabled(true); } publicvoidGame_start_csh(){//游戲開始初始化 intGame_Start=0; Game_btn_enable(true); b2.setEnabled(false); ckbHB[0].setState(true); for(inti=0;i<16;i++){ for(intj=0;j<16;j++){ intGame_Body[i][j]=0; } } lblWin.setText(""); } publicvoidGame_re(){//重新開始游戲 repaint(); Game_start_csh(); } publicvoidGame_btn_enable(booleane){//設置組件狀態(tài) b1.setEnabled(e); b2.setEnabled(e); ckbHB[0].setEnabled(e); ckbHB[1].setEna
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款合同具有哪些法律特征
- 2025年云南b2貨運資格證全題
- 人事代理招聘與委托培養(yǎng)合同協(xié)議
- 在線教育平臺建設和運營指南
- 建設工程勞務大清合同
- 售后技術支持服務協(xié)議
- 華爾產權交易所網站使用協(xié)議模板6篇
- 奶牛養(yǎng)殖售賣合同范本
- 柬埔寨qc合同范本
- 雙方土地買賣合同范本
- 全套教學課件《工程倫理學》
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- 2024年山東經貿職業(yè)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 清華大學考生自述
- DB33_T 2352-2021鄉(xiāng)鎮(zhèn)運輸服務站設置規(guī)范(可復制)
- 專升本高等數(shù)學的講義80頁PPT課件
- 特種設備停用報廢注銷申請表
- 糖尿病酮癥酸中毒ppt課件
- 五年級下冊英語課件--Lesson--7《Arriving-in-Beijing-》|冀教版-(三起)-(共21張PPT)
- 武發(fā)[2004]13關于積極推進“ 城中村”綜合改造工作的意見
- 2019福建省物業(yè)管理條例
評論
0/150
提交評論