




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、濱江學(xué)院 智能手機(jī)程序設(shè)計(jì)題 目 安卓智能手機(jī)貪吃蛇游戲設(shè)計(jì) 院 系 濱江學(xué)院計(jì)算機(jī)系專 業(yè) 信息工程 學(xué)生姓名 周盈偉 學(xué) 號(hào) 指導(dǎo)教師 高超 二0 一四 年 六 月 一日目錄第一章 緒論31.1開發(fā)背景31.1.1安卓系統(tǒng)簡(jiǎn)介31.1.2游戲簡(jiǎn)介31.2開發(fā)目的及意義41.3開發(fā)環(huán)境及工具4第二章需求分析52.1游戲界面分析52.2游戲角色分析52.3游戲控制分析52.4 可行性分析6第三章總體設(shè)計(jì)73.1系統(tǒng)功能模塊層次圖73.2運(yùn)行機(jī)制83.3貪吃蛇功能流程圖10第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)124.1 TiltView類124.2 SnakeView類144.3 界面設(shè)計(jì)16第五章 測(cè)試20
2、5.1游戲功能測(cè)試205.2游戲控制測(cè)試205.3游戲界面測(cè)試205.4測(cè)試結(jié)果20第六章結(jié)論21第一章 緒論1.1開發(fā)背景1.1.1安卓系統(tǒng)簡(jiǎn)介安卓系統(tǒng)作為新興的手機(jī)操作系統(tǒng),在問(wèn)世不久,變風(fēng)靡全球,占領(lǐng)手機(jī)操作系統(tǒng)里很大的市場(chǎng)份額,與蘋果,諾基亞三分天下,Android是基于Linux開放性內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機(jī)操作系統(tǒng)。 早期由原名為Android的公司開發(fā),谷歌在2005年收購(gòu)Android.Inc后,繼續(xù)對(duì)Android系統(tǒng)開發(fā)運(yùn)營(yíng),它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分。底層Linux內(nèi)核只提
3、供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),部分程序以Java編寫。1.1.2游戲簡(jiǎn)介1976年,Gremlin平臺(tái)推出了一款經(jīng)典街機(jī)游戲Blockade。游戲中,兩名玩家分別控制一個(gè)角色在屏幕上移動(dòng),所經(jīng)之處砌起圍欄。角色只能向左、右方向90度轉(zhuǎn)彎,游戲目標(biāo)保證讓對(duì)方先撞上屏幕或圍欄。聽起來(lái)有點(diǎn)復(fù)雜?其實(shí)就是下面這個(gè)樣子: 基本上就是兩條每走一步都會(huì)長(zhǎng)大的貪吃蛇比誰(shuí)后完蛋,玩家要做的就是避免撞上障礙物和越來(lái)越長(zhǎng)的身體。更多照片、視頻可以看 Games D Base 的介紹。 Blockade 很受歡迎,類似的游戲先后出現(xiàn)在 Atari 2600、TRS-80、蘋果 2 等早期游戲機(jī)、計(jì)算機(jī)
4、上。但真正讓這種游戲形式紅遍全球的還是21年后隨諾基亞手機(jī)走向世界的貪吃蛇游戲Snake。貪吃蛇游戲是一款老牌的手機(jī)游戲,同時(shí)也是一款比較需要耐心地游戲。貪吃蛇游戲就是一條小蛇,不停地在屏幕上游走,吃各個(gè)方向出現(xiàn)的食物,越吃越長(zhǎng)。只要蛇頭碰到屏幕四周,或者碰到自己的身子,小蛇就立即斃命。玩“貪吃蛇游戲”,難度最大的不是蛇長(zhǎng)得很長(zhǎng)的時(shí)候,而是開始的時(shí)候。那時(shí)蛇身很短,看上去難度不大,卻最容易死掉,因?yàn)榘淹嬉粭l小蛇讓人容易走神,失去耐心。1.2開發(fā)目的及意義通過(guò)本次課程設(shè)計(jì),了解android軟件的開發(fā)過(guò)程,熟悉并掌握J(rèn)AVA語(yǔ)言,HTML. 程序關(guān)鍵在于表示蛇的圖形及蛇的移動(dòng)。用一個(gè)小矩形快表示
5、蛇的一節(jié)身體,身體每長(zhǎng)一節(jié),增加一個(gè)矩形塊,蛇頭用倆節(jié)表示。移動(dòng)時(shí)必須從蛇頭開始,所以蛇不能向相反的方向移動(dòng),如果不按任意鍵,蛇自行在當(dāng)前方向上前移,但按下有效方向鍵后,蛇頭朝著該方向移動(dòng),一步移動(dòng)一節(jié)身體,所以按下有效方向鍵后,先確定蛇頭的位置,而后蛇的身體隨蛇頭移動(dòng),圖形的實(shí)現(xiàn)是從蛇頭新位置開始畫出蛇,這時(shí),由于未清屏的原因,原來(lái)的蛇的位置和新蛇的位置差一個(gè)單位,所以看起來(lái)蛇多一節(jié)身體,所以將蛇的最后一節(jié)用背景色覆蓋。食物的出現(xiàn)與消失也是畫矩形塊和覆蓋矩形塊。為了便于理解,定義兩個(gè)結(jié)構(gòu)體:食物與蛇 目的 本程序?qū)崿F(xiàn)主要技巧在于java語(yǔ)言的應(yīng)用。目的在于提高編程的水平。1.3開發(fā)環(huán)境及工具
6、采用eclipse開發(fā)工具,在windows xp下進(jìn)行,基于安卓2.2操作系統(tǒng)。環(huán)境搭建:1. JDK安裝2. Eclipse安裝3. Android SDK安裝4. ADT安裝創(chuàng)建AVD第二章 需求分析2.1游戲界面分析首先應(yīng)解決操作界面的問(wèn)題,操作界面應(yīng)該人性化設(shè)計(jì),提示玩家當(dāng)前游戲狀態(tài),何時(shí)開始,按什么按鍵開始游戲,開始游戲之后,在游戲界面中,以坐標(biāo)的形式對(duì)整體界面進(jìn)行劃分,將界面劃分為許多個(gè)小方格,還應(yīng)設(shè)計(jì)蛇的樣式,蘋果的樣式和墻的樣式,在蛇吃到蘋果后的樣式,還有游戲結(jié)束或暫停時(shí),界面的顯示,游戲結(jié)束后,要顯示所得的分?jǐn)?shù)。2.2游戲角色分析設(shè)置游戲貪吃蛇初始時(shí)由固定個(gè)小矩形塊組成,并
7、且,游戲中,要隨機(jī)出現(xiàn)由單個(gè)矩形塊構(gòu)成的蘋果,并且在設(shè)置蘋果的時(shí)候,還要設(shè)置,不能使將要出現(xiàn)的蘋果出現(xiàn)在蛇的身體之下,在蛇吃到蘋果的時(shí)候,要將蛇的身體加長(zhǎng),隨著游戲的進(jìn)行,蛇移動(dòng)的速度也要加快。此外,要判定游戲成功與失敗的條件,當(dāng)蛇的頭和尾相撞或者蛇的頭部撞到了墻上,則游戲失敗,此時(shí)游戲結(jié)束,界面顯示所得分?jǐn)?shù),當(dāng)累積分?jǐn)?shù)達(dá)到一定標(biāo)準(zhǔn)則游戲成功。另外蛇的移動(dòng)原理,由外部按鍵設(shè)置監(jiān)聽控制蛇頭的移動(dòng)方向,在方向的指引下進(jìn)行移動(dòng),蛇及蘋果的位置都是由坐標(biāo)數(shù)組確定的,蘋果的位置也是隨機(jī)產(chǎn)生的蛇的移動(dòng)原理是后一矩形塊覆蓋前一個(gè)矩形塊。當(dāng)一個(gè)蘋果被吃掉的時(shí)候,要自動(dòng)生成并顯示下一個(gè)蘋果的位置。這些都是在設(shè)計(jì)
8、過(guò)程中需要實(shí)現(xiàn)的。2.3游戲控制分析游戲中需要通過(guò)按鍵對(duì)蛇的移動(dòng)方位進(jìn)行控制,共需要設(shè)置四個(gè)方位,分別是“東”“西”“南”“北”,在按鍵上用“上”“下”“左”“右”,按鍵與執(zhí)行部分便涉及到監(jiān)聽,通過(guò)監(jiān)聽指示蛇的運(yùn)動(dòng),此外,要設(shè)置蛇移動(dòng)是的默認(rèn)方向?yàn)椤吧稀庇螒蜷_始時(shí)也是由“上”鍵啟動(dòng),暫停后根據(jù)玩家的操作自動(dòng)控制蛇的移動(dòng)方向,設(shè)計(jì)過(guò)程中還應(yīng)注意,蛇的移動(dòng)只能是90度偏轉(zhuǎn),不能進(jìn)行180度偏轉(zhuǎn)。此外還要設(shè)置游戲的四種狀態(tài),準(zhǔn)備,運(yùn)行,暫停,結(jié)束,蛇體變長(zhǎng)的時(shí)候要用累加器進(jìn)行加分。游戲暫停時(shí),要對(duì)當(dāng)前游戲的參數(shù)和狀態(tài)進(jìn)行保存。2.4 可行性分析 貪吃蛇游戲是一種簡(jiǎn)單的大眾的游戲,自從計(jì)算機(jī)實(shí)現(xiàn)以來(lái),
9、深受廣大電腦玩家的喜愛,做一個(gè)簡(jiǎn)單的貪吃蛇小游戲。 貪吃蛇的核心算法時(shí)如何實(shí)現(xiàn)移動(dòng)和吃掉食物,沒(méi)有碰到食物的時(shí)候,把當(dāng)前運(yùn)動(dòng)方向上的下個(gè)節(jié)點(diǎn)入隊(duì),并以蛇節(jié)點(diǎn)的顏色繪制這個(gè)節(jié)點(diǎn),然后把頭指針?biāo)傅墓?jié)點(diǎn)出隊(duì),并以游戲框架內(nèi)部背景色重繪出隊(duì)的節(jié)點(diǎn),這樣就可以達(dá)到移動(dòng)的效果。而在吃到食物的時(shí)候,則只需把食物入隊(duì)即可。實(shí)現(xiàn)貪吃蛇的基本的蛇身移動(dòng)、吃到食物身體增長(zhǎng)、和碰到墻壁或自身死亡,能夠暫停和開始。 本次設(shè)計(jì)我將主要運(yùn)用java語(yǔ)言來(lái)完成。Java語(yǔ)言是一種跨平臺(tái),適合于分布式計(jì)算環(huán)境的面向?qū)ο缶幊陶Z(yǔ)言,用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺(tái)上運(yùn)行。由于Java主要用于網(wǎng)絡(luò)應(yīng)用程序開發(fā),
10、因此對(duì)安全性有較高的要求。如果沒(méi)有安全保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險(xiǎn)。Java通過(guò)自己的安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。第三章 總體設(shè)計(jì)3.1系統(tǒng)功能模塊層次圖工程中包括4個(gè)Activity,分別為Snake(主界面)、Game(游戲界面)、Help(游戲說(shuō)明界面)、AuthorView(作者信息界面),通過(guò)不同Activity之間的轉(zhuǎn)換實(shí)現(xiàn)不同界面之間的切換。Snake(Activity)繼承了SnakeView類,SnakeView類繼承了TileView類。TileView類繼承了View其實(shí) Snake的工程蠻簡(jiǎn)單的,源文件就三個(gè): Snake.ja
11、va SnakeView.java TileView.java。 Snake類是這個(gè)游戲的入口點(diǎn), TitleView類進(jìn)行游戲的繪畫, SnakeView類則是對(duì)游戲控制操作的處理。 Coordinate, RefreshHandler是 2個(gè)輔助類,也是 SnakeView類中的內(nèi)部類。其中, Coordinate是一個(gè)點(diǎn)的坐標(biāo)( x, y), RefreshHandler將 RefreshHandler對(duì)象綁定某個(gè)線程并給它發(fā)送消息。如下圖:類圖3.2運(yùn)行機(jī)制任何游戲都需要有個(gè)引擎來(lái)推動(dòng)游戲的運(yùn)行,最簡(jiǎn)化的游戲引擎就是:在一個(gè)線程中 While循環(huán),檢測(cè)用戶操作,對(duì)用戶的操作作出反應(yīng),更
12、新游戲的界面,直到用戶退出游戲。在 Snake這個(gè)游戲中,輔助類 RefreshHandler繼承自 Handler,用來(lái)把 RefreshHandler與當(dāng)前線程進(jìn)行綁定,從而可以直接給線程發(fā)送消息并處理消息。注意一點(diǎn): Handle對(duì)消息的處理都是異步。 RefreshHandler在 Handler的基礎(chǔ)上增加 sleep()接口,用來(lái)每隔一個(gè)時(shí)間段后給當(dāng)前線程發(fā)送一個(gè)消息。 handleMessage()方法在接受消息后,根據(jù)當(dāng)前的游戲狀態(tài)重繪界面,運(yùn)行機(jī)制如下: 活動(dòng)圖運(yùn)行機(jī)制這比較類似定時(shí)器的概念,在特定的時(shí)刻發(fā)送消息,根據(jù)消息處理相應(yīng)的事件。 update()與 sleep()間
13、接的相互調(diào)用就構(gòu)成了一個(gè)循環(huán)。這里要注意: mRedrawHandle綁定的是 Avtivity所在的線程,也就是程序的主線程;另外由于 sleep()是個(gè)異步函數(shù),所以 update()與 sleep()之間的相互調(diào)用才沒(méi)有構(gòu)成死循環(huán)。最后分析下游戲數(shù)據(jù)的保存機(jī)制,如下: 活動(dòng)圖這里考慮了 Activity的生命周期:如果用戶在游戲期間離開游戲界面,游戲暫停;或者由于內(nèi)存比較緊張, Android關(guān)閉游戲釋放內(nèi)存,那么當(dāng)用戶返回游戲界面的時(shí)候恢復(fù)到上次離開時(shí)的界面。3.3貪吃蛇功能流程圖 開始始初化蛇和蘋果屏幕顯示蛇和蘋果位置蛇開始移動(dòng),后坐標(biāo)覆蓋前坐標(biāo)是否有按鍵否根據(jù)上次方向更新坐標(biāo)是根據(jù)
14、按鍵不同在原坐標(biāo)基礎(chǔ)上改變蛇的坐標(biāo)位置更新方向是否吃到蘋果是蛇身加1否是否越界或撞到蛇身是游戲結(jié)束否第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1 TiltView類TiltView的基類是View,包含了貪吃蛇游戲畫面的各個(gè)設(shè)定參數(shù),主要負(fù)責(zé)繪制游戲畫面。TileView類定義如下:public class TileView extends View private static final String tag = yao;protected static int mTileSize = 20;/方格的邊長(zhǎng)protected static int mXTileCount;/X軸上方格的個(gè)數(shù)protected
15、 static into mYTileCount;/Y軸上方格的個(gè)數(shù)private static int mXOffset;/繪圖時(shí)X軸上的起始坐標(biāo)private static int mYOffset;/繪圖時(shí)Y軸上的起始坐標(biāo)private Bitmap mTileArray;/位圖數(shù)組private int mTileGrid;/映射整個(gè)游戲畫面的數(shù)組private final Paint mPaint = new Paint();/畫筆public TileView(Context context, AttributeSet attrs) super(context, attrs);Lo
16、g.i(tag, TileView Constructor);Log.i(tag, mTileSize= + mTileSize);/重置位圖數(shù)組的長(zhǎng)度public void resetTiles(int tilecount) mTileArray = new Bitmaptilecount;Override/適應(yīng)各種分辨率的屏幕,當(dāng)改變屏幕大小尺寸時(shí),同時(shí)修改tile的相關(guān)計(jì)數(shù)指標(biāo)protected void onSizeChanged(int w, int h, int oldw, int oldh) Log.i(tag, onSizeChanged, + w= + w + h= + h
17、+ oldw= + oldw + oldh= + oldh);mXTileCount = (int) Math.floor(w / mTileSize);mYTileCount = (int) Math.floor(h / mTileSize);Log.i(tag, mXTileCount= + mXTileCount);Log.i(tag, mYTileCount= + mYTileCount);mXOffset = (w - (mTileSize * mXTileCount) / 2);mYOffset = (h - (mTileSize * mYTileCount) / 2);Log.i
18、(tag, mXOffset= + mXOffset);Log.i(tag, mYOffset= + mYOffset);mTileGrid = new intmXTileCountmYTileCount;clearTiles();/這里做了一個(gè) Drawable 到 bitmap 的轉(zhuǎn)換public void loadTile(int key, Drawable tile) Bitmap bitmap = Bitmap.createBitmap(mTileSize, mTileSize, Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(
19、bitmap);tile.setBounds(0, 0, mTileSize, mTileSize);tile.draw(canvas);mTileArraykey = bitmap;/清空?qǐng)D形顯示public void clearTiles() Log.i(tag, TileView.clearTiles);for (int x = 0; x mXTileCount; x+) for (int y = 0; y mYTileCount; y+) setTile(0, x, y);/在相應(yīng)的坐標(biāo)位置繪制相應(yīng)的磚塊public void setTile(int tileindex, int x,
20、 int y) mTileGridxy = tileindex;/ onDrawOverride/將直接操作的畫布繪制到手機(jī)界面上public void onDraw(Canvas canvas) Log.i(tag, onDraw);super.onDraw(canvas);Bitmap bmp;float left;float top;for (int x = 0; x mXTileCount; x+) for (int y = 0; y 0) bmp = mTileArraymTileGridxy;left = x * mTileSize + mXOffset;top = y * mTi
21、leSize + mYOffset;canvas.drawBitmap(bmp, left, top, mPaint);4.2 SnakeView類SnakeView類定義了游戲運(yùn)行時(shí)的畫面改變及蛇體和果子的更新方法。首先用Handler機(jī)制實(shí)現(xiàn)定時(shí)刷新,代碼如下:class RefreshHandler extends Handler /獲取消息并處理Overridepublic void handleMessage(Message msg) SnakeView.this.update();SnakeView.this.invalidate();/刷新view為基類的界面Log.i(tag,
22、 handleMessage|Thread Name=+Thread.currentThread().getName(); /定時(shí)發(fā)送消息給UI線程,以此達(dá)到更新效果public void sleep(long delayMillis) this.removeMessages(0); /清空消息隊(duì)列,Handler進(jìn)入對(duì)新消息的等待 Log.i(tag, sleep|Thread Name=+Thread.currentThread().getName();/定時(shí)發(fā)送新消息,激活handler sendMessageDelayed(obtainMessage(0), delayMillis);
23、定義SnakeView()函數(shù)初始化游戲,代碼如下:public SnakeView(Context context, AttributeSet attrs) super(context, attrs);Log.i(tag, SnakeView Constructor);initSnakeView();/構(gòu)造函數(shù)中,初始化游戲定義initSnakeView()初始化SnakeView類,代碼如下:private void initSnakeView() Log.e(tag, initSnakeView);/設(shè)置焦點(diǎn),由于存在 文字界面 和 游戲界面的跳轉(zhuǎn)。這個(gè)focus是不可或缺的。setFo
24、cusable(true);/取得資源中的圖片,加載到 磚塊字典 中。 Resources r = this.getContext().getResources();resetTiles(4);loadTile(RED_STAR, r.getDrawable(R.drawable.redstar);loadTile(YELLOW_STAR, r.getDrawable(R.drawable.yellowstar);loadTile(GREEN_STAR, r.getDrawable(R.drawable.greenstar);此外還定義了updateWalls()、updateApples()
25、、updateSnake()繪制墻、果子、蛇,以及更新畫面函數(shù)、保存位置坐標(biāo)函數(shù)等,具體代碼請(qǐng)?jiān)斠娔夸洝?.3界面設(shè)計(jì)界面設(shè)計(jì)包括游戲主界面(Snake)、游戲說(shuō)明界面、游戲界面的設(shè)計(jì)。界面的設(shè)計(jì)采用的是xml文檔形式,在xml文檔中規(guī)劃好界面布局布局后,分別在java文件中聲明。主界面設(shè)計(jì):主界面包括一個(gè) TextView及布局設(shè)定,其main.xml文檔如下至此,全部界面設(shè)計(jì)完成,但還有最重要的一步,就是將所有的Activity注冊(cè)到AndroidManifest.xml中。AndroidManifest.xml文檔如下: 4.4項(xiàng)目演示 游戲前畫面游戲中界面游戲結(jié)束時(shí)畫面第五章 測(cè)試5.
26、1游戲功能測(cè)試經(jīng)過(guò)在模擬器上的測(cè)試,本軟件能書案例實(shí)現(xiàn)其功能,達(dá)到了小蛇在屏幕上的移動(dòng),小蛇吃蘋果,蘋果隨機(jī)出現(xiàn)的功能,當(dāng)小蛇頭尾相撞或與墻相撞時(shí),游戲結(jié)束.這些均在測(cè)試中得到驗(yàn)證。5.2游戲控制測(cè)試在測(cè)試過(guò)程中,也著重對(duì)游戲的控制功能進(jìn)行了測(cè)試,游戲是通過(guò)方向鍵的控制來(lái)實(shí)現(xiàn)的,在游戲剛開始的階段,上下左右四個(gè)方位的控制都很成功,但隨著蛇移動(dòng)的速度越來(lái)越快,按鍵的控制反應(yīng)會(huì)出現(xiàn)滯后,通過(guò)分析,可能是由于蛇的運(yùn)動(dòng)速度超過(guò)了鍵盤的反應(yīng)速度造成的,與軟件無(wú)關(guān),所以得出結(jié)論,游戲的控制設(shè)計(jì)也是成功的。5.3游戲界面測(cè)試游戲運(yùn)行之后,就是在畫面中出現(xiàn)蛇和兩個(gè)蘋果的初始位置,并且是靜止的,并且在畫面上還會(huì)出現(xiàn)操作提示“按上鍵開始游戲”,游戲運(yùn)行過(guò)程中,除了蛇的運(yùn)動(dòng)之外,界面大題沒(méi)有變化,分別由綠色矩形塊的圍墻,黃色矩形塊的蘋果和紅色矩形塊的蛇身(蛇頭為黃色)組成。游戲結(jié)束后,界面處于暫停狀態(tài),提
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場(chǎng)物業(yè)管理合同(一)與商場(chǎng)物業(yè)管理合同5篇
- 第12課 從明朝建立到清軍入關(guān)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年高一上學(xué)期統(tǒng)編版(2019)必修中外歷史綱要上
- 體育館翻新監(jiān)理合同
- 家庭餐館裝修協(xié)議范例
- 2025年度創(chuàng)業(yè)投資股權(quán)投資協(xié)議書
- 娛樂(lè)設(shè)施用地經(jīng)紀(jì)合作協(xié)議
- 旅行社營(yíng)業(yè)廳裝修合同樣本
- 2025年度鐵棚廠房施工與智能安防監(jiān)控系統(tǒng)合同
- 器材保養(yǎng)合同6篇
- 小學(xué)二年級(jí)數(shù)學(xué)三位數(shù)加減三位數(shù)計(jì)算同步監(jiān)控口算題帶答案
- 護(hù)士臨床護(hù)理組長(zhǎng)
- 2025保安部年度工作計(jì)劃
- 土建、裝飾、維修改造等零星工程施工組織設(shè)計(jì)技術(shù)標(biāo)
- 寵物貓護(hù)理教學(xué)
- 高速公路養(yǎng)護(hù)作業(yè)安全培訓(xùn)內(nèi)容
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)
- 《大白菜種植栽培技》課件
- 北京工業(yè)大學(xué)《數(shù)據(jù)挖掘》2023-2024學(xué)年第一學(xué)期期末試卷
- 圖書借閱登記表
- 標(biāo)準(zhǔn)化機(jī)房改造方案
- 2024年重慶市公務(wù)員錄用考試《行測(cè)》真題及解析
評(píng)論
0/150
提交評(píng)論