




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . . . 本科畢業論文(設計)題目:基于Android的2048游戲的設計與實現姓 名:學 號:專 業: 11級計算機科學與技術 院 系: 信息工程 指導老師:職稱學位: 講師碩士 完成時間:教務處制新華學院本科畢業論文(設計)獨創承諾書本人按照畢業論文(設計)進度計劃積極開展實驗(調查)研究活動,實事地做好實驗(調查)記錄,所呈交的畢業論文(設計)是我個人在導師指導下進行的研究工作與取得的研究成果。據我所知,除文中特別加以標注引用參考文獻資料外,論文(設計)中所有數據均為自己研究成果,不包含其他人已經發表或撰寫過的研究成果。與我一同工作的同志對本研究所做的工作已在論文中作了明確說明并表示
2、意。畢業論文(設計)作者簽名:日期:33 / 40基于Android的2048游戲的設計與實現摘 要現如今,電子游戲已慢慢滲透進人們生活中,并在扮演著越來越重的角色。可以說,隨著他的迅猛發展,現今的電子游戲已經不僅僅是一種娛樂,而是形成了一種文化現象,具有很強的民族性和豐富的文化涵。伴隨著游戲軟件在市場的銷售,與其相關的文化也隨之傳播。2048游戲的制作屬于電子游戲中的益智類小游戲,它做到了娛樂性、趣味性、教育性相統一。益智類的游戲即是需要去開動大腦去思考從而獲得游戲的勝利。簡單的益智類游戲可以使玩家在娛樂中不斷的開發大腦。這樣一來就實現了在娛樂中學習。本文通過對Android應用開發的初步研
3、究,設計出了一款基于Android平臺的2048小游戲。本文是在通過對系統進行詳細分析的情況下,基本的確定了系統的相關的功能要求,對游戲的關卡設置、菜單界面、屏幕繪制和布局進行了設計,實現了一款界面清晰、容豐富的2048游戲,它能夠讓人們在這個快節奏的生活壓力中得到緩解。關鍵字:Android;游戲;益智Design and implementation of 2048 games based on AndroidAbstractNowadays, electronic games have seeped into people's life,&
4、#160;and plays an increasinglyimportant role. It can be said, with his rapid development of electronic games, today is not only a kind of entertainment, but the formation of a cultural phenomenon, has a strong national character and
5、60;rich cultural connotation. With the game software sales in the market, theculture also spread.2048 the game belongs to the puzzle game in electronic games, it did entertainment, fun,educational unity. Puzzle game is to
6、0;use your brain to think in order to win the games. A simplepuzzle game can make the game player development brain constantly in entertainment. So asto achieve the learning in the entertainment.The preliminary study on the development
7、 of Android application, designed a 2048 gamebased on Android platform. In this paper through the detailed analysis of system, the basic to determine the system's related functional requirements, setting, rendering and layout of
8、60;the screen menu interface, the game's level for the design, implementation of a clear interface,rich content of the 2048 game, it can let people get relief in this fast the rhythm of lifepressure.Key Words:Android;Game;Puzzle目 錄
9、1 緒論11.1 背景11.1.1 手機的應用市場發展現狀11.1.2 國外現狀11.1.3 課題意義11.2 本章小結22 開發環境的介紹和搭建32.1 開發環境的介紹32.1.1 JDK的介紹32.1.2 Eclipse的介紹32.1.3 Android SDK的介紹32.2 開發環境的搭建32.2.1 JDK的安裝與環境變量配置32.2.2 Android SDK 與Eclipse的安裝與配置42.2.3 Android虛擬機AVD的配置42.3 本章小結53 系統的需求分析和概要設計63.1系統需求分析63.1.1系統功能需求分析63.1.2游戲基本規則73.2系統概要設計73.2.1
10、系統流程的設計73.2.2系統模塊設計83.3 本章小結104 系統實現124.1 開始界面的實現124.2游戲界面的實現124.3 游戲滑屏卡片移動的實現134.4 重新開始游戲功能的實現194.5關卡的實現214.6游戲幫助的實現234.7本章小結245 測試255.1 游戲系統測試255.1.1游戲流程測試255.1.2 游戲模式275.2 本章小結286 總結與展望286.1 論文總結286.2 展望29致29參考文獻301 緒 論第1章 主要是對課題的總體介紹,主要包括對課題的背景資料簡介、國外研究現狀,還有就是對課題研究的價值的介紹。1.1 背景1.1.1 手機的應用市場發展現狀隨
11、著3G的越來越普與以與手機應用的日益豐富還有智能水平的不斷的提高,從便攜性和隨身性這兩方面來考慮,電腦所帶來的體驗已經不能跟手機相提并論了,他已經完美的超過了電腦1?,F如今Android、蘋果等各智能手機已經基本占領整個手機市場,從而使得更多應用的出現,然而手機游戲應用在其中占領主要的位置。隨著Android智能手機的普與以與游戲種類的多元化,使得Android手機游戲用戶規模保持著穩步增長之勢2,3。1.1.2 國外現狀目前國外的Android開發還是主要以應用開發為主,主要分成3類:企業應用、通用應用以與游戲應用。第一類應用的開發主要是一些大公司為了自己的品牌而開發的。第二類的應用主要是一
12、些創業型公司或者獨立開發者為了盈利開發的應用。第三類應用目前跟第二類應用一樣4。2048小游戲是一款最近風靡全球的手機游戲,簡單的游戲模式和趣味的玩法,幾乎游戲下載排行榜的前10名都可以看到“他的身影”。1.1.3 課題意義現如今,手機游戲已在我們的生活中占據一席之地,并在一步步的壯大??梢哉f,隨著他的迅猛發展,現今的手機游戲已經不單單是一種緩解壓力的工具,而是形成了一種文化現象。隨著游戲軟件在市場的一步步壯大,與其有關的文化也隨之傳播。2048游戲的制作屬于電子游戲中的益智類小游戲,它做到了娛樂性、趣味性、教育性相統一。益智類的游戲即是需要去開動大腦去思考從而獲得游戲的勝利。簡單的益智類游戲
13、可以使玩家在娛樂中不斷的開發大腦。這樣一來就實現了在娛樂中學習?,F有2048游戲最大的不足在于過度強調簡潔,它是由數字組成的游戲,所以在長時間的游戲后就會感覺無聊,同時在熟知玩法后就會知道下一個要拼出的數字,這就缺乏神秘感,當一款游戲缺乏了神秘和趣味時就注定失敗。所以我們要勇于創新,將2048游戲開發出不同的版本,當玩家覺對拼接數字感到無聊時可以有不同的選擇。2048還有一大缺點就是當玩家拼出2048時游戲就會結束,這樣就會讓玩家感到失落,所以我們要創作一個永無止境的游戲,讓玩家去不斷的超越自己。1.2 本章小結本章首先介紹了本游戲2048的研究背景,主要是以手機的應用市場發展現狀和國外現狀兩
14、方面來闡述,以與簡單的介紹了本課題的意義。2 開發環境的介紹和搭建本章是對Android應用開發的開發環境進行簡單的介紹以與如何搭建。2.1 開發環境的介紹2.1.1 JDK的介紹Java Development Kit(JDK) 是Java語言的軟件開發工具包。Java的核心就是JDK,JDK主要包括了Java基礎類庫、Java運行環境以與Java工具。它主要是為Java程序員開發而發布的免費開發工具包5,6。2.1.2 Eclipse的介紹Eclipse是一個基于Java的和開源的開發平臺,剛開始只是用于Java語言的開發,現在人們使用一些外掛程式使得Eclipse可以開發一些其他的計算機
15、語言。Eclipse對他本身而言它只是一個框架平臺,但最多的外掛程式使得它變得具有靈活性7。2.1.3 Android SDK的介紹SDK(software development kit)是軟件開發工具包。Android SDK 指的是Android專屬的軟件開發工具包8。2.2 開發環境的搭建2.2.1 JDK的安裝與環境變量配置(1)從網上下載JDK1.6或者JDK1.7版本。(2)雙擊文件安裝JDK。(3)環境變量的配置:右擊“我的電腦”->"屬性"->“高級系統設置”->"環境變量"9。環境變量的設置界面分“用戶變量
16、”和“系統變量”10。在系統變量里點擊新建在變量名中輸入“JAVA_HOME”,在變量值中填入JDK的安裝路徑;接著新建classpath變量,變量值設為:.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar,然后雙擊“系統變量”中存在的path在彈出的對話框中添加變量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin,最后運行->cmd,輸入javac,如果出現用法說明,則表示成功11,12。2.2.2 Android SDK 與Eclipse的安裝與配置在網上搜索adt-bundle-windows并下載。下好之后直接解壓縮,此文件為已經
17、集成了Eclipse和Android SDK 的完整版,這樣就可以適合一些新手。2.2.3 Android虛擬機AVD的配置在Eclipse菜單欄中點擊Window->Android Virtual Device Manager13,在彈出的窗口中點擊“new”按鈕,進入到創建的AVD配置窗口,可以創建自己想要的AVD14,如圖2.1所示:圖2.1 AVD配置圖配置成功后,選中創建好的AVD并點擊“start”按鈕彈出對話框點擊Launch按鈕,由于AVD第一次啟動時間較長,需耐心等待15。開啟成功后如圖2.2所示:圖2.2AVD界面圖2.3 本章小結本章是對Android應用開發所需的
18、開發環境進行簡單的介紹和對開發環境如何搭建進行介紹。3 系統的需求分析和概要設計這章主要講述了系統的需求分析,簡單的描述了各個功能模塊和游戲的基本規則,然后是對系統概要設計的介紹。3.1系統需求分析3.1.1系統功能需求分析系統主要實現以下的幾個功能:關卡選擇、呈現游戲界面、重新開始游戲、當前分數和最高分數、游戲幫助等功能。關卡選擇是當玩家點擊此按鈕時,游戲就會從主界面跳轉到關卡選擇界面,當玩家選擇相應的關卡時,先判斷此關卡是否開啟,如果沒有開啟此關卡就會彈出對話框提示玩家此關卡未開啟,如果此關卡已經開啟就會跳轉到主界面同時開始此關卡。重新開始游戲是當玩家無法滿足當前進度時點擊此按鈕就會重新開
19、始游戲,如果玩家處于不同關卡時重新開始游戲還是停留在此關卡。游戲幫助是當新手玩此游戲時無法知道游戲玩法時給予相應的提示。呈現游戲界面是游戲開始時主界面在游戲區域會生成4×4的矩陣同時在矩陣里面隨機生成兩個2或4的卡片。當前分數和最高分數是顯示此局玩家所獲得的分數和歷史最高的分數,如果當前的分數超過最高分數那么最高分顯示當前的分數,如圖3.1所示。圖3.1系統功能圖3.1.2游戲基本規則在開始游戲后玩家通過滑動屏幕來操控卡片的移動方向,當卡片滑動中如果有兩卡片一樣且他們的中間也沒有其他卡片時,在滑動的過程中這兩卡片會合并,顯示為這兩卡片之和。在滑動之中有三卡片一樣時只會合并向滑動方向兩
20、卡片。在滑動中如果有兩卡片一樣同時又有一卡片的值跟這兩卡片相加的值時,滑動只會使那兩一樣的卡片合并而不會接著讓合并后的卡片和另一卡片合并。3.2系統概要設計3.2.1系統流程的設計游戲開始進入開始頁面,能夠進入游戲的主界面并開始普通開局,從主界面能夠重新開始游戲、查看幫助和進入關卡選擇界面。當玩家點擊重新開始按鈕會彈出相應的對話框讓玩家選擇,如果玩家選擇“是”時則重新開始游戲,如果選擇“否”則返回游戲界面不做任何處理。當玩家點擊關卡按鈕會跳轉到關卡選擇界面,關卡界面將顯示所有的關卡,當玩家點擊相應的關卡時后臺會判斷此關卡是否開啟,如果已經開啟將會跳轉到主界面并運行此關卡,如果沒有開啟將給予玩家
21、提示“此關卡未開啟”對話框。在開始界面按返回按鈕時則會退出游戲。游戲的流程圖如圖3.2所示:圖3.2系統流程圖3.2.2系統模塊設計從總體出發,將該系統劃分為三大模塊:“菜單設計”,“界面設計”和“算法設計”。3.2.2.1 菜單設計菜單的實現是在游戲界面實現,可進一步劃分為三個模塊,分別是:“游戲幫助”,“重新開始”,“關卡選擇”,如圖3.3所示:重新開始關卡選擇游戲幫助圖3.3菜單設計3.2.2.2界面設計可進一步劃分為:“主界面設計”,“游戲界面設計”和“關卡界面設計”,如圖3.4所示: 開始游戲 關卡選擇分數 游戲區域重新幫助關卡(a) 開始界面 (b)游戲界面 (c)關卡選擇界面圖3
22、.4 界面設計3.2.2.3算法設計(1)當有兩卡片一樣時,向它們可以碰撞的方向滑屏,卡片會移動到最底邊并生成其兩倍數字的卡片,并且生成一個“2”或“4”的卡片,如圖3.5所示:圖3.5 簡單卡片合成(2)當有兩卡片一樣時,且在他一樣的方向有跟它們之和的卡片,向它們可以碰撞的方向滑屏,一樣的卡片會移動到無法移動的位置并生成期兩倍數字的卡片,但合成的卡片不會跟那兩倍數字的卡片合并,并且生成一個“2”或“4”的卡片,如圖3.6所示:圖3.6 復雜卡片合成(3) 當界面上沒有空位并且兩兩相鄰的卡片不一樣時游戲結束。如圖3.7所示:圖3.7游戲結束3.3 本章小結本章主要對游戲所實現的功能進行需求分析
23、,對圖形和系統性能進行了分析,分析了圖形的特點和實現的可行性。對系統的性能進行了詳細的分析同時也提出來解決性能問題的解決方案。 對系統的流程,系統所需的圖形文件,系統的總體架構和系統用例進行了設計。通過本章的分析、設計能更加具體的了解系統功能,對系統所要實現的功能和圖形文件有了更深的認識。為下一章系統功能的具體實現提供了可靠的參考依據。4 系統實現本章主要是詳細介紹每個功能是怎樣的實現。4.1 開始界面的實現游戲的主界面是按鈕圖片,只是實現了界面的跳轉,當玩家點擊此界面時就會調用ZuomianActivity.java此函數讓頁面跳轉到游戲界面開始游戲,如圖4.1所示:public class
24、 ZuomianActivity extends Activityprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main0);圖4.1 開始界面4.2游戲界面的實現游戲界面主要是在activity_main.xml中當前分數、最高分數、游戲區域、重新開始按鈕、關卡選擇按鈕、幫助按鈕,當跳轉到游戲界面時就會調用并執行MainActivity.java函數來展示游戲界面,如圖4.2所示。protected v
25、oid onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);圖4.2 主界面4.3 游戲滑屏卡片移動的實現當玩家滑動屏幕時,主要是通過initGameView函數來監聽玩家手指滑動的位置,先通過獲取開始坐標和結束坐標,然后通過比較結束坐標跟開始坐標的差值來判斷玩家是怎樣滑動屏幕的。判斷出玩家的滑動軌跡后,通過調用swipeLeft、swipeRight、swipeUp、swipeDown方法來實現卡片的移動,如圖4.3所示。pu
26、blic void initGameView() setColumnCount(4);setOnTouchListener(new OnTouchListener() private float startX, startY, offsetX, offsetY;public boolean onTouch(View v, MotionEvent event) switch (event.getAction() case MotionEvent.ACTION_DOWN:startX = event.getX();startY = event.getY();break;case MotionEve
27、nt.ACTION_UP:offsetX = event.getX() - startX;offsetY = event.getY() - startY;if (Math.abs(offsetX) > Math.abs(offsetY) if (offsetX < -5) swipeLeft(); else if (offsetX > 5) swipeRight(); else if (offsetY < -5) swipeUp(); else if (offsetY > 5) swipeDown();break;return true;);private voi
28、d swipeLeft() boolean merge = false;for (int y = 0; y < 4; y+) for (int x = 0; x < 4; x+) for (int x1 = x + 1; x1 < 4; x1+) if (cardsMapx1y.getNum() > 0) if (cardsMapxy.getNum() <= 0) cardsMapxy.setNum(cardsMapx1y.getNum();cardsMapx1y.setNum(0);x-;merge = true; else if (cardsMapxy.equ
29、als(cardsMapx1y) cardsMapxy.setNum(cardsMapxy.getNum() * 2);cardsMapx1y.setNum(0);MainActivity.getMainActivity().addScore(cardsMapxy.getNum(); merge = true;break;if (merge) addRandomNum();checkComplete();private void swipeRight() boolean merge = false;for (int y = 0; y < 4; y+) for (int x = 3; x
30、>= 0; x-) for (int x1 = x - 1; x1 >= 0; x1-) if (cardsMapx1y.getNum() > 0) if (cardsMapxy.getNum() <= 0) cardsMapxy.setNum(cardsMapx1y.getNum();cardsMapx1y.setNum(0);x+;merge = true; else if (cardsMapxy.equals(cardsMapx1y) cardsMapxy.setNum(cardsMapxy.getNum() * 2);cardsMapx1y.setNum(0);
31、MainActivity.getMainActivity().addScore(cardsMapxy.getNum();merge = true;break;if (merge) addRandomNum();checkComplete();private void swipeUp() boolean merge = false;for (int x = 0; x < 4; x+) for (int y = 0; y < 4; y+) for (int y1 = y + 1; y1 < 4; y1+) if (cardsMapxy1.getNum() > 0) if (
32、cardsMapxy.getNum() <= 0) cardsMapxy.setNum(cardsMapxy1.getNum();cardsMapxy1.setNum(0);y-;merge = true; else if (cardsMapxy.equals(cardsMapxy1) cardsMapxy.setNum(cardsMapxy.getNum() * 2);cardsMapxy1.setNum(0);MainActivity.getMainActivity().addScore(cardsMapxy.getNum();merge = true;break;if (merge
33、) addRandomNum();checkComplete();private void swipeDown() boolean merge = false;for (int x = 0; x < 4; x+) for (int y = 3; y >= 0; y-) for (int y1 = y - 1; y1 >= 0; y1-) if (cardsMapxy1.getNum() > 0) if (cardsMapxy.getNum() <= 0) cardsMapxy.setNum(cardsMapxy1.getNum();cardsMapxy1.setN
34、um(0);y+;merge = true; else if (cardsMapxy.equals(cardsMapxy1) cardsMapxy.setNum(cardsMapxy.getNum() * 2);cardsMapxy1.setNum(0);MainActivity.getMainActivity().addScore(cardsMapxy.getNum();merge = true;break;if (merge) addRandomNum();checkComplete();圖4.3 卡片移到4.4 重新開始游戲功能的實現當玩家點擊游戲界面的重新開始游戲時,會彈出給玩家選擇的
35、對話框,讓玩家選擇是否重新開始游戲。當玩家選擇“是”時游戲會重新開始,重新開始游戲會根據玩家當前所選的關卡來重置游戲,如果玩家選擇“否”時,游戲將繼續下去,如圖4.4所示。btnNewGame = (Button) findViewById(R.id.btnNewGame);btnNewGame.setOnClickListener(new View.OnClickListener() public void onClick(View v) new AlertDialog.Builder(MainActivity.this).setTitle(" 是否重新再來!").set
36、NegativeButton("取消",new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog,int which) ).setPositiveButton("確定",new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog,int which) if (getGameid() = 0)gameView.startGame();else if (g
37、etGameid() = 1)gameView.startGame64();else if (getGameid() = 2)gameView.startGame128();else if (getGameid() = 3)gameView.startGame256();else if (getGameid() = 4)gameView.startGame512();else if (getGameid() = 5)gameView.startGame1024();else if (getGameid() = 6)gameView.startGame2048();else if (getGam
38、eid() = 7)gameView.startGame4096();else if (getGameid() = 8)gameView.startGame8192();else if (getGameid() = 9)gameView.startGame16384();else if (getGameid() = 10)gameView.startGame32768();else if (getGameid() = 11)gameView.startGame65536(); ).show(););圖4.4 重新開始游戲4.5 關卡的實現當玩家的分數達到一定的高度的時候就會解開相應的關卡,玩家
39、可以在游戲界面點擊游戲關卡的按鈕,后臺會通過調用MainActivity中關卡相關的代碼跳轉到關卡界面執行GqActivity將寫好的activity_guanqia.xml顯示出來,當玩家點擊相應的關卡時會傳遞相應的值給MainActivity,MainActivity根據傳過來的值調用相應的開局方式,如果點擊的關卡已開啟則跳轉到游戲界面開啟此關卡,如果沒有開啟則彈出對話框提示玩家此關卡沒開啟,如圖4.6所示。public class GqActivity extends Activity private Button fanhui;private Button butpt;protecte
40、d void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_guanqia);fanhui = (Button) findViewById(R.id.fanhui);fanhui.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View arg0) Intent intent = new Intent(GqActivity.this,
41、MainActivity.class);startActivity(intent););butpt = (Button) findViewById(R.id.butpt);butpt.setOnClickListener(new View.OnClickListener() MainActivity mat = MainActivity.getMainActivity();public void onClick(View arg0) Intent intent = new Intent(GqActivity.this, MainActivity.class);setResult(0, inte
42、nt);finish(););圖4.6 關卡功能4.6 游戲幫助的實現 當新玩家進入到游戲且不知道此游戲玩法,玩家可以點擊游戲幫助按鈕來了解游戲玩法,點擊按鈕時游戲會彈出對話框顯示游戲玩法,如圖4.7所示。btnHelpInfo.setOnClickListener(new View.OnClickListener() public void onClick(View v) showGameHelpInfo(););private void showGameHelpInfo() TextView view = new TextView(MainActivity.this);view.setTe
43、xt(R.string.gametactics);view.setMaxLines(10);new AlertDialog.Builder(MainActivity.this).setTitle("2048游戲攻略").setView(view).setNeutralButton("OK", new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) dialog.dismiss(); ).show();圖4.7 游戲幫助4.7
44、本章小結本章主要闡述本游戲相關功能的實現,詳細的講述了主界面的實現和個按鈕功能的實現。5 測 試本章主要對系統的功能進行測試,此次的測試只是進行簡單的調試,來確定游戲的各項功能是否能夠正常運行。5.1 游戲系統測試5.1.1游戲流程測試該測試主要驗證游戲能否實現場景的切換,當界面在開始界面時只顯示按鈕畫面如圖5.1所示,當玩家點擊此界面時跳轉到游戲界面如圖5.2所示,最后是關卡選擇時界面的跳轉,當玩家點擊關卡選擇按鈕時界面會跳轉到關卡選擇界面如圖5.3所示,當玩家選擇相應的關卡時就會跳轉到游戲界面如圖5.4所示為選擇相應的關卡后跳轉的界面。圖5.1開始界面 圖5.2游戲界面圖5.3關卡界面5.1.2 游戲模式該測試主要是測試游戲能否正常的運行,當玩家滑動屏幕時卡片能否正常的移動和當卡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北京市事業單位招聘考試教師招聘考試小學數學案例分析試卷
- 2025年互聯網婚戀項目規劃申請報告
- 一件心愛物品的誕生記物作文(14篇)
- 2025年高處作業特種作業操作證考試試卷(高空作業安全操作培訓課程實施要點篇)
- 生物制藥工藝與質量控制試題集及解析
- 2025年生態循環農業技術模式在農業科技創新與產業融合報告
- 現代農業科技開發與利用協議
- 基因檢測技術在遺傳性血液疾病診斷中的準確性研究報告001
- 醫療健康行業從業資格證明(5篇)
- 電商平臺入駐商戶協議條款修訂版
- 2025年園藝師職業資格考試卷及答案
- 中學論文推選管理制度
- 普外科學科核心知識體系
- 2025年福建省中考道德與法治試卷真題(含標準答案)
- 工程中機電設備安裝與調試技術
- 2024年天津高中學業水平合格性考試歷史試卷真題(含答案詳解)
- 2025年萬家寨水務控股集團及所屬企業招聘筆試參考題庫含答案解析
- 懸挑式鋼管腳手架專項施工方案
- 2025年勞動合同樣本(電子版)
- 《城市軌道交通通風與空調系統》教學課件—07地鐵通風空調概述
- (完整版)《數學歸納法》課件ppt
評論
0/150
提交評論