智能移動終端應(yīng)用開發(fā)設(shè)計報告基于Android系統(tǒng)的貪吃蛇游戲開發(fā)畢業(yè)論文_第1頁
智能移動終端應(yīng)用開發(fā)設(shè)計報告基于Android系統(tǒng)的貪吃蛇游戲開發(fā)畢業(yè)論文_第2頁
智能移動終端應(yīng)用開發(fā)設(shè)計報告基于Android系統(tǒng)的貪吃蛇游戲開發(fā)畢業(yè)論文_第3頁
智能移動終端應(yīng)用開發(fā)設(shè)計報告基于Android系統(tǒng)的貪吃蛇游戲開發(fā)畢業(yè)論文_第4頁
智能移動終端應(yīng)用開發(fā)設(shè)計報告基于Android系統(tǒng)的貪吃蛇游戲開發(fā)畢業(yè)論文_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、XX 學(xué)院智能移動終端應(yīng)用開發(fā)設(shè)計報告(20XX/20XX學(xué)年第XX學(xué)期)題目:基于An droid系統(tǒng)的貪吃蛇游戲?qū)?業(yè):小組成員:設(shè)計成績 :_年月日1摘要An droid是基于Lin ux開放性內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機操作系統(tǒng)。 早期由原名為Android的公司開發(fā), 谷歌在2005年收購Android.Inc后,繼續(xù)對Android系統(tǒng)開發(fā)運營,它采用了軟件堆層(software stack又名軟件疊層)的架構(gòu),主要分為三部分。底層Linux內(nèi)核只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),部分程序以Java編寫。1項目背景說明針對當(dāng)今游戲

2、開發(fā)的流行趨勢, 手機游戲的設(shè)計已成為主流, 隨著計算機技 術(shù)及硬件技術(shù)的不斷發(fā)展, 用戶的需求量也越來越多, 并且用戶追求的效果也越 來越好,在此形勢下好的設(shè)計方法尤為重要, 基于android系統(tǒng)的手機游戲設(shè)計 方法簡單且效率較高。 貪吃蛇游戲也是很多人熱衷的游戲, 用戶不僅要求其界面 設(shè)計精美,更希望操作簡單,程序執(zhí)行速度快。Android支持使用Java作為編程語言來開發(fā)應(yīng)用程序,而Android的Java開發(fā)方面從接口到功能,都有層出不窮的變化??紤]到Java虛擬機的效率和資 源占用,谷歌重新設(shè)計了An droid的Java,以便能提高效率和減少資源占用, 因而與J2ME等不同。操作

3、系統(tǒng)與應(yīng)用程序的溝通橋梁,應(yīng)用分為兩層:函數(shù)層(Library)和虛擬機(Virtual Machine)。Android的中間層多以Java實現(xiàn), 并且采用特殊的Dalvik虛擬機(Dalvik Virtual Machine)。Dalvik虛擬機是 一種“暫存器型態(tài)”(Register Based)的Java虛擬機,變量皆存放于暫存器中, 虛擬機的指令相對減少。貪吃蛇游戲是一款老牌的手機游戲,同時也是一款比較需要耐心地游戲。貪 吃蛇游戲就是一條小蛇, 不停地在屏幕上游走, 吃各個方向出現(xiàn)的食物, 越吃越 長。只要蛇頭碰到屏幕四周,或者碰到自己的身子,小蛇就立即斃命。 “貪吃蛇” 游戲是一個

4、經(jīng)典的游戲,它因操作簡單、娛樂性強而廣受歡迎。本文基于Java技術(shù)和android開發(fā)環(huán)境,開發(fā)了一個操作簡單、界面美觀、功能較齊全的“貪 吃蛇”游戲。整個游戲程序分為三個功能模塊,五個類模塊, 實現(xiàn)了游戲的開始、 暫停、結(jié)束。 通過本游戲的開發(fā), 達到學(xué)習(xí)android平臺操作技術(shù)和熟悉軟件開 發(fā)流程的目的。2項目概述2.1設(shè)計的目的與意義貪吃蛇游戲是一款非常經(jīng)典的手機游戲, 貪吃蛇游戲的設(shè)計比較復(fù)雜, 它涉 及面廣、2牽涉方面多,如果不好好考慮和設(shè)計,將難以成功開發(fā)出這個游戲。在 這個游戲的設(shè)計中,牽涉到圖形界面的顯示與更新、 數(shù)據(jù)的收集與更新, 并且在 這個游戲的開發(fā)中, 還要應(yīng)用類的繼

5、承機制以及一些設(shè)計模式。 因此,在設(shè)計開 發(fā)過程中,需要處理好各個類之間間的邏輯依賴關(guān)系和數(shù)據(jù)通信關(guān)系。正是因為如此,本次設(shè)計的目的在于學(xué)習(xí)Java程序設(shè)計基本技術(shù),學(xué)習(xí)用android開發(fā)Java程序的相關(guān)技術(shù),熟悉游戲“貪吃蛇”的需求,熟悉項目開 發(fā)的完整過程。 學(xué)會怎樣進行一個項目的需求分析、 概要設(shè)計、 詳細設(shè)計等軟件 開發(fā)過程,熟練地掌握Java程序設(shè)計的基本技術(shù)和方法,熟練地掌握android環(huán)境的使用方法,培養(yǎng)初步的項目分析能力和程序設(shè)計能力。2.2設(shè)計的主要內(nèi)容貪吃蛇游戲設(shè)計與實現(xiàn), 主要分為以下三個模塊: 游戲主界面模塊、 游戲控 制模塊和游戲菜單模塊。 在此只實現(xiàn)游戲的游戲

6、主界面模塊、 游戲控制模塊和游 戲菜單模塊,并且只是實現(xiàn)開始、暫停、退出等最基本簡單的功能。本次設(shè)計要達到的目標分別從以下模塊進行闡述:(1)游戲菜單模塊:這個模塊主要是為進入游戲做準備, 是進入游戲的第一步, 提供“開始游戲” “游戲幫助”“退出游戲”等按鈕,通過幫助按鈕簡單介紹游戲規(guī)則。(2)游戲主界面模塊:游戲的主界面是進入游戲后, 能夠給玩家第一感官的部分, 主要包括游戲圖 形區(qū)域界面、游戲分數(shù)以及關(guān)卡的顯示更新界面、提示退出游戲的快捷方式,游 戲開始按鈕、暫停游戲按鈕以及退出游戲按鈕。 從很大程度上決定了玩家對游戲 的興趣問題,因此,游戲的主界面應(yīng)該力求美觀,爽心悅目。(3)游戲控制

7、模塊:這個模塊是游戲的中心環(huán)節(jié), 主要完成控制游戲的開始、 暫停、退出,移動, 加速等功能。 為了能夠給玩家一個很好的游戲環(huán)境, 這部分應(yīng)該做到易懂、 易操 作。2.3設(shè)計實現(xiàn)的主要功能本軟件在設(shè)計方面本著方便、 實用及娛樂性高的宗旨, 在對界面進行設(shè)計的 過程中,始終堅持清晰明了,在性能方面能夠?qū)崿F(xiàn)效率高,不易出錯等優(yōu)點。(1)游戲主界面模塊:3主要包括游戲圖形區(qū)域界面、游戲開始按鈕、暫停游戲按鈕、關(guān)閉按鈕。游 戲的主界面應(yīng)該力求美觀,爽心悅目。(2)游戲控制模塊:主要完成控制游戲的開始、暫停、退出等功能,這部分應(yīng)該做到易懂、易操 作而且準確率高,不易出錯。(3)游戲菜單模塊: 是進入游戲主

8、界面的第一步,提供“游戲幫助”等功能。這部分使貪吃蛇游 戲軟件更加完善。3游戲需求分析3.1需求分析用戶的特點游戲開發(fā)成功后, 最終用戶為各個年齡段的人群, 用戶范圍相當(dāng)廣泛。 本游 戲友好的用戶界面, 簡單易學(xué)的按鈕操作以及簡單通俗的游戲規(guī)則, 使廣大的用 戶不需要專門進行培訓(xùn),就可以立即學(xué)會如何使用。功能需求貪吃蛇是一款經(jīng)典的手機游戲, 一條蛇在封閉圍墻里, 通過按鍵盤上下左右 四個鍵控制蛇向上下左右四個方向移動, 如果蛇頭撞倒食物, 則食物被吃掉, 蛇 身體長一節(jié),同時記1分;若吃到獎勵蘋果,加兩分;若吃到毒蘋果,則減3分。在游戲過程中, 如果長按住方向鍵不放, 則蛇的移動速度加快, 松

9、開方向鍵, 恢復(fù)原速。如果蛇在移動中撞到墻或障礙物或者蛇頭撞倒自己身體, 則游戲結(jié)束! (1) 游戲主界面模塊需求游戲界面主框架主要包括游戲圖形區(qū)域界面、 游戲開始按鈕、游戲暫停按鈕、 關(guān)閉按鈕。(2) 游戲圖形區(qū)域界面的需求游戲畫布區(qū)主要應(yīng)該包括游戲畫布中貪吃蛇隨機出現(xiàn)的位置,貪吃蛇重新出 現(xiàn)的位置,事物隨機出現(xiàn)的位置。3) 游戲菜單模塊的需求游戲菜單模塊主要是為進入游戲主界面做準備, 提供“游戲幫助” 介紹游戲 規(guī)則。同時提供進入游戲和退出游戲等功能。屬性需求 在可使用性方面,要求各個功能實現(xiàn)簡單,操作方便,系統(tǒng)處理正確;整4個系統(tǒng)恢復(fù)性能好,連接速度快,以確保系統(tǒng)可使用性好。另外,還要求

10、系統(tǒng)的可 擴展性、可維護性、可移植性良好。3.2功能模塊分析軟件開發(fā)過程中的功能模塊設(shè)計, 主要解決實現(xiàn)該游戲需求的程序模塊設(shè)計 問題。包括如何把該游戲劃分成若干個模塊、 決定各個模塊之間的接口、 模塊之 間傳遞的信息,以及模塊結(jié)構(gòu)的設(shè)計等。3.2.1游戲功能 本系統(tǒng)主要完成以下幾方面的功能:游戲控制功能包括游戲的開始、 暫停、退出。界面布局:其他輔助功能(如游戲幫助,游戲積分,游戲過關(guān)等)3.2.2總設(shè)計模塊的劃分 游戲總設(shè)計模塊劃分為游戲主要界面模塊、游戲控制模塊和游戲菜單模塊。游戲主界面模塊 游戲主界面模塊主要是指游戲的框圖,其包括一下內(nèi)容:1、游戲界面的邊界,即游戲中的墻;2、游戲中蛇

11、的構(gòu)成,以及蘋果的構(gòu)成;3、游戲中障礙物的構(gòu)成;4、游戲中分數(shù)顯示以及關(guān)卡顯示。游戲控制模塊(1)游戲開始控制:我們的程序是使用上鍵開始游戲,啟動游戲后會有一個初始菜單界面,我們 點擊“開始游戲”,彈出一句話“請按上鍵開始游戲” 。游戲開始后蛇向下移動, 然后由控制上下左右鍵來控制蛇的移動。 在程序中我們重新建了一個activity來控制游戲的開始,使游戲的開始界面更美觀。(2)游戲暫??刂疲?我們是使用center鍵來控制游戲的暫停的,這是一項人性化的設(shè)計,當(dāng)玩家 在游戲過程中突遇緊急情況時可以按center鍵暫停游戲,等玩家空閑后按center鍵可以繼續(xù)游戲。(3)游戲退出控制:在游戲的退

12、出上我們的程序使用了多種方式來應(yīng)對不同的情況,當(dāng)玩家正在 游戲中時,如想退出可以按“1”鍵,程序會自動跳轉(zhuǎn)到初始菜單界面,在初始 菜單界面點擊“退出游戲”即可退出游戲。 如果玩家在游戲中由于碰到墻或者咬 到自己或者碰到障礙物而導(dǎo)致游戲結(jié)束的, 游戲或自動彈出一個界面,里面有提 示是繼續(xù)游戲還是退出游戲,當(dāng)點擊“取消”時,游戲就會自動跳轉(zhuǎn)到初始菜單, 再點擊“退出游戲”即可。4設(shè)計與實現(xiàn)具體實現(xiàn)過程分為以下3步:項目框架、游戲類圖設(shè)計、界面設(shè)計。(1)項目框架:新建一個Eclipse工程并命名為Snake,工程如下圖所示:+T my. grne. snakei+ | J AiitliorViJW

13、- j盤歹直+ j J | Gam eHj ava+ j;Help, j avsL十U Ix JAHS xt alee Vi ew . j ava士D l Til eVi ew亠j avagexx CGeiYr ated Jva. FilesAn dr oid. 1 - 5工程中包括4個Activity,分別為Snake(主界面)、Game (游戲界面)、Help(游戲說明界面)、AuthorView(作者信息界面),通過不同Activity之間的轉(zhuǎn)換ala_la園assetsr-es+尹+ s圖1 Snake工程6實現(xiàn)不同界面之間的切換。游戲主界面如下圖所示:SnakePress UpTo

14、Play圖2游戲主界面游戲類圖設(shè)計Gam(Activity)繼承了SnakeView類,SnakeView類繼承了TileView類。TileView類繼承了View。TiltView的基類是View,包含了貪吃蛇游戲畫面的各個設(shè)定參數(shù),主要負 責(zé)繪制游戲畫面。TileView類定義如下:public class TileView extends View private static final Stringprotectedstaticint mTileSize = 20;/方格的邊長protectedstaticint mXTileCount;/X軸上方格的個數(shù)protectedstat

15、icint mYTileCount;/Y軸上方格的個數(shù)privatestaticint mXOffset;/繪圖時X軸上的起始坐標privatestaticint mYOffset;/繪圖時Y軸上的起始坐標private Bit map mTileArray;/位圖數(shù)組private int mTileGrid;/映射整個游戲畫面的數(shù)組private final Paint mPai nt =n ewPai nt(); 畫筆public TileView(Context context, AttributeSet attrs) super (c on text, attrs);Log. i (

16、tag , TileView Constructor);tag = yao;7Log. i (tag , mTileSize= + mTileSize );8/重置位圖數(shù)組的長度public void resetTiles( int tilecount) mTileArray =n ewBitmaptileco un t;Override/適應(yīng)各種分辨率的屏幕,當(dāng)改變屏幕大小尺寸時,同時修改tile的相關(guān)計數(shù)指標protected void onSizeChanged( int w, int h, int oldw, int oldh) Log. i (tag ,onSizeChanged,

17、+ w= + w + h= + h + oldw= +oldw + oldh= + oldh);mXTileCount = ( int) Math. floor (w /mYTileCount = ( int ) Math. floor (h /Log. i (tag , mXTileCount= + Log.i (tag , mYTileCount= +mXOffset = (w - ( mTileSizemYOffset = (h - ( mTileSizeLog. i (tag , mXOffset= +mXOffset);Log. i (tag , mYOffset= + mYOffs

18、et); mTileGrid = new int mXTileCount mYTileCount;clearTiles();/這里做了一個Drawable至U bitmap的轉(zhuǎn)換public void loadTile( int key, Drawabletile) Bitmap bitmap = Bitmap. createBitmap (mTileSize , mTileSize , Bitm ap.Config. ARGB_8888Canvas can vas = n ewCa nvas(bitmap);tile.draw(ca nvas); mTileArraykey = bitmap

19、;/清空圖形顯示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)的坐標位置繪制相應(yīng)的磚塊public void setTile( int tile in dex,int x, int y) mTileGridxy = tile in dex;/ on DrawmTileSize );mTileSize );mXTileCou nt);mYTil

20、eCou nt);* mXTileCount) / 2);mYTileCount) / 2);tile.setBou nds(0, 0,mTileSize , mTileSize );9Override/將直接操作的畫布繪制到手機界面上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 = mTileArra

21、ymTileGridxy; left = x *mTileSize + mXOffset ; top = y * mTileSize + mYOffset ;canvas.drawBitmap(bmp, left, top, mPaint);Sn akeView類定義了游戲運行時的畫面改變及蛇體和果子的更新方法。首先用Handler機制實現(xiàn)定時刷新,代碼如下:class RefreshHandler extends Handler /獲取消息并處理Overridepublic void handleMessage(Message msg) SnakeView.this .update();Sn

22、akeView.this .invalidate。;/刷新view為基類的界面Log.i (tag, handleMessage|ThreadName=+Thread.currentThread ().getName();/定時發(fā)送消息給UI線程,以此達到更新效果public void sleep( long delayMillis) this .removeMessages(0); /清空消息隊列,Handler進入對新消息 的等待Log.i (tag, sleep|Thread Name=+Thread.currentThread ().getName();/定時發(fā)送新消息,激活handl

23、er sendMessageDelayed(obtainMessage(0),delayMillis);定義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() 10Log.e(tag, init

24、SnakeView);/設(shè)置焦點,由于存在 文字界面 和 游戲界面的跳轉(zhuǎn)。這個focus是不 可或缺的。setFocusable( true );/取得資源中的圖片,加載到 磚塊字典 中。Resources r = this .getContext().getResources();resetTiles(4);loadTile( RED_STA,Rr.getDrawable(R.drawable. redstar );loadTile( YELLOW_ST,ArR.getDrawable(R.drawable. yellowstar );loadTile( GREEN_ST,ArR.getDr

25、awable(R.drawable. greenstar );此外還定義了updateWalls()、updateApples()、updateSnake()繪制墻、果子、 蛇,以及更新畫面函數(shù)、保存位置坐標函數(shù)等,具體代碼請詳見目錄。界面設(shè)計界面設(shè)計包括游戲主界面(Snake)、作者信息界面、游戲說明界面、游戲界 面的設(shè)計。界面的設(shè)計采用的是xml文檔形式,在xml文檔中規(guī)劃好界面布局布 局后,分別在java文件中聲明。主界面設(shè)計: 主界面包括一個TextView、一個imagebutton、三個button,其main.xml文檔如下:Button android:id= +id/Butt

26、on1android:layout_width= android:layout_height=android:visibility= Buttonandroid:id= +id/Button5android:layout_width= android:layout_height=android:visibility= Buttonandroid:id= +id/Button3android:layout_width= android:layout_height=android:visibility= 其對應(yīng)的Snake.java文件如下:IIwrap_contentwrap_contentvi

27、sible IIwrap_contentwrap_contentvisible IIwrap_contentwrap_contentvisible Button1 );Button3 );Button5 );12button3.setText(退出);button5.setText(游戲說明); imageButton.setImageResource(R.drawable.icon1 );/按鈕注冊到各自的監(jiān)聽器imageButton.setOnClickListener( newView.OnClickListener() public void onClick(View view) In

28、tent intent= newIntent();intent.setClass( Snake. this ,Game.class ); startActivity(intent);跳轉(zhuǎn)到Gam界面Snake.this .finish(););button1.setOnClickListener(newView.OnClickListener() public void onClick(View view) /setContentView(R.layout.author);Intent intent= newIntent(); intent.setClass( Snake.this ,Auth

29、orView. class );startActivity(intent);/跳轉(zhuǎn)到作者信息界面Snake.this .finish();/注銷跳轉(zhuǎn)之前的界面);button3.setOnClickListener(newView.OnClickListener() public void onClick(View view) Snake.this .finish();/退出應(yīng)用程序);button5.setOnClickListener(newView.OnClickListener() public void onClick(View view) Intent intent= newInt

30、ent(); intent.setClass( Snake.this ,Help.class );startActivity(intent);/跳轉(zhuǎn)到游戲說明界面Snake.this .finish(););13游戲界面設(shè)計: 游戲界面包括一個button,一個my.game.snake.SnakeView, 其game.xml文檔如下: 相對應(yīng)的Game.java文件如下:public class Game extends Activity /定義游戲參數(shù)private SnakeView mSnakeView;private static String ICICLE_KEY= snake-

31、view;privateint mMode =READ;Ypublic staticfinalintPAUSE= 0;public staticfinalintREADY= 1;public staticfinalintRUNNING=2;public staticfinalintLOSE= 3;Overridepublic void onCreate(Bundle savedInstanceState) super .onCreate(savedInstanceState); setContentView(R.layout. game);mSnakeView = (SnakeView) fi

32、ndViewById(R.id. /設(shè)置界面背景mSnakeView.setBackgroundResource(R.drawable.TextView tv = (TextView) findViewById(R.id.Button button4 = (Button) this .findViewById(R.id. button4 );/根據(jù)TextView狀態(tài)判斷是否開始游戲mSnakeView.setStatusTextView(tv);if (savedInstanceState = null ) mSnakeView.setMode(SnakeView.READ)Y;else B

33、undle bundle =savedInstanceState.getBundle( ICICLE_KEY);if (bundle != null ) mSnakeView.restoreState(bundle); else mSnakeView.setMode(SnakeView. PAUS)E;/按鈕注冊到監(jiān)聽器button4.setOnClickListener( newView.OnClickListener() public voidButsnake);background );text );15onClick(View view) Intent intent= newInten

34、t(); intent.setClass( Game. this ,Snake.class ); startActivity(intent);Game. this .finish(););/設(shè)置鍵盤監(jiān)聽事件,若按下UP鍵則開始游戲public boolean onKeyDown(int keyCode, KeyEvent msg) if (keyCode = KeyEvent. KEYCODE_DPAD)_UP if (mMode = READY|mMode = LOSE) mSnakeView.initNewGame();mSnakeView.setMode(RUNNIN)G; mSnake

35、View.update(); return ( true );return super .onKeyDown(keyCode, msg);/判斷游戲狀態(tài)是否為暫停protected void onPause() super .onPause();/ Pause the game along with the activity mSnakeView.setMode(SnakeView.PAUS)E;Override/保存事件狀態(tài)public void onSaveInstanceState(Bundle outState) outState.putBundle( ICICLE_KEY, mSna

36、keView.saveState();作者信息界面設(shè)計:此界面包括一個TextView、一個button,其文檔如下:author.xml16AbsoluteLayoutandroid:layout_width=android:layout_height= 相對應(yīng)的AuthorView.java文件如下:public class AuthorView extends ActivityOverridepublic void onCreate(Bundle savedInstanceState) super .onCreate(savedInstanceState);setContentView(

37、R.layout.author );Button button2 = (Button)this .findViewById(R.id. Button2 );/按鈕注冊到監(jiān)聽器button2.setOnClickListener( newView.OnClickListener() public void onClick(View view) Intent intent= newIntent();intent.setClass( AuthorView. this ,Snake. class );/跳轉(zhuǎn)到主界面startActivity(intent);/注銷當(dāng)前界面AuthorView. thi

38、s .finish(););游戲說明界面設(shè)計: 此界面包括一個TextView、一個button,其help.xml文檔如下:android:visibility=visible+id/text姓名:性別: 學(xué)院:170dip android:id= +id/scrollView1 android:background=drawable/background2 android:layout_height= wrap_contentandroid:layout_width= wrap_content android:layout_y= 4dip 相對應(yīng)的Help.java文件如下:public

39、class Help extends ActivityOverridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.help );Button button6 = (Button)this .findViewById(R.id.Button6 );/按鈕注冊到監(jiān)聽器button6.setOnClickListener( newView.OnClickListener() public voidonClick(View view)

40、 Intent intent= newIntent(); intent.setClass( Help.this ,Snake.class );/跳轉(zhuǎn)到主界面startActivity(intent);/注銷當(dāng)前界面Help.this .finish(););5項目演示程序運行效果圖如下:18圖3進入Snake應(yīng)用程序圖4游戲主界面CameraContactsDev ToolsCustsmiLocale(-I XEmailSnake on aPhoneGalleryGesturesBuilderPhoneHeltoAndrctdSetting?MuskSpareParts19bS&4:ADT218:49 AM213 |456789oQWRTY jI0pAsyDFGHJKLDELZ1會zXCVBNMa5YMr圖5游戲運行界面5S54:ADT2112345$67|8 |0QWERTYj.uI0pA5

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論