已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
仲 愷 農(nóng) 業(yè) 工 程 學(xué) 院課 程 設(shè) 計 報 告課程名稱: 數(shù)據(jù)結(jié)構(gòu) 院(系): 計算機(jī)科學(xué)與工程專 業(yè):計算機(jī)科學(xué)與技術(shù)班 級: 計算機(jī)102班 學(xué) 號: 201010214203 姓 名: 指導(dǎo)老師: 成筠 目 錄題目(一) 需求和規(guī)格說明:問題描述,即題目要解決的問題是什么(二) 算法設(shè)計(包括程序流程圖,如函數(shù)功能、入口及出口參數(shù)說明,函數(shù)調(diào)用關(guān)系描述等)(三) 詳細(xì)設(shè)計(源程序清單,要包括足夠的注釋)(四) 調(diào)試分析(包括調(diào)試數(shù)據(jù)與調(diào)試結(jié)果)(五) 課程設(shè)計總結(jié)(包括程序中遇到的問題及解決方案,以及課程設(shè)計收獲)題目 斗地主游戲(簡單版)(一) 需求和規(guī)格說明:問題描述,即題目要解決的問題是什么系統(tǒng)基本要求:具備基本的界面形式及操作功能具備基本的AI能力解決問題:(1) 以MFC作為程序框架(2) 圖片以位圖的形式出現(xiàn),并進(jìn)行基本的界面操作(3) 以鏈表及廣義表等形式(C+封裝好的),進(jìn)行數(shù)據(jù)的操作(4) 設(shè)計了簡單的AI函數(shù),用以對游戲的進(jìn)行,判斷等(二) 算法設(shè)計(包括程序流程圖,如函數(shù)功能、入口及出口參數(shù)說明,函數(shù)調(diào)用關(guān)系描述等)整體框架CAboutDlg 類CMainFranme 類CApp 類CDoc 類CView 類 MFC單文檔程序的基本框架 作為整個程序的框架結(jié)構(gòu) 主要用到View類 Doc類也用到一些注:此處只出現(xiàn)自定義函數(shù),且具體操作省略Doc類中在構(gòu)造函數(shù)中對委位圖信息進(jìn)行了初次讀取View類中 小功能函數(shù)Choose_Brand () 進(jìn)行數(shù)據(jù)的刪減,一般與continuation聯(lián)用continuation () 得到制定牌型的開始號碼 聯(lián)用seek_max ()machine () 在對應(yīng)的牌組里面找出該下的牌是否連續(xù)OnDraw()OnButton1Clicked()split () 拆分關(guān)聯(lián)器,得到需要的部分用于order函數(shù)操作order () 判斷處理后的牌是否連續(xù)judge_game () 判斷點(diǎn)擊輸出的值是否正確,獲得當(dāng)前所下的牌型,用Brand_size存儲 OnLButtonDown():響應(yīng)鼠標(biāo)左鍵點(diǎn)擊的消息,傳遞坐標(biāo) 傳遞坐標(biāo),用以判斷JudgeRect ()判斷出所點(diǎn)擊的地方是否為卡牌位圖 OnDraw():窗口重繪時調(diào)用,桌面表示都在這里實(shí)現(xiàn) 調(diào) 提供數(shù)據(jù),在桌面上表示提供數(shù)據(jù),在桌面上表示OnButton2Clicked ():響應(yīng)第二個按鈕點(diǎn)擊的消息,表示不出,同時,對哪判斷哪方出牌(即兩個機(jī)器方),同時出牌OnButton1Clicked ():響應(yīng)第一個按鈕點(diǎn)擊的消息,表示是否出牌,同時判斷所出牌是否正確點(diǎn)擊第二個按鈕OnCreate():窗口創(chuàng)建時調(diào)用,在桌面上顯示兩個按鈕點(diǎn)擊第一個按鈕 (三) 詳細(xì)設(shè)計(源程序清單,要包括足夠的注釋)斗地主游戲(簡單版)源程序(部分)如下:注:由于具體框架為程序自主產(chǎn)生,在這里不再出現(xiàn),只列出View類函數(shù),程序中綠色程序代碼為實(shí)驗(yàn)中出錯的部分或者驗(yàn)證部分/ 試驗(yàn)品View.cpp : C試驗(yàn)品View 類的實(shí)現(xiàn)/#include stdafx.h#include 試驗(yàn)品.h#include 試驗(yàn)品Doc.h#include 試驗(yàn)品View.h#includealgorithm#includeCtime#includevector#ifdef _DEBUG#define new DEBUG_NEW#endif/ C試驗(yàn)品ViewIMPLEMENT_DYNCREATE(C試驗(yàn)品View, CView)BEGIN_MESSAGE_MAP(C試驗(yàn)品View, CView)/ 標(biāo)準(zhǔn)打印命令ON_COMMAND(ID_FILE_PRINT, &CView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView:OnFilePrintPreview)ON_WM_LBUTTONDOWN()ON_WM_CREATE()ON_BN_CLICKED(IDB_BUTTON1,OnButton1Clicked)ON_BN_CLICKED(IDB_BUTTON2,OnButton2Clicked)END_MESSAGE_MAP()/ C試驗(yàn)品View 構(gòu)造/析構(gòu)C試驗(yàn)品View:C試驗(yàn)品View(): m_point(0), width(0), height(0), x_machine(0), current_player(0)/ TODO: 在此處添加構(gòu)造代碼 for(int j=0;j20;j+)m_keyj=j+1;for(int i=3;i16;i+)for(int j=0;jGetWindowRect(rcWksMng);height=rcWksMng.bottom-rcWksMng.top;/得到當(dāng)前窗口大小,當(dāng)時為什么位圖大小無法改變width=rcWksMng.right-rcWksMng.left;CDC MemDC;MemDC.CreateCompatibleDC(NULL);MemDC.SelectObject(pDoc-m_Beijing);pDC-StretchBlt(0,0,width,height,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY);/按照第一二參數(shù)為原點(diǎn)坐標(biāo),第三四為變化后的寬高,第四為文件句柄指針,后面是原來的 /在OnDraw中可以直接用pDC,但是在其他呢?MemDC.SelectObject(pDoc-m_Bitmap);int width0=width/25;int height0=height/25;pDC-SetStretchBltMode(COLORONCOLOR);/防止失色for(int i=0;iStretchBlt(width0,height-7*height0-i*height0,3*width0,3*height0,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY); for(int i=0;iStretchBlt(width-4*width0,height-7*height0-i*height0,3*width0,3*height0,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY); int t=0,i=0,j=0,k=0;std:vector B_m;/CBitmap 數(shù)組為什么無法相互賦值,而list,vector類型的確需要指針呢for(std:vector:reverse_iterator riter=vec_game.rbegin();riter!=vec_game.rend();riter+)/游戲方牌組所對應(yīng)的CBitmap值if(*riterm)+j);t=*riter;int p=JudgeRect(m_point);if(p!=-1)/點(diǎn)擊桌面的牌牌時,促使彈起for(i=0;iStretchBlt(2*width0+i*width0,height-3*height0,3*width0,3*height0,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY);elsepDC-StretchBlt(2*width0+i*width0,height-4*height0,3*width0,3*height0,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY);elsefor(i=0;iStretchBlt(2*width0+i*width0,height-3*height0,3*width0,3*height0,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY); if(i!=B_m.size()-1) CRectr(2*width0+i*width0,height-3*height0,2*width0+(i+1)*width0,height-3*height0+pDoc-m_nHeight); recti=r; else CRectr(2*width0+i*width0,height-3*height0,2*width0+i*width0+pDoc-m_nWidth,height-3*height0+pDoc-m_nHeight); recti=r; for(i=0;i20;i+)m_npi=0;/表示出所出的牌到桌面上t=0,i=0,j=0,k=0;std:vector BB_m;/CBitmap 數(shù)組為什么無法相互賦值,而list,vector類型的確需要指針呢for(std:vector:reverse_iterator riter=vec_chu.rbegin();riter!=vec_chu.rend();riter+)/游戲方所出得牌組所對應(yīng)的CBitmap值if(*riterm)+j);t=*riter;for(i=0;iStretchBlt(5*width0+i*width0,height-7*height0,3*width0,3*height0,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY);if(x_machine!=0)/之所以把current_player=1或者后的操作寫在外面,是因?yàn)椋?dāng)鼠標(biāo)點(diǎn)擊到飛按鈕區(qū)域時圖片依然存在std:multimap mp_machine,pm_machine,mmpp,ppmm;std:multimap:size_type st;std:multimap:iterator iter_machine;if(current_player=1)transition(mp_machine,pm_machine,vec1); vcc.clear();/需要消去原來的元素,避免元素疊加 machine(vec1,mp_machine,pm_machine);elsetransition(mp_machine,pm_machine,vec2); vcc.clear(); machine(vec2,mp_machine,pm_machine);transition(mmpp,ppmm,vcc);judge_game(mmpp,ppmm,vcc); x_machine=0; if(current_player=1)/當(dāng)一比二先下時的情況,包含接下來得二所要下的形式 std:vector B_m1;/CBitmap 數(shù)組為什么無法相互賦值,而list,vector類型的確需要指針呢i=3; for(std:vector:reverse_iterator riter=vcc.rbegin();riter!=vcc.rend();riter+) /游戲方牌組所對應(yīng)的CBitmap值if(*riterm)+j); t=*riter; for(i=0;iStretchBlt(5*width0+i*width0,height-11*height0,3*width0,3*height0,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY); /以下是,機(jī)器一后,判斷機(jī)器二是否有下,如果有則進(jìn)行處理,可以加入更多的只能 std:map c; c=Brand_size.begin()-first; int x=c.begin()-first; int y=c.begin()-second; int z=Brand_size.begin()-second; int xx=0; std:multimap mmm,ppp; transition(mmm,ppp,vec2); xx=continuation(mmm,z,y,x);/表示機(jī)器二是否有牌 if(xx=0) current_player=1;/當(dāng)二下次無法找到牌時,就在桌面上保持一的存在 else current_player=2; if(xx!=0) if(x=1&vec2.size()3)|(x=2&vec2.size()5)|(x=1&z2)|(x=2&z4) std:multimap mp_machine,pm_machine,mmpp,ppmm; std:multimap:size_type st; std:multimap:iterator iter_machine; transition(mp_machine,pm_machine,vec2); vcc.clear(); machine(vec2,mp_machine,pm_machine);/功能是除去vec2中的元素到vcc中作為圖片載入的依據(jù) transition(mmpp,ppmm,vcc); judge_game(mmpp,ppmm,vcc);/改變Brand_size的數(shù)值,保持與當(dāng)時下牌方一致 if(current_player=2)/二下牌后的圖片顯示 std:vector B_m1;/CBitmap 數(shù)組為什么無法相互賦值,而list,vector類型的確需要指針呢i=3;/因?yàn)闀r間緣故,且不知道怎么判斷花色,所以就直接的玩家下的牌就從前面順序在m中找出CBitmap而兩個機(jī)器就直接從后面算起,所以i=3; for(std:vector:reverse_iterator riter=vcc.rbegin();riter!=vcc.rend();riter+) /游戲方牌組所對應(yīng)的CBitmap值if(*riterm)+j); t=*riter; for(i=0;iStretchBlt(5*width0+i*width0,height-15*height0,3*width0,3*height0,&MemDC,0,0,pDoc-m_nWidth,pDoc-m_nHeight,SRCCOPY); current_player=2;/使得機(jī)器二能夠在桌面上保持顯示,直到二沒有牌下,也作為玩家不要時,下牌者的判斷依據(jù)/ TODO: 在此處為本機(jī)數(shù)據(jù)添加繪制代碼/ C試驗(yàn)品View 打印BOOL C試驗(yàn)品View:OnPreparePrinting(CPrintInfo* pInfo)/ 默認(rèn)準(zhǔn)備return DoPreparePrinting(pInfo);void C試驗(yàn)品View:OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: 添加額外的打印前進(jìn)行的初始化過程void C試驗(yàn)品View:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: 添加打印后進(jìn)行的清除過程/ C試驗(yàn)品View 診斷#ifdef _DEBUGvoid C試驗(yàn)品View:AssertValid() constCView:AssertValid();void C試驗(yàn)品View:Dump(CDumpContext& dc) constCView:Dump(dc);C試驗(yàn)品Doc* C試驗(yàn)品View:GetDocument() const / 非調(diào)試版本是內(nèi)聯(lián)的ASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(C試驗(yàn)品Doc);return (C試驗(yàn)品Doc*)m_pDocument;#endif /_DEBUG/ 判斷點(diǎn)是否在矩形里面,返回對應(yīng)矩形號int C試驗(yàn)品View:JudgeRect(CPoint point)if(point.xrect19.right|point.yrect0.bottom)for(int i=0;i20;i+)/需要這個否則點(diǎn)擊隨意后其他雖然彈入,但是當(dāng)點(diǎn)其他時,還是會重新彈出,同時,不進(jìn)行賦值的話,第一次點(diǎn)擊不會彈出因?yàn)榈谝淮螘r,下面的if語句會直接先賦值,即點(diǎn)擊后還是按照原來的圖片形式m_npi=0;return -1;for(int i=0;irecti.left&point.xrecti.top&point.yrecti.bottom)if(m_npi)m_npi=0;elsem_npi=1;return i;return -1;int C試驗(yàn)品View:OnCreate(LPCREATESTRUCT lpCreateStruct)if (CView:OnCreate(lpCreateStruct) = -1)return -1;/ TODO: 在此添加您專用的創(chuàng)建代碼int w=width/25;int h=height/25;/m_Button1.Create(_T(出牌),WS_CHILD | BS_PUSHBUTTON | WS_BORDER,/vs2005本身問題,需要把char 轉(zhuǎn)換為LPCTSTR類型m_Button1.Create(_T(出牌),WS_CHILD|BS_PUSHBUTTON|WS_VISIBLE|WS_BORDER,CRect(400,20,480,60),this,IDB_BUTTON1);m_Button2.Create(_T(不出),WS_CHILD | BS_PUSHBUTTON |WS_VISIBLE | WS_BORDER,CRect(500,20,580,60),this,IDB_BUTTON2);return 0;void C試驗(yàn)品View:OnButton1Clicked()int i,x1,y1,z1;int t=0;std:vector vec;/CString s;s.Formatstd:vector:reverse_iterator riter=vec_game.rbegin();std:map c1;if(current_player=1|current_player=2)c1=Brand_size.begin()-first; x1=c1.begin()-first; y1=c1.begin()-second; z1=Brand_size.begin()-second;std:multimap mp,pm;for(i=0;i20;i+)if(m_npi=1)vec.push_back(*(riter+i);t=1;if(t=0)MessageBox(_T(請選擇輸出的牌);elsestd:sort(vec.begin(),vec.end(); transition(mp,pm,vec); judge_game(mp,pm,vec);std:map c; c=Brand_size.begin()-first;int x=c.begin()-first;int y=c.begin()-second;int z=Brand_size.begin()-second;if(current_player=1|current_player=2)if(x1!=x)|(y1!=y)|(!(z1z)MessageBox(_T(請重新選擇輸出的牌);std:map t;t.insert(std:map:value_type(x1,y1);Brand_size.clear();Brand_size.insert(std:mapstd:map,int:value_type(t,z1);x=0;y=0;z=0;InvalidateRect(FALSE);if(x!=0&y!=0&z!=0)i=vec_game.size()-1;vec_chu.clear();for(std:vector:iterator iter=vec_game.begin();iter!=vec_game.end();i-)/減去游戲者所下的牌if(m_npi=1)vec_chu.push_back(*iter);iter=vec_game.erase(iter);elseiter+;std:multimap mmm,ppp,mmm1,ppp1; transition(mmm,ppp,vec1); x_machine=continuation(mmm,z,y,x);/表示機(jī)器一是否有牌if(x_machine=0)/如果一有下,則調(diào)用一下地情況transition(mmm1,ppp1,vec1); x_machine=continuation(mmm1,z,y,x);/表示機(jī)器二是否有牌if(x_machine=0)/否則,調(diào)用二下的情況,可以加入一些智能current_player=0;elsecurrent_player=2; elsecurrent_player=1;/表示機(jī)器出牌/x_machine=1;InvalidateRect(FALSE);/傳遞窗口重繪的消息該OnDraw()/CString str;/ str.Format(_T(%d,%d,%d,x,y,z);想用這個調(diào)式看結(jié)果但是誰讓對了,但是輸出不對,到底該怎么用呢/MessageBox(str);void C試驗(yàn)品View:OnButton2Clicked()std:vector:iterator ir;std:map t;int d,k;if(current_player=1)ir=vec1.begin();d=*ir;k=std:count(vec1.begin(),vec1.end(),d);if(k=1)vcc.clear();vcc.push_back(d);vec1.erase(ir);t.insert(std:map:value_type(k,1); Brand_size.clear(); Brand_size.insert(std:mapstd:map,int:value_type(t,d);if(k=2)vcc.clear();vcc.push_back(d);vcc.push_back(d);ir=vec1.erase(ir);vec1.erase(ir);t.insert(std:map:value_type(2,1); Brand_size.clear(); Brand_size.insert(std:mapstd:map,int:value_type(t,d);if(current_player=2)ir=vec2.begin();d=*ir;k=std:count(vec2.begin(),vec2.end(),d);if(k=1)vcc.clear();vcc.push_back(d);vec2.erase(ir,ir+1);t.insert(std:map:value_type(k,1); Brand_size.clear(); Brand_size.insert(std:mapstd:map,int:value_type(t,d);if(k=2)vcc.clear();vcc.push_back(d);vcc.push_back(d);ir=vec2.erase(ir,ir+2);/vec2.erase(ir);t.insert(std:map:value_type(2,1); Brand_size.clear(); Brand_size.insert(std:mapstd:map,int:value_type(t,d);/ 得到連續(xù)的牌號(與order的區(qū)別在于,order只是判斷所給的數(shù)據(jù)是不是符合,而這個函數(shù)則是找遍關(guān)聯(lián)器直到找到或者都找完為止)int C試驗(yàn)品View:continuation(std:multimap mmp, int d, int k, int wc)/得到連續(xù)的牌號(與order的區(qū)別在于,order只是判斷所給的數(shù)據(jù)是不是符合,而這個函數(shù)則是找遍關(guān)聯(lián)器直到找到或者都找完為止)int n=1,i;/n是用來記錄iter運(yùn)行到哪個數(shù),用在判斷剩下的數(shù)夠不夠再進(jìn)行一次循環(huán)判斷std:multimap:iterator iter=mmp.begin();std:multimap m;int j=0;int initial_number=0;for(i=0;ifirstd)break;n+;iter+;/當(dāng)iter-firstd時,需要不斷地加iter找到最小的大于數(shù)if(i=mmp.size()/找不到跳出return 0;while(1)if(mmp.size()-n+1/*加一是因?yàn)槊看味际窃谏洗尾荒苓B續(xù)點(diǎn)開始的,所以剩下的數(shù)必須加上原來的一個點(diǎn)*/)first;/作為開始點(diǎn)/if(initial_number10)/當(dāng)開始點(diǎn)大于時會出現(xiàn),但是(即對應(yīng)的)是不能出現(xiàn)的/return 0;m.clear();/每次都要把存儲判斷數(shù)組清零for(j=iter-first;jfirst+k;j+)m.insert(std:multimap:value_type(j,j);/組建判斷數(shù)組,iter無法加k,只能重載自加運(yùn)算符 int cnt=0;std:multimap:iterator it=m.begin(); while(/*(+iter)!=m.end()&*/mmp.find(it-first)/*得到對應(yīng)鍵*/!=mmp.end()/判斷數(shù)據(jù)是否連續(xù)/*得到iter+,每次都指向下一個,必須在前面,因?yàn)閕t不符合時,必須跳過,但是iter必須是下一個*/iter+;/if(iter=m.end()/為什么無法這樣呢,無法用m.end()與之相等/break;if(wcmmp.find(it-first)-second)/有這個判斷,可以得到連續(xù)的雙或者三iter+;/本意是指向下一個(因?yàn)樵瓉碛屑?,但是后來下面又減了,所以要加,n+;/指向下一個break;+cnt; +it;n+;/每次都指向下一個 if(cnt=k)/記錄,是否連續(xù)的關(guān)鍵return initial_number;iter-;/加上這個是因?yàn)?,?dāng)出現(xiàn)不符合。find()時,iter還是會加一,也就是在不連續(xù)點(diǎn)的下一個點(diǎn),所以需要返回到不連續(xù)點(diǎn)處return 0;/ /刪去下一次出牌方下的牌,與continuation()連用,分別是判斷(上面只是判斷連續(xù)的方面),取牌initial_number/*開始的牌號*/,continuation_number/*連續(xù)量*/,suit_patterns/*是雙是單還是三,四的*/void C試驗(yàn)品View:Choose_Brand(std:vector & vc,std:vector & c,int initial_number/*開始的牌號*/,int continuation_number/*連續(xù)量*/,int suit_patterns/*是雙是單還是三,四的*/)/刪去下一次出牌方下的牌,與continuation()連用,分別是判斷(上面只是判斷連續(xù)的方面),取牌int d=initial_number,i;for(i=0;icontinuation_number;i+)std:vector:iterator iter=std:find(vc.begin(),vc.end(),initial_number+);for(int j=0;jsuit_patterns;j+)c.push_back(*iter);iter=vc.erase(iter);/ 拆分關(guān)聯(lián)器,得到需要的部分用于操作,注意這里輸入的要是以牌數(shù)為鍵值的pm因?yàn)橹挥幸耘茢?shù)為鍵值的在后面才是牌數(shù)最多的牌號std:multimap C試驗(yàn)品View:split(std:multimap pmm, int k)std:multimap:iterator iter=pmm.begin();for(int i=0;ik;i+)iter+;/iter=iter+1; multimap的迭代器不能使用加減號,只能自增自減/iter=iter+k-1;std:multimap m;dom.insert(std:multimap:value_type(iter-second,iter-first);/輸出時是按照牌號為鍵值的,所以需要倒過來iter+;while(iter!=pmm.end();return m;/ /判斷不重復(fù)后的牌組,是否連續(xù)int C試驗(yàn)品View:order(std:
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度辦公室裝修與家具采購一體化合同范本3篇
- 初中音樂教學(xué)論文六篇
- 小班清明節(jié)語言課程設(shè)計
- 自控課程設(shè)計校正概論
- 網(wǎng)絡(luò)工程課程設(shè)計項(xiàng)目
- 電子鐘課程設(shè)計微機(jī)原理
- 智能榨汁機(jī)課程設(shè)計
- 2024綜合安全生產(chǎn)年終個人工作總結(jié)(30篇)
- 《高科技武器》課件
- 2024年職業(yè)技能鑒定中級題庫
- 2024-2030年中國電子級四氟化硅行業(yè)風(fēng)險評估及未來全景深度解析研究報告
- JGJ106-2014建筑基樁檢測技術(shù)規(guī)范
- 中考字音字形練習(xí)題(含答案)-字音字形專項(xiàng)訓(xùn)練
- 四柱萬能液壓機(jī)液壓系統(tǒng) (1)講解
- JTT 1501-2024 潛水作業(yè)現(xiàn)場安全監(jiān)管要求(正式版)
- 家鄉(xiāng)土特產(chǎn)電商營銷策劃方案(2篇)
- CTD申報資料撰寫模板:模塊三之3.2.S.4原料藥的質(zhì)量控制
- 汽車標(biāo)準(zhǔn)-商用車輛前軸總成
- 個人貸款月供款計算表模板
- 先玉335玉米品種介紹課件講解
- (正式版)JTT 1482-2023 道路運(yùn)輸安全監(jiān)督檢查規(guī)范
評論
0/150
提交評論