




已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言課程設(shè)計(jì)-黃金礦工一、實(shí)驗(yàn)內(nèi)容玩家通過(guò)鍵盤的按鍵控制礦工抓取金塊,將鉤子碰觸到的金塊抓取過(guò)來(lái)。要求如下:1. 游戲的初始界面如下圖(一),單機(jī)鍵盤上的空格鍵進(jìn)入游戲,進(jìn)入后界面如圖(二),金塊的總數(shù)是20,大小位置是隨機(jī)的。2. 在沒有抓取狀態(tài)下,鉤子左右擺動(dòng),此時(shí)礦工的是靜止的。當(dāng)鉤子擺動(dòng)到一定角度,玩家可以單擊鍵盤上的上下左右鍵中的下方向鍵控制礦工伸出長(zhǎng)鉤,抓取金子,此時(shí)礦工是向下?lián)u動(dòng)轉(zhuǎn)軸。獲取到金子往回拉后,礦工是不斷轉(zhuǎn)動(dòng)轉(zhuǎn)軸,知道金子拉動(dòng)到鉤子初始處,礦工恢復(fù)靜止,鉤子繼續(xù)左右搖擺,直到玩家再次單擊向下方向鍵。3. 伸出的鉤子如果碰觸到金子,則鉤子和金子一起往回拉,回收的速度根據(jù)抓取到的金子的大小變化而變化,金子越大,回拉的速度越慢,反之亦然。如果鉤子沒有碰觸到金子,而是碰觸到左右和下的邊界,則鉤子保持原來(lái)的速度往回收。4. 抓取到的金子拉回到轉(zhuǎn)軸處消失,此時(shí)金子數(shù)目減少一個(gè)。如果玩家將所有金子抓取完,游戲返回到如圖(一)的初始界面。圖(一)圖(二)二、實(shí)驗(yàn)指南實(shí)驗(yàn)一 開始實(shí)驗(yàn)【實(shí)驗(yàn)任務(wù)】步驟一、打開FunCode,創(chuàng)建一個(gè)的C語(yǔ)言項(xiàng)目;步驟二、導(dǎo)入Goldman模板?!緦?shí)驗(yàn)思路】按實(shí)驗(yàn)指導(dǎo)完成?!緦?shí)驗(yàn)指導(dǎo)】1、 打開FunCode,點(diǎn)擊“項(xiàng)目”菜單,選擇“創(chuàng)建C語(yǔ)言工程”注意:工程名名稱要求字母開頭,只能包含字母和數(shù)字,且名字中間不能有空格。2、 點(diǎn)擊菜單“項(xiàng)目”中的“導(dǎo)入地圖模塊”,如圖一。跳出一個(gè)對(duì)話框,選中“Goldman”模板,點(diǎn)擊“導(dǎo)入到工程”按鈕,如圖二。 圖 一 圖 二3、 導(dǎo)入成功后的,界面如下圖所示:實(shí)驗(yàn)二 單擊空格鍵,開始游戲【實(shí)驗(yàn)內(nèi)容】步驟、啟動(dòng)游戲顯示“空格開始”,單擊空格鍵進(jìn)入游戲初始界面。【實(shí)驗(yàn)思路】系統(tǒng)會(huì)自動(dòng)響應(yīng)dOnKeyDown函數(shù)來(lái)響應(yīng)鍵盤按下消息,這部分代碼實(shí)現(xiàn)在main.cpp里。我們要做的就是通過(guò)在main.cpp的dOnKeyDown函數(shù)里實(shí)現(xiàn)我們的代碼。當(dāng)用戶單擊鍵盤上的空格鍵之后,設(shè)置GameBegin即“空格開始”精靈不可見。【實(shí)驗(yàn)指導(dǎo)】1、 首先游戲會(huì)有不同的游戲狀態(tài),我們?cè)O(shè)置全局變量g_iGameState,分別用游戲狀0 表示游戲結(jié)束等待開始狀態(tài);游戲狀態(tài)1表示按下空格鍵開始,初始化游戲;游戲狀態(tài)2表示游戲進(jìn)行中;2、 有了以上游戲狀態(tài)的定義,我們就可以將游戲的主流程寫出來(lái);由于游戲是一直進(jìn)行的,所以一下要寫在while循環(huán)當(dāng)中:switch( g_iGameState )/ 初始化游戲,清空上一局相關(guān)數(shù)據(jù)case 1:GameInit();g_iGameState=2; / 初始化之后,將游戲狀態(tài)設(shè)置為進(jìn)行中break;/ 游戲進(jìn)行中,處理各種游戲邏輯case 2:/ 金子數(shù)量大于0的時(shí)候,繼續(xù)游戲if( g_iGoldCount 0 )GameRun( fTimeDelta );else/ 游戲結(jié)束。調(diào)用游戲結(jié)數(shù)函數(shù)并把游戲狀態(tài)修改為結(jié)束狀態(tài)g_iGameState=0;GameEnd(); break;/ 游戲結(jié)束/等待按空格鍵開始case 0:default:break;這是游戲的總體框架,那么我們就來(lái)完成這個(gè)游戲;3、 我們已經(jīng)知道,系統(tǒng)會(huì)自動(dòng)檢測(cè)鍵盤的按下消息,即main.cpp里面的dOnKeyDown函數(shù)。系統(tǒng)會(huì)捕獲按下什么鍵,是否同時(shí)按下Alt鍵或Shift鍵或Ctrl鍵,通過(guò)dOnKeyDown的參數(shù)傳遞進(jìn)來(lái),供編程者使用。4、 鍵盤的鍵值我們通過(guò)枚舉類型給出,其中空格對(duì)應(yīng)的鍵值為KEY_SPACE,所以當(dāng)ikey參數(shù)的值為KEY_SPACE且游戲的狀態(tài)為0,即g_iGameState的值為0,說(shuō)明用戶單擊了空格鍵,之后將g_iGameState的值改為1,說(shuō)明游戲開始,并且把“游戲開始”精靈隱藏掉。5、 如果是空格鍵按下,則說(shuō)明現(xiàn)在游戲開始,說(shuō)明游戲狀態(tài)進(jìn)入1,我們?cè)贕ameInit中調(diào)用dSetSpriteVisible函數(shù)將“空格開始”隱藏;這里我們就不在添加代碼。至此,實(shí)驗(yàn)二完成,單機(jī)空格鍵,“空格開始”消失,游戲進(jìn)入初始化狀態(tài)。實(shí)驗(yàn)三 鉤子左右搖擺【實(shí)驗(yàn)內(nèi)容】步驟、鉤子在等待抓取狀態(tài)下左右搖擺【實(shí)驗(yàn)思路】鉤子的擺動(dòng)實(shí)際是動(dòng)畫精靈以某個(gè)點(diǎn)為中心位置,在某個(gè)角度范圍來(lái)回旋轉(zhuǎn)。在FunCode中,游戲不斷刷新屏幕,每次時(shí)間為幾微秒,每次刷新相應(yīng)改變精靈的角度,就能達(dá)到旋轉(zhuǎn)的效果。游戲每刷新一次屏幕,while循環(huán)執(zhí)行一次,并且通過(guò)參數(shù)fTimeDelta把刷新屏幕的時(shí)間傳遞進(jìn)去。因此,在該函數(shù)中,通過(guò)精靈的旋轉(zhuǎn)速度、旋轉(zhuǎn)時(shí)間就可以獲得每個(gè)時(shí)刻,精靈的旋轉(zhuǎn)角度。最后,利用FunCode提供的API接口dSetSpriteRotation函數(shù),設(shè)置精靈每個(gè)時(shí)刻對(duì)應(yīng)的角度,從而獲得精靈旋轉(zhuǎn)的動(dòng)畫效果。具體到鉤子左右擺動(dòng),要考慮的因素有四個(gè):擺動(dòng)方向(從左往右、從右往左)、擺動(dòng)速度、擺動(dòng)時(shí)間、擺動(dòng)的角度范圍。定義兩個(gè)變量g_iHookRotToLeft表示鉤子當(dāng)前是往左擺動(dòng)還是往右擺動(dòng)( 1 右-左, 0 左-右 ),g_fHookRotation表示鉤子當(dāng)前轉(zhuǎn)動(dòng)的朝向。判斷當(dāng) g_iHookRotToLeft 不為0的時(shí)候(鉤子往左擺),將g_fHookRotation加上上面計(jì)算的本次旋轉(zhuǎn)的度數(shù)。如果g_fHookRotation大于180度,則將其改為180度,并且將g_iHookRotToLeft設(shè)置為0(往右擺)。往左到頭后,開始往右擺。往右擺與往左擺相反,但是算法是一致的定義變量g_iHookRotToLeft表示鉤子當(dāng)前是往左擺動(dòng)還是往右擺動(dòng)( 1 右-左, 0 左-右 )。定義變量g_fHookRotation表示鉤子當(dāng)前角度。當(dāng)前角度=擺動(dòng)速度擺動(dòng)時(shí)間。規(guī)定鉤子擺動(dòng)弧度,從左往右或從右往左正好都是擺動(dòng)到水平位置,因此鉤子擺動(dòng)角度的范圍正好是0, 180。從右往左擺時(shí),擺動(dòng)大于180度時(shí),設(shè)置當(dāng)前角度為180度,鉤子變?yōu)閺淖笸覕[。從左往右擺時(shí),擺動(dòng)小于0度時(shí),設(shè)置當(dāng)前就得為0度,鉤子變?yōu)閺挠蚁蜃髷[。【實(shí)驗(yàn)指導(dǎo)】1、 根據(jù)實(shí)驗(yàn)思路,為了實(shí)現(xiàn)鉤子左右搖擺,我們需要定義獲得金子的狀態(tài)、鉤子的角度、是否再往左方向擺動(dòng)、以及鉤子的坐標(biāo)點(diǎn)等全局變量,并且在初始化函數(shù)GameInit中進(jìn)行初始化2、 在Main.cpp文件中,定義GameRun函數(shù),要實(shí)現(xiàn)鉤子左右搖擺,則判斷當(dāng)g_iHookRotToLeft 不為0的時(shí)候(鉤子往左擺),將g_fHookRotation加上上面計(jì)算的本次旋轉(zhuǎn)的度數(shù)。如果g_fHookRotation大于180度,則將其改為180度,并且將g_iHookRotToLeft設(shè)置為0(往右擺)。往左到頭后,開始往右擺。往右擺與往左擺相反,但是算法是一致的。思路如下:1) 如果當(dāng)前為等待抓取狀態(tài),那么鉤子以一定的角速度左右搖擺,如果鉤子左擺的角度大于了180度,就給角度變量賦值為180度,并改變是否往左搖擺的變量為否,這樣鉤子就可以往右搖擺了;2) 如果往右搖擺的角度小于了0度,那么就給角度變量賦值為0度,并且改變是否往左搖擺的變量,這樣鉤子就可以不停的左右搖擺。到此實(shí)驗(yàn)三完成,游戲最開始鉤子左右搖擺動(dòng)作的實(shí)現(xiàn)了。實(shí)驗(yàn)四 顯示金子【實(shí)驗(yàn)內(nèi)容】步驟一、初始化金子實(shí)例步驟二、隨機(jī)顯示金子步驟三、保存初始化的每一個(gè)金子【實(shí)驗(yàn)思路】以我們?cè)趯?shí)驗(yàn)一中添加的一個(gè)金子精靈作為模板,定義好金子精靈數(shù)量,調(diào)用dCloneSprite函數(shù),使用一個(gè)for循環(huán)來(lái)復(fù)制金子。這里可以在for循環(huán)里面嵌入if判斷來(lái)實(shí)現(xiàn)復(fù)制不同大小的金子精靈,最后在地圖上隨機(jī)顯示金子精靈?!緦?shí)驗(yàn)指導(dǎo)】1、 在Main.cpp中添加要賦值金子的個(gè)數(shù)和金子分布的世界邊界的坐標(biāo)等全局變量;并在GameInit函數(shù)中添加代碼,初始化全局變量。2、 接著在使用if語(yǔ)句,以限定金子最終在地圖上的顯示范圍不能超過(guò)世界邊界,數(shù)字部分只是一個(gè)參考值,自己也可以定義在一個(gè)合理的范圍內(nèi)。/ 以下變量只需要初始化一次static intiInitedHookPos=0;if( 0 = iInitedHookPos )iInitedHookPos=1;/ 鉤子初始位置值初始化g_fHookStartPosX=dGetSpritePositionX( GoldHook );g_fHookStartPosY=dGetSpritePositionY( GoldHook );/ 金子可以出現(xiàn)的邊界范圍初始化g_iGoldBornMinX=dGetWorldLeft() + 5;g_iGoldBornMaxX=dGetWorldRight() - 5;g_iGoldBornMinY=dGetWorldTop() + 20;g_iGoldBornMaxY=dGetWorldBottom() - 5;3、 在if后面,我們需要用一個(gè)for循環(huán)來(lái)創(chuàng)建所有的金子。我們規(guī)定金子的大小為三種,用iSize來(lái)記錄,分別是iSize=4,iSize=6,iSize=8。數(shù)量的比例是10個(gè),6個(gè),4個(gè)(這個(gè)是在金子總數(shù)為20的前提下,如果總數(shù)不是20,根據(jù)比例創(chuàng)建)。我們可以再for循環(huán)里面通過(guò)if判斷循環(huán)變量iLoop的大小范圍為創(chuàng)建不同大小的金子。設(shè)置金子大小的函數(shù)分別為SetSpriteWidth(設(shè)置寬度)dSetSpriteHeight(設(shè)置高度),最后使用FunCode提供的隨機(jī)函數(shù)隨機(jī)生成每個(gè)金子的(x,y)坐標(biāo)放入地圖:其中(float)iSize是類型轉(zhuǎn)換,因?yàn)閕Size是int型,而SetSpriteWidth函數(shù)的參數(shù)是float型,如果直接傳進(jìn)去可能會(huì)丟失數(shù)據(jù),所以需要先將int型轉(zhuǎn)換為float型。4、 最后添加下面代碼,恢復(fù)挖金者的動(dòng)作。/ 播放挖金者的動(dòng)作(恢復(fù)初始守候動(dòng)作)dAnimateSpritePlayAnimation( GoldMan, GolderManAnimation2, 0 );至此,實(shí)驗(yàn)四顯示金子的部分就完成了。實(shí)驗(yàn)五 抓取金子【實(shí)驗(yàn)內(nèi)容】步驟一、從纜繩器那里畫根線到鉤子上步驟二、檢測(cè)鉤子和金子的碰撞步驟三、實(shí)現(xiàn)金子綁定在鉤子上并往回拖步驟四、回拖之后使金子消失,金子數(shù)目減一【實(shí)驗(yàn)思路】從纜繩器畫線到鉤子上:在地圖上創(chuàng)建精靈的鏈接點(diǎn),然后獲取他們的坐標(biāo)位置,調(diào)用FunCode的dDrawLine函數(shù)即可。鉤子與金子的碰撞:系統(tǒng)檢測(cè)到兩者的碰撞之后會(huì)調(diào)用dOnSpriteColSprite函數(shù),所以我們只要在此函數(shù)中實(shí)現(xiàn)碰撞之后鉤子抓取金子的代碼就可以了。這里需要注意的是鉤子抓取金子之后的速度處理,抓的金子越大,鉤子回收的速度就會(huì)越慢?!緦?shí)驗(yàn)指導(dǎo)】1、 打開funcode,單擊地圖上的礦工精靈圖像,在顯示框的上面五個(gè)選擇左數(shù)第二個(gè)“編輯次精靈的鏈接點(diǎn)”,按如圖所示依次單擊這位置顯示0,保存即可。2、 同上,點(diǎn)擊地圖上的鉤子精靈,選擇“編輯此精靈的鏈接點(diǎn)”,依次單擊這三個(gè)位置顯示0,1,2,最后保存即可。3、 首先在Main.cpp中添加全局的字符數(shù)組變量,用它來(lái)存放抓到的金子的名字,并定義空鉤子在抓取金子的時(shí)候移向鉤子的速度變量,定義完成之后在GameInit中初始化;4、 精靈的碰撞方式為:當(dāng)A移動(dòng)中碰上B時(shí),如果A是可以產(chǎn)生碰撞的,B是可以接受碰撞的,則這2個(gè)物體會(huì)產(chǎn)生碰撞,精靈碰撞的API將被調(diào)用。否則無(wú)碰撞發(fā)生通過(guò)調(diào)用庫(kù)函數(shù)dSetSpriteCollisionSend設(shè)置鉤子可以發(fā)送碰撞,通過(guò)dSetSpriteCollisionReceive函數(shù)設(shè)置金子可以接收碰撞,這樣,當(dāng)在地圖上鉤子和金子相碰時(shí),系統(tǒng)就能檢測(cè)到。5、 首先實(shí)現(xiàn)從纜繩器畫線到鉤子。首先在Main.cpp進(jìn)行聲明:voidDrawHookLine();然后,添加函數(shù)的定義。畫線的原理是先獲取纜繩器的坐標(biāo)和鉤子的坐標(biāo),然后調(diào)用DrawLine函數(shù)即可。函數(shù)定義如下voidDrawHookLine()/ 首先,從礦工精靈上獲取一個(gè)纜繩鏈接點(diǎn)作為繩子的起始點(diǎn)(該鏈接點(diǎn)在編/ 輯器里編輯好)floatfStartX=dGetSpriteLinkPointPosX( GoldMan, 1 );floatfStartY=dGetSpriteLinkPointPosY( GoldMan, 1 );/ 繩子終點(diǎn)在鉤子精靈上獲取(該鏈接點(diǎn)在編輯器里編輯好)floatfEndX=dGetSpriteLinkPointPosX( GoldHook, 1 );floatfEndY=dGetSpriteLinkPointPosY( GoldHook, 1 );/ 在這兩點(diǎn)之間劃線.線的顏色紅綠藍(lán)值都為50,即灰色dDrawLine( fStartX, fStartY, fEndX, fEndY, 2.f, 0, 50, 50, 50, 255 );dDrawLine函數(shù)參數(shù)參見文檔前面部分的介紹或者是CommonAPI.h中關(guān)于dDrawLine的介紹。6、 main.cpp文件里面的主函數(shù)中的while循環(huán)每次調(diào)用GameMainLoop函數(shù)時(shí)能保證調(diào)用到DrawHookLine函數(shù),保證了鉤子與纜繩器之間的線是一直連著的。 在while循環(huán)的最后面添加如下代碼:/ 畫鉤子的纜繩線。不管游戲是什么狀態(tài),這根纜繩線都要畫出來(lái)DrawHookLine();7、 接下來(lái)要實(shí)現(xiàn)單擊鍵盤上的下方向鍵伸出鉤子。如實(shí)驗(yàn)二所說(shuō),系統(tǒng)檢測(cè)到鍵盤按下,會(huì)響應(yīng)main.cpp里面的dOnKeyDown函數(shù),向下方向鍵的宏定義是KEY_DOWN,因此我們只要判斷dOnKeyDown獲取的鍵值ikey等于它,并且游戲是正在進(jìn)行的(g_iGameState等于2),鉤子沒有抓到金子(g_iGetGoldState等于0)即可。之后利用系統(tǒng)提供的函數(shù)給鉤子一個(gè)向前的速度,在播放挖金者手臂往下壓的動(dòng)作即可。在main.cpp里面dOnKeyDown函數(shù)if后面添加如下代碼:/ 當(dāng)前處于游戲進(jìn)行中,按下向下的方向鍵,鉤子伸出抓取金子else if( KEY_DOWN = iKey & 2 = g_iGameState & 0 = g_iGetGoldState )/ 設(shè)置抓取狀態(tài)為:鉤子往外伸g_iGetGoldState=1;/ 以當(dāng)前朝向給鉤子一個(gè)向前的速度dSetSpriteLinearVelocityPolar(GoldHook,g_fEmptyHookSpeed, g_fHookRotation );/ 播放挖金者的動(dòng)作(一個(gè)胳膊往下壓的動(dòng)作)dAnimateSpritePlayAnimation( GoldMan, GolderManAnimation1, 0 );8、 實(shí)現(xiàn)鉤子抓金子的精靈與精靈碰撞事件。/ 首先判斷鉤子是否伸出,已經(jīng)游戲是否真在進(jìn)行,否則推出函數(shù):if( 2 != g_iGameState | 1 != g_iGetGoldState )return;/判斷是否是鉤子與金子進(jìn)行碰撞(即這兩個(gè)名字字符串里必須一個(gè)是金子名,一/個(gè)是鉤子名)if( stricmp(GoldHook,szSrcName)!=0&stricmp(GoldHook,szTarName)!=0)return;/ 找到哪個(gè)是金子的名字const char*szGoldName=NULL;if( strstr( szSrcName, GoldBlock ) )szGoldName = szSrcName;else if( strstr( szTarName, GoldBlock ) )szGoldName = szTarName;else return;9、 得到金子實(shí)例之后,使用FunCode給的綁定函數(shù)SpriteMountToSpriteLinkPoint()將金子綁定在鉤子上隨鉤子移動(dòng):/ 將金子掛接到鉤子的2號(hào)掛接點(diǎn)上dSpriteMountToSpriteLinkPoint( szGoldName, GoldHook, 2 );/ 設(shè)置抓取狀態(tài)為:鉤子往回收,抓取到東西。記錄金子名字g_iGetGoldState=3;strcpy( g_szCurGetGold, szGoldName );/ 根據(jù)金子大小,計(jì)算鉤子的往回收的速度,越大的越慢。/ 算法:之前設(shè)置的金子大小為4,6,8,用10減去該大小再除以10,得到3個(gè)小/ 數(shù):0.6,0.4,0.2.該小數(shù)乘以空鉤子的速度即得到掛接不同金子后的實(shí)際速度f(wàn)loatfWidth=dGetSpriteWidth( szGoldName );floatfSpeed=(10.f - fWidth) / 10.f) * g_fEmptyHookSpeed;/ 鉤子往初始位置移動(dòng)dSpriteMoveTo( GoldHook, g_fHookStartPosX, g_fHookStartPosY, fSpeed, 1);/ 播放挖金者的動(dòng)作(胳膊來(lái)回動(dòng)的動(dòng)作)dAnimateSpritePlayAnimation( GoldMan, GolderManAnimation3, 0 );10、 金子抓取之后回收到纜繩器之后,系統(tǒng)判斷鉤子的是否往回運(yùn)動(dòng),是的話判斷鉤子是否回到終點(diǎn),若是則調(diào)用dSpriteDismount函數(shù)取消金子與鉤子的綁定,同時(shí)調(diào)用dDeleteSprite函數(shù)刪除該金子精靈,再將金子精靈的總數(shù)減一。在GameRun函數(shù)后面添加如下代碼:/ 如果當(dāng)前為鉤子往回歸位,則判斷是否已經(jīng)運(yùn)動(dòng)到終點(diǎn)。到了終點(diǎn),則又開始搖/ 擺、等待else if( 2 = g_iGetGoldState | 3 = g_iGetGoldState )/ 判斷是否移動(dòng)到終點(diǎn)(判斷的依據(jù)是XY方向的移動(dòng)速度為0,即金子是否/ 已經(jīng)停止移動(dòng))floatfSpeedX=dGetSpriteLinearVelocityX( GoldHook );floatfSpeedY=dGetSpriteLinearVelocityY( GoldHook );/ 當(dāng)前速度不為0,還在運(yùn)動(dòng)中/ 浮點(diǎn)數(shù)是否為0,不能直接判斷 = != 0if( fSpeedX 0.00001f | fS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度北京市建筑行業(yè)勞動(dòng)合同培訓(xùn)與考核規(guī)范
- 拆除窗戶勞務(wù)合同范本
- 泵房土建施工合同范本
- 承包燒烤廚房合同范本
- 煤炭居間協(xié)議合同范本
- 項(xiàng)目epc模式合同范本
- 房產(chǎn)抵押轉(zhuǎn)讓合同范本
- 2025建筑工程項(xiàng)目合同簽訂適用的合同法規(guī)參考
- 2025年標(biāo)準(zhǔn)個(gè)人房屋租賃合同范本參考
- 高中地理第三章同步學(xué)案以畜牧業(yè)為主的農(nóng)業(yè)地域類型
- 【教學(xué)課件】鴿巢問(wèn)題整理和復(fù)習(xí)示范教學(xué)課件
- 幕墻工程驗(yàn)收質(zhì)量規(guī)范
- 小學(xué)科學(xué)蘇教三年級(jí)下冊(cè)3單元聲音的奧秘《聲音的傳播》教學(xué)設(shè)計(jì)
- 惡心嘔吐PPT精品課件
- 防汛物資臺(tái)賬參考模板范本
- 手足口病護(hù)理查房ppt
- 2022-2023學(xué)年人教版(2019)選擇性必修第二冊(cè) Unit 4 Journey Across a Vast Land Using Language-Listening課件(26張)
- ICD-O-3形態(tài)學(xué)編碼匯總
- 第4期一文打盡xps圖譜分析教程及在各領(lǐng)域的應(yīng)用avantage操作指南
- APQP培訓(xùn)試習(xí)題(含答案)
- 防雷安全管理制度(責(zé)任制)
評(píng)論
0/150
提交評(píng)論