版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> JAVAME程序設(shè)計(jì)</p><p><b> 課程設(shè)計(jì)說明書</b></p><p> 成績: </p><p> 題 目:手機(jī)黃金礦工游戲</p><p> 學(xué) 院:計(jì)算機(jī)與信息工程學(xué)院</p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與
2、技術(shù)</p><p> 班 級:</p><p> 姓 名:</p><p> 學(xué) 號:107</p><p> 起止時(shí)間:2013-6-24—2013-7-5</p><p><b> 課程設(shè)計(jì)成績評定表</b></p><p><b>
3、課程設(shè)計(jì)任務(wù)書</b></p><p> 一、設(shè)計(jì)題目:《手機(jī)黃金礦工游戲》</p><p> 二、設(shè)計(jì)內(nèi)容:黃金礦工是一款備受玩家喜愛的經(jīng)典游戲。本設(shè)計(jì)針對黃金礦工實(shí)現(xiàn)了新游戲,恭喜過關(guān)、游戲失敗、暫停游戲、繼續(xù)游戲或重新開始等過程。可以清楚的演示各個畫面的切換和一些游戲開發(fā)的類庫。</p><p><b> 三、設(shè)計(jì)要求:</b
4、></p><p> 1、開始顯示歡迎界面,然后是游戲界面,主界面顯示各種鍵的功能以及菜單-開始游戲和離開游戲。</p><p> 2、開始玩游戲,如果贏了可進(jìn)入下一關(guān)或重新開始。采用子菜單的重新開始來實(shí)現(xiàn)以上功能。</p><p> 3、游戲期間可以暫停游戲。子菜單選項(xiàng)的暫停/繼續(xù)游戲、離開游戲?qū)崿F(xiàn)以上功能。</p><p>&
5、lt;b> 四、工作計(jì)劃:</b></p><p> 指導(dǎo)教師: 王艷濤 陳偉 </p><p> 教研室主任: 高殿武 </p><p> 2013 年6 月 25 日</p><p><b> 目 錄</b></p><p> 1、程序的算
6、法及說明2</p><p> 1.1、程序算法2</p><p> 1.2、程序的使用方法2</p><p> 2、程序的項(xiàng)目結(jié)構(gòu)及說明5</p><p> 3、程序運(yùn)行與發(fā)布6</p><p><b> 3.1歡迎界面6</b></p><p>&l
7、t;b> 3.2主界面6</b></p><p> 3.3 游戲界面7</p><p><b> 4、總結(jié)8</b></p><p><b> 5、參考文獻(xiàn)9</b></p><p> 附錄:程序源代碼10</p><p><b&g
8、t; 程序的算法及說明</b></p><p><b> 1.1、程序算法</b></p><p> 游戲規(guī)則:黃金礦工游戲的目的是用最少的時(shí)間盡量鉤到所有的金塊與石頭塊。在游戲中,游戲角色不能移動。游戲開始即倒計(jì)時(shí)50秒。操作者通過鉤子左右搖擺來選擇方向發(fā)出鉤子。一次只能鉤到一個物品,當(dāng)鉤到金塊或石頭塊時(shí),其形狀越大,鉤上來的時(shí)間越慢。每次成功鉤到
9、后系統(tǒng)會記相應(yīng)的錢數(shù)。注意游戲時(shí)間結(jié)束會判定所得錢數(shù)與游戲要求錢數(shù)比較,如高于目標(biāo)錢數(shù)則繼續(xù)下一關(guān)。否則游戲失敗,此時(shí)建議重新玩一次。如果成功達(dá)到要求錢數(shù),屏幕會出現(xiàn)提示,此時(shí)可進(jìn)入下一關(guān)繼續(xù)游戲。本游戲共20關(guān),每關(guān)的難易程度不同,越往后目標(biāo)錢數(shù)越高,選擇合適方向鉤選大塊金塊的機(jī)會越難??简?yàn)玩家準(zhǔn)確的判斷力與果斷性。</p><p> 1.2、程序的使用方法</p><p> 1.開
10、始顯示歡迎界面,歡迎界面顯示了游戲制作者的主要信息,然后3秒后自動跳轉(zhuǎn)到游戲主界面。</p><p> 2. 主界面中顯示各種鍵的功能以及菜單-開始游戲和離開游戲。游戲中鉤子自動左右搖擺。按↓鉤子射出。</p><p> 3.游戲期間,右鍵菜單可以選定暫停游戲,暫停后可選繼續(xù)游戲。</p><p> 4.游戲中,右鍵菜單可以選擇重新開始游戲和離開游戲。<
11、/p><p><b> 程序流程圖如下:</b></p><p><b> 圖 1 程序流程圖</b></p><p> 2、程序的項(xiàng)目結(jié)構(gòu)及說明</p><p> 本程序的項(xiàng)目結(jié)構(gòu)如圖2所示</p><p> 圖2 手機(jī)游戲推箱子目結(jié)構(gòu)圖</p><
12、;p> 本程序的JAVA源文件說明如下:</p><p> 本程序共Stone.java, Hook.java, Gold.java, Gain.java, FlashScreen.java, GameTimer.java, Target.java,GameCanvas.java,GoldMiner .java。9個JAVA源文件:</p><p> Stone:石頭類,定義石
13、頭屬性和方法。</p><p> Hook:礦鉤類。定義礦鉤屬性和方法。</p><p> Gold:金塊類。定義金塊屬性和方法。</p><p><b> Gain:金錢類。</b></p><p> FlashScreen:閃屏類,自我介紹界面。</p><p> GameTimer
14、:時(shí)間類??刂茣r(shí)間。</p><p> Target:目標(biāo)基類。</p><p> GameCanvas:畫布。</p><p> GoldMiner:入口類,該文件的父類是MIDlet。</p><p><b> 3、程序運(yùn)行與發(fā)布</b></p><p><b> 3.1歡
15、迎界面</b></p><p> 歡迎界面顯示了程序第一個屏幕,歡迎界面如圖3所示。 </p><p><b> 圖3 歡迎界面</b></p><p><b> 3.2主界面</b></p><p> 進(jìn)入主程序界面后可根據(jù)界面中的提示選擇新游戲或選關(guān),主界面如圖4所示。&l
16、t;/p><p><b> 圖4 程序主界面</b></p><p><b> 3.3 游戲界面</b></p><p> 開始玩游戲,如果贏了可進(jìn)入下一關(guān)或重來。采用子菜單選項(xiàng)確定和取消來實(shí)現(xiàn)以上功能。</p><p> 圖5 開始游戲界面 圖
17、6失敗出現(xiàn)的界面</p><p> 圖7通關(guān)游戲界面 圖8所有關(guān)卡通關(guān)界面 </p><p><b> 4、總結(jié)</b></p><p> 在本次課程設(shè)計(jì)過程中,為努力做到最好,本人做了很多工作。設(shè)計(jì)前從各方面考慮選定了手機(jī)游戲黃金礦工,選定題目后,通過網(wǎng)上搜索等途徑尋找了一些資料方便設(shè)計(jì)。盡管如
18、此,在設(shè)計(jì)時(shí)還是遇到很多問題。起初很慌亂,但是在老師同學(xué)的幫助下,得到了解決。隨后便逐漸的適應(yīng)了這一過程,也慢慢摸索到了一些解決方法和途徑。很辛苦,但是當(dāng)程序能夠順利運(yùn)行后非常開心。</p><p> 黃金礦工游戲有不足之處:只有過關(guān)才能選擇繼續(xù)或重玩,輸了就不能重玩。這是本次設(shè)計(jì)的遺憾之處,但是通過本次設(shè)計(jì),本人對JAVAME有了更深層次的理解和認(rèn)識。對其中的很多類庫以及很多方法都更為了解與掌握??傊找媪级?/p>
19、,這次設(shè)計(jì)為本人以后更深入的學(xué)習(xí)JAVA奠定了基礎(chǔ),也提高了自身動手實(shí)踐能力。</p><p><b> 5、參考文獻(xiàn)</b></p><p> [1] 崔尚志. Mobile手機(jī)應(yīng)用開發(fā).機(jī)械工業(yè)出版社.1989:60-98</p><p> [2] 張強(qiáng),陸文華. J2ME手機(jī)開發(fā)入門.1993,29(6):263-268</p
20、><p> [3] 王夢瑤. Windows Mobile平臺應(yīng)用與開發(fā).清華大學(xué)出版社.1992:8-13</p><p><b> 附錄:程序源代碼</b></p><p> GoldMiner.java頁面代碼:</p><p> import javax.microedition.midlet.*;</
21、p><p> import javax.microedition.lcdui.*;</p><p> public class GoldMiner extends MIDlet {</p><p> private GameCanvas gamecanvas;</p><p> private Display display=null;&
22、lt;/p><p> private FlashScreen flashscreen; //聲明閃屏畫面對象</p><p> public GoldMiner(){ </p><p><b> }</b></p><p> public void startApp() {</p><p>
23、; display=Display.getDisplay(this);</p><p> flashscreen=new FlashScreen(this); //創(chuàng)建閃屏</p><p> display.setCurrent(flashscreen); </p><p><b> }</b></p><p
24、> public void loadFlashScreen(){</p><p> //設(shè)置閃屏畫面為當(dāng)前顯示畫面</p><p><b> }</b></p><p> public void FlashScreen(){</p><p> if (gamecanvas == null){</p&
25、gt;<p> gamecanvas = new GameCanvas(this);</p><p> Display.getDisplay(this).setCurrent(gamecanvas);</p><p><b> }</b></p><p> gamecanvas.doStartApp();</p>
26、;<p><b> }</b></p><p> public void pauseApp(){</p><p> gamecanvas.doPauseApp();</p><p><b> }</b></p><p> protected void destroyApp(b
27、oolean unconditional)</p><p> throws MIDletStateChangeException {}</p><p> public void doExit() {</p><p><b> try {</b></p><p> destroyApp(false);</p&
28、gt;<p> notifyDestroyed();</p><p> }catch(MIDletStateChangeException e) {}</p><p><b> }</b></p><p><b> } </b></p><p> GameCanvas.jav
29、a頁面部分代碼:</p><p> import java.util.Timer;</p><p> import javax.microedition.lcdui.*;</p><p> import java.io.IOException;</p><p> import java.util.Random;</p>
30、<p> import javax.microedition.lcdui.game.Sprite;</p><p> public class GameCanvas extends Canvas implements Runnable, CommandListener {</p><p> private static final int TIMEPERSTAGE = 50
31、;</p><p> private static final int GOLDNUM = 10;</p><p> private static final int STONENUM = 4;</p><p> private static final int GAMEOVER = 0;</p><p> private stati
32、c final int STARTING = 1;</p><p> private static final int CIRCUMGYRATEING = 2;</p><p> private static final int STRETCHING = 3;</p><p> private static final int BACKING = 4;<
33、/p><p> private static final int CATCHING = 5;</p><p> private static final int STAGEPASSING = 6;</p><p> private static final int ALLSTATESPASSED = 7;</p><p> private
34、 boolean isPaused;</p><p> /** Start指令變量 */</p><p> private Command startCmd = new Command("開始游戲", Command.SCREEN, 1);</p><p> /** Exit指令變量 */</p><p> pri
35、vate Command exitCmd = new Command("離開游戲", Command.SCREEN, 5);</p><p> /** Pause指令變量 */</p><p> private Command pauseCmd = new Command("暫停游戲", Command.SCREEN, 1);</p>
36、<p> /** Resume指令變量 */</p><p> private Command resumeCmd = new Command("繼續(xù)游戲", Command.SCREEN, 1);</p><p> /** Quit指令變量 */</p><p> private Command quitCmd = new
37、 Command("重新開始", Command.SCREEN, 4);</p><p> private GoldMiner goldminer;</p><p> private Gold [] gold = new Gold[GOLDNUM];</p><p> private Stone [] stone = new Stone[S
38、TONENUM];</p><p> private int ScreenWidth;</p><p> private int ScreenHeight;</p><p> private Random randomTool = new Random();</p><p> private Hook hook = new Hook(
39、);</p><p> private int hookCirState;</p><p> private int Stage;</p><p> private Image BackGround;</p><p> private Gain gain;</p><p> private int Amoun
40、tofMoney;</p><p> private int StageNum;</p><p> private int [] MinMoney = { 650, 1500, 2500, 3700, 5000, 6500, 8000, 10000 };</p><p> private int LeftTime;</p><p>
41、private int MoneyToAdd;</p><p> private Timer timer = null;</p><p> public void doStartApp(){</p><p> //repaint();</p><p> Thread t = new Thread(this);</p>&
42、lt;p> t.start();</p><p> } public GameCanvas( GoldMiner goldminer ) {</p><p> this.goldminer = goldminer;</p><p> ScreenWidth = getWidth();</p><p> ScreenHei
43、ght = getHeight();</p><p> Stage = STARTING;</p><p> gain = new Gain();</p><p><b> try {</b></p><p> BackGround = Image.createImage("/BG.png")
44、;</p><p> } catch(IOException ioe){</p><p> System.out.println("Can't load file Background.png");</p><p><b> }</b></p><p><b> }</
45、b></p><p> private void Initialize(){</p><p> hookCirState = 1;</p><p> hook.Initialize();</p><p> AmountofMoney = 0;</p><p> isPaused = false;<
46、/p><p> StageNum = 1;</p><p> LeftTime = TIMEPERSTAGE;</p><p> MoneyToAdd = 0;</p><p> IniGold();</p><p> IniStone();</p><p> setCommandLis
47、tener(this);</p><p> Stage = STARTING;</p><p> addCommand(startCmd);</p><p> addCommand(exitCmd);</p><p><b> }</b></p><p> private void Ch
48、angeStage(){</p><p> StageNum++;</p><p> IniGold();</p><p> IniStone();</p><p> Stage = CIRCUMGYRATEING;</p><p> LeftTime = TIMEPERSTAGE;</p>&
49、lt;p> MoneyToAdd = 0;</p><p> hook.Initialize();</p><p><b> }</b></p><p> private void IniGold(){</p><p> int tempint = 1;</p><p> for
50、( int i = 0; i < GOLDNUM; i++ ){</p><p> if ( i < 2 ){</p><p> gold[i] = new Gold( 5+randomTool.nextInt(ScreenWidth-10),</p><p> randomTool.nextInt(ScreenHeight/2-40)+50,
51、tempint );</p><p><b> } else{</b></p><p> tempint = randomTool.nextInt(4)+1;</p><p> gold[i] = new Gold(randomTool.nextInt(ScreenWidth-30)+15,</p><p> r
52、andomTool.nextInt(ScreenHeight/2)+ScreenHeight/3+30, tempint );</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> priva
53、te void IniStone(){</p><p> for( int i = 0; i < STONENUM; i++ ){</p><p> stone[i] = new Stone(50+randomTool.nextInt(ScreenWidth-100),</p><p> randomTool.nextInt(ScreenHeight/2
54、-40)+70, randomTool.nextInt(2)+1);</p><p><b> }</b></p><p><b> }</b></p><p> public void doPauseApp(){</p><p><b> }</b></p>
55、;<p> public void paint(Graphics g) {</p><p> switch(Stage){</p><p> case STARTING:</p><p> Initialize();</p><p><b> try{</b></p><p&g
56、t; g.drawImage( Image.createImage("/Start.png"), ScreenWidth/2,</p><p> ScreenHeight/2, Graphics.HCENTER|Graphics.VCENTER );</p><p> } catch(IOException ioe){}</p><p>&
57、lt;b> break;</b></p><p> case CIRCUMGYRATEING :</p><p> paintBackGround(g);</p><p> hook.getHookSprite().paint(g);</p><p><b> break;</b></p
58、><p> case STRETCHING:</p><p> paintBackGround(g);</p><p> g.setColor(0x00000000);</p><p> g.drawLine(hook.INIX, hook.INIY, hook.getX(), hook.getY());</p><p
59、> hook.getHookSprite().paint(g);</p><p><b> break;</b></p><p> case BACKING :</p><p> paintBackGround(g);</p><p> g.setColor(0x00000000);</p>
60、<p> g.drawLine(hook.INIX, hook.INIY, hook.getX(), hook.getY());</p><p> hook.getHookSprite().paint(g);</p><p><b> break;</b></p><p> case CATCHING :</p>
61、<p> paintBackGround(g);</p><p> g.setColor(0x00000000);</p><p> g.drawLine(hook.INIX, hook.INIY, hook.getX(), hook.getY());</p><p> gain.getGainSprite().setRefPixelPosit
62、ion(hook.getX(), hook.getY());</p><p> gain.getGainSprite().paint(g);</p><p><b> break;</b></p><p> case STAGEPASSING :</p><p><b> try{</b>&
63、lt;/p><p> g.drawImage( Image.createImage("/GP.png"), ScreenWidth/2,</p><p> ScreenHeight/2, Graphics.HCENTER|Graphics.VCENTER );</p><p> g.setColor(254, 255, 0);</p>
64、;<p> g.drawString(String.valueOf(MinMoney[StageNum]), 150, 167,</p><p> Graphics.TOP|Graphics.LEFT);</p><p> } catch(IOException ioe){</p><p> System.out.println("C
65、an't load GP.png file.");</p><p><b> }</b></p><p><b> break;</b></p><p> case GAMEOVER :</p><p><b> try{</b></p>
66、<p> g.drawImage( Image.createImage("/GameOver.png"), ScreenWidth/2,</p><p> ScreenHeight/2, Graphics.HCENTER|Graphics.VCENTER );</p><p> } catch(IOException ioe){</p>
67、<p> System.out.println("Can't load GameOver.png file.");</p><p><b> }</b></p><p><b> break;</b></p><p> case ALLSTATESPASSED :</p&
68、gt;<p><b> try{</b></p><p> g.drawImage( Image.createImage("/CM.png"), ScreenWidth/2,</p><p> ScreenHeight/2, Graphics.HCENTER|Graphics.VCENTER );</p><
69、p> } catch(IOException ioe){</p><p> System.out.println("Can't load GameOver.png file.");</p><p><b> }</b></p><p><b> break;</b></p&g
70、t;<p><b> }</b></p><p><b> }</b></p><p> Hook.java頁面代碼:</p><p> import javax.microedition.lcdui.Graphics;</p><p> import javax.micro
71、edition.lcdui.Image;</p><p> import java.io.IOException;</p><p> import javax.microedition.lcdui.game.Sprite;</p><p> public class Hook {</p><p> public static fina
72、l int SPEED = 5;</p><p> public static final int INIX = 120;</p><p> public static final int INIY = 37;</p><p> private static final double [] TRIANGLE = {0.9848, 0.9397, 0.8660,
73、 </p><p> 0.7660, 0.6427, 0.5, 0.3420, 0.1736 };</p><p> private int nowSpeed;</p><p> private Image Source;</p><p> private double X, Y;</p><p> priv
74、ate int currentImage;</p><p> private Sprite HookSprite;</p><p> public Hook() {</p><p><b> try{</b></p><p> Source = Image.createImage("/GoldHook.
75、png");</p><p> HookSprite = new Sprite(Source, 30, 30);</p><p> HookSprite.defineReferencePixel(17, 8);</p><p> Initialize();</p><p> } catch(IOException ioe){
76、</p><p> System.out.println("GoldHook can't be loaded.");</p><p><b> }</b></p><p><b> }</b></p><p> public void Initialize(){&
77、lt;/p><p> getHookSprite().setVisible(true);</p><p> getHookSprite().setFrame(0);</p><p> getHookSprite().setTransform(Sprite.TRANS_NONE);</p><p> nowSpeed = SPEED;<
78、;/p><p><b> X = INIX;</b></p><p><b> Y = INIY;</b></p><p> currentImage = 0;</p><p> HookSprite.setRefPixelPosition((int)X,(int)Y);</p>
79、<p><b> }</b></p><p> public int getnowSpeed(){</p><p> return nowSpeed;</p><p><b> }</b></p><p> public int getX(){</p><p&
80、gt; return (int)X;</p><p><b> }</b></p><p> public int getY(){</p><p> return (int)Y;</p><p><b> }</b></p><p> public void se
81、tXY(int x, int y){</p><p><b> X = x;</b></p><p><b> Y = y;</b></p><p><b> }</b></p><p> public void setnowSpeed(int nowspeed){&l
82、t;/p><p> nowSpeed = nowspeed;</p><p><b> }</b></p><p> public void setCurrentImage( int currentimage ){</p><p> currentImage = currentimage;</p>&l
83、t;p><b> }</b></p><p> public Image getSource(){</p><p> return Source;</p><p><b> }</b></p><p> public Sprite getHookSprite(){</p>
84、<p> return HookSprite;</p><p><b> } </b></p><p> public void extReSetXY( boolean isLeft ){</p><p> if ( HookSprite.getFrame() == 8 ){</p><p>
85、 Y = Y+nowSpeed;</p><p><b> }</b></p><p><b> else{</b></p><p> if ( isLeft == true ){</p><p> X = X-nowSpeed*TRIANGLE[HookSprite.getFrame()]
86、;</p><p> Y = Y+nowSpeed*TRIANGLE[TRIANGLE.length-HookSprite.getFrame()-1];</p><p><b> }</b></p><p><b> else{</b></p><p> X = X+nowSpeed*TRI
87、ANGLE[TRIANGLE.length-HookSprite.getFrame()-1]; </p><p> Y = Y+nowSpeed*TRIANGLE[HookSprite.getFrame()];</p><p><b> }</b></p><p><b> }</b></p
88、><p> HookSprite.setRefPixelPosition((int)X, (int)Y);</p><p><b> }</b></p><p> public void backReSetXY( boolean isLeft ){</p><p> if ( HookSprite.getFrame(
89、) == 8 ){</p><p> Y = Y-nowSpeed;</p><p><b> }</b></p><p><b> else{</b></p><p> if ( isLeft == true ){</p><p> X = X+nowSpeed*
90、TRIANGLE[HookSprite.getFrame()];</p><p> Y = Y-nowSpeed*TRIANGLE[TRIANGLE.length-HookSprite.getFrame()-1];</p><p><b> }</b></p><p><b> else{</b></p>
91、<p> X = X-nowSpeed*TRIANGLE[TRIANGLE.length-HookSprite.getFrame()-1]; </p><p> Y = Y-nowSpeed*TRIANGLE[HookSprite.getFrame()];</p><p><b> }</b></p><p&
92、gt;<b> }</b></p><p> HookSprite.setRefPixelPosition((int)X, (int)Y);</p><p><b> }</b></p><p><b> }</b></p><p> Gold.java頁面代碼:&l
93、t;/p><p> import javax.microedition.lcdui.Image;</p><p> import java.io.IOException;</p><p> import javax.microedition.lcdui.game.Sprite;</p><p> public class Gold ext
94、ends Target {</p><p> private static final int PERVALUE = 100;</p><p> public Gold(){</p><p><b> super();</b></p><p><b> }</b></p>&l
95、t;p> public Gold( int x, int y, int size ) {</p><p> String filename = "/G" + String.valueOf(size) + ".png";</p><p> try{ </p><p> super.setAll(x,
96、y, size, new Sprite(Image.createImage(filename)) );</p><p> }catch( IOException ioe ){</p><p> System.out.println("Can't Load Gold file.");</p><p><b> }</b
97、></p><p><b> } </b></p><p> public int getRelValue(){</p><p> return getSize()*PERVALUE;</p><p><b> }</b></p><p><b>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《黃金礦工》小游戲通關(guān)攻略
- java課程設(shè)計(jì)--手機(jī)游戲
- javame課程設(shè)計(jì)-- 手機(jī)推箱子游戲
- 課程設(shè)計(jì)--安卓手機(jī)游戲---貪吃蛇
- 鉛鋅金礦斜井設(shè)計(jì)井巷課程設(shè)計(jì)
- 手機(jī)鍵盤課程設(shè)計(jì)
- 剪刀游戲課程設(shè)計(jì)
- 紙牌游戲課程設(shè)計(jì)
- 紙牌游戲課程設(shè)計(jì)
- 賽車游戲課程設(shè)計(jì)
- 采礦工程課程設(shè)計(jì)
- java課程設(shè)計(jì)-猜數(shù)游戲課程設(shè)計(jì)報(bào)告
- 手機(jī)彩信制作課程設(shè)計(jì)
- 課程設(shè)計(jì)---手機(jī)外殼proe設(shè)計(jì)
- 課程設(shè)計(jì)---手機(jī)外殼proe設(shè)計(jì)
- java課程設(shè)計(jì)-蜘蛛紙牌游戲設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 約瑟夫生死游戲課程設(shè)計(jì)
- 推箱子游戲課程設(shè)計(jì)
- java課程設(shè)計(jì)-掃雷游戲
- 掃雷游戲課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論