版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> JAVA設(shè)計(jì)貪吃蛇游戲</p><p><b> 1.課程設(shè)計(jì)目的</b></p><p> 《JAVA程序設(shè)計(jì)》是計(jì)算機(jī)相關(guān)專業(yè)的必修專業(yè)基礎(chǔ)課程,其實(shí)踐性、應(yīng)用性很強(qiáng)。實(shí)踐教學(xué)環(huán)節(jié)是必不可少的一個(gè)重要環(huán)節(jié)。本課程的程序設(shè)計(jì)專題實(shí)際是計(jì)算機(jī)相關(guān)專業(yè)學(xué)生學(xué)習(xí)完《JAVA程序設(shè)計(jì)》課程后,進(jìn)行的一次全面的綜合訓(xùn)練,JAVA程序設(shè)計(jì)的設(shè)計(jì)目的是加
2、深對(duì)理論教學(xué)內(nèi)容的理解和掌握,使學(xué)生較系統(tǒng)地掌握程序設(shè)計(jì)及其在網(wǎng)絡(luò)開(kāi)發(fā)中的廣泛應(yīng)用,基本方法及技巧,為學(xué)生綜合運(yùn)用所學(xué)知識(shí),利用軟件工程為基礎(chǔ)進(jìn)行軟件開(kāi)發(fā)、并在實(shí)踐應(yīng)用方面打下一定基礎(chǔ)。</p><p><b> 2.設(shè)計(jì)方案論證</b></p><p><b> 2.1設(shè)計(jì)思路</b></p><p> 貪吃蛇游戲
3、設(shè)計(jì)與實(shí)現(xiàn),主要分為以下二個(gè)模塊:游戲主界面模塊和游戲控制模塊。在此只實(shí)現(xiàn)游戲的游戲主界面模塊、游戲控制模塊。并且只是實(shí)現(xiàn)移動(dòng)速度、暫停、重新開(kāi)始等功能。</p><p><b> 游戲主界面模塊:</b></p><p> 游戲的主界面是進(jìn)入游戲后,能夠給玩家第一感官的部分,主要包括游戲圖形區(qū)域界面、游戲的速度選擇更新界面、新生方塊的預(yù)覽、游戲速度控制按鈕、暫停
4、游戲按鈕、重新開(kāi)始游戲按鈕以及游戲排行榜按鈕。從很大程度上決定了玩家對(duì)游戲的興趣問(wèn)題,因此,游戲的主界面應(yīng)該力求美觀,爽心悅目。</p><p><b> 游戲控制模塊:</b></p><p> 這個(gè)模塊是游戲的中心環(huán)節(jié),主要完成控制游戲的速度、暫停、重新開(kāi)始等功能。為了能夠給玩家一個(gè)很好的游戲環(huán)境,這部分應(yīng)該做到易懂、易操作。</p><p
5、> 本設(shè)計(jì)所開(kāi)發(fā)的是基于Java的一個(gè)貪吃蛇游戲軟件,主要實(shí)現(xiàn)游戲的速度控制、游戲的暫停、游戲的退出等功能,分為: 游戲主界面模塊、游戲控制模塊以二個(gè)模塊。</p><p><b> 性能:</b></p><p> 本軟件在設(shè)計(jì)方面本著方便、實(shí)用及娛樂(lè)性高的宗旨,在對(duì)界面進(jìn)行設(shè)計(jì)的過(guò)程中,始終堅(jiān)持清晰明了,在性能方面能夠?qū)崿F(xiàn)效率高,不易出錯(cuò)等優(yōu)點(diǎn)。<
6、;/p><p><b> 2.2概要設(shè)計(jì)</b></p><p> 2.3.1自定義類說(shuō)明</p><p> 類名:Exception</p><p> 作用:用來(lái)處理當(dāng)蛇撞到墻或自己的身體時(shí)程序的運(yùn)行</p><p> 繼承的父類:GreedSnake類</p><p&
7、gt;<b> 實(shí)現(xiàn)的接口:沒(méi)有</b></p><p><b> 2.3詳細(xì)設(shè)計(jì)</b></p><p><b> 2.3.1程序概述</b></p><p> 本程序是一個(gè)利用Java應(yīng)用軟件制作的貪食蛇小游戲。</p><p> 在游戲過(guò)程中,用戶通過(guò)點(diǎn)擊小鍵盤
8、區(qū)的方向鍵來(lái)控制蛇的運(yùn)行方向;通過(guò)Pageup和pagedown鍵來(lái)控制蛇的移動(dòng)速度,每單擊一次,蛇的移動(dòng)速度改變一次,改變頻率為0.75。游戲運(yùn)行過(guò)程中,如果想暫停,只需要按Space或P鍵即可。重新開(kāi)始游戲的按鍵為Enter、S或R。當(dāng)蛇沒(méi)有吃到食物且碰到墻壁或自己的身體時(shí)游戲結(jié)束。</p><p> 本程序的另一個(gè)功能是在程序運(yùn)行窗口的左上角顯示,用戶在游戲過(guò)程中所得的分?jǐn)?shù),不過(guò)缺點(diǎn)是無(wú)法保存分?jǐn)?shù)。<
9、;/p><p> 2.4.2程序流程圖</p><p> 本次游戲設(shè)計(jì)的處理流程如圖1所示。</p><p> 2.3.3 總設(shè)計(jì)模塊的劃分</p><p> 根據(jù)游戲需求中游戲所要實(shí)現(xiàn)的功能,整個(gè)游戲分為二個(gè)模塊進(jìn)行具體的設(shè)計(jì),如圖2所示。</p><p> 游戲控制模塊的主要框架如圖3所示。</p>
10、;<p> 游戲移動(dòng)速度功能控制:點(diǎn)擊“PageUp, PageDown”按鈕,蛇的移動(dòng)速度就會(huì)改變,每點(diǎn)擊一次,速度的改變頻率為0.75。</p><p> 游戲暫??刂疲狐c(diǎn)擊“Space或P暫停游戲”按鈕,游戲暫停;再單擊,游戲繼續(xù)。</p><p> 游戲重新開(kāi)始控制:點(diǎn)擊“Enter、S或R”鍵后,系統(tǒng)圖重新載入,即游戲重新開(kāi)始。</p><
11、p> 2.3.4類、方法、屬性說(shuō)明</p><p><b> (1)成員變量</b></p><p> 表1 主要成員變量(屬性)</p><p><b> ?。?)方法</b></p><p><b> 表2 主要方法</b></p><p&
12、gt;<b> 3.設(shè)計(jì)結(jié)果與分析</b></p><p> 本程序在運(yùn)行后,能夠正常的相應(yīng)按鍵事件。由于程序的主要部分已經(jīng)集成為一個(gè)對(duì)象SnakeModel,所以利用鍵盤就可以實(shí)現(xiàn)操作。蛇前行的過(guò)程中,可以任意向其左或右方向改變方向,但按其前進(jìn)方向和前進(jìn)的反方向都沒(méi)有反應(yīng)。點(diǎn)擊PageUp, PageDown鍵后,蛇的移動(dòng)速度會(huì)根據(jù)點(diǎn)擊的次數(shù)而改變。每點(diǎn)擊一次,速度的改變頻率為0.75
13、。點(diǎn)擊Space或P鍵后游戲就暫停了。點(diǎn)擊Enter或R或S鍵后系統(tǒng)則重新載入,即游戲重新開(kāi)始。運(yùn)行結(jié)果如下圖4所示:</p><p> 圖4 程序運(yùn)行圖 </p><p> 當(dāng)蛇沒(méi)有吃到食物且碰到邊界或碰撞到自己的身體時(shí),游戲結(jié)束,此時(shí)得分為0。如果想重新開(kāi)始即按ENTER或S鍵,運(yùn)行結(jié)果如下圖5所示:</p><p><b> 圖5 程序結(jié)束圖
14、</b></p><p><b> 程序異常處理</b></p><p> 在蛇的運(yùn)行線程過(guò)程中,當(dāng)蛇撞到墻或自己的身體時(shí),將拋出一個(gè)Exception類的異常對(duì)象,然后使用try-catch去捕捉這個(gè)異常,</p><p><b> 異常的處理如下:</b></p><p>
15、try{ Thread.sleep(timeInterval); }catch(Exception e) { break; </p><p><b> }</b></p><p><b> 4.心得體會(huì)</b></p><p> 通過(guò)這次課程設(shè)計(jì),我對(duì)這學(xué)期所學(xué)的JAVA語(yǔ)言程序設(shè)計(jì)有一個(gè)更深刻的了解,將所
16、學(xué)的知識(shí)應(yīng)用于實(shí)踐,由于所學(xué)知識(shí)有限,為了使游戲能夠?qū)崿F(xiàn)自己預(yù)先的構(gòu)想,我通過(guò)上網(wǎng)和去圖書(shū)館找程序,比較好的流程圖及功能模塊,不斷閱讀修改代碼使程序達(dá)到預(yù)期所要實(shí)現(xiàn)的目標(biāo),完成課程設(shè)計(jì)后,可以感覺(jué)到自己對(duì)Java程序的又有了新的認(rèn)識(shí)。</p><p> 在做Java設(shè)計(jì)之前也有做過(guò)其他的課程設(shè)計(jì),大多規(guī)模很小。在數(shù)據(jù)庫(kù)、各種應(yīng)用軟件和游戲中,我仍覺(jué)得對(duì)游戲的設(shè)計(jì)有極大的熱情。因?yàn)槠涓鱾€(gè)模塊間的聯(lián)系十分緊密,代碼
17、重復(fù)執(zhí)行率高,當(dāng)經(jīng)過(guò)無(wú)數(shù)次的調(diào)試、修改后,能最終看到成品,有無(wú)比自豪的心情。大學(xué)期間做過(guò)圖書(shū)館管理程序等簡(jiǎn)單的數(shù)據(jù)庫(kù)管理系統(tǒng)的課程設(shè)計(jì),思想大致相似,變化范圍有限,沒(méi)有太多自己可發(fā)揮的余地。綜合運(yùn)用以前所學(xué)習(xí)的知識(shí),設(shè)計(jì)一個(gè)JAVA手機(jī)游戲,并能實(shí)現(xiàn)以下的功能:游戲暫停、游戲重新開(kāi)始、游戲的結(jié)束??傊ㄟ^(guò)本次的課程設(shè)計(jì),使我平時(shí)學(xué)到的理論知識(shí)得到了很好地升華,理論與實(shí)際得到一次很好的結(jié)合,為我今后參加工作打下了堅(jiān)實(shí)的基礎(chǔ),使我受益匪淺
18、。</p><p><b> 5.附錄</b></p><p> import java.awt.*; </p><p> import java.awt.event.*; </p><p> import javax.swing.*; </p><p> import java.uti
19、l.*; </p><p> //Main Class </p><p> public class GreedSnake extends KeyAdapter{ </p><p> JFrame mainFrame; </p><p> Canvas paintCanvas; </p><p> JLabe
20、l labelScore;//計(jì)分牌 </p><p> SnakeModel snakeModel=null;// 蛇 </p><p> public static final int DEFAULT_WIDTH=500; </p><p> public static final int DEFAULT_HEIGHT=300; </p>&
21、lt;p> public static final int nodeWidth=10; </p><p> public static final int nodeHeight=10; </p><p> //GreedSnake():初始化游戲界面 </p><p> public GreedSnake(){ </p><p>
22、;<b> //設(shè)置界面元素 </b></p><p> mainFrame=new JFrame("貪吃蛇游戲"); </p><p> Container cp=mainFrame.getContentPane(); </p><p> labelScore=new JLabel("所得分?jǐn)?shù)為:&quo
23、t;,JLabel.CENTER); </p><p> cp.add(labelScore,BorderLayout.NORTH); </p><p> paintCanvas=new Canvas(); </p><p> paintCanvas.setSize(DEFAULT_WIDTH+1,DEFAULT_HEIGHT+1); </p>
24、<p> paintCanvas.addKeyListener(this); </p><p> cp.add(paintCanvas,BorderLayout.CENTER); </p><p> JPanel panelButtom=new JPanel(); </p><p> panelButtom.setLayout(new Border
25、Layout()); </p><p> JLabel labelHelp;// 幫助信息 </p><p> labelHelp=new JLabel("按 PageUP 或 PageDown 鍵改變速度",JLabel.CENTER); </p><p> panelButtom.add(labelHelp,BorderLayout.N
26、ORTH); </p><p> labelHelp=new JLabel("按 Enter 或 S 鍵重新開(kāi)始游戲",JLabel.CENTER); </p><p> panelButtom.add(labelHelp,BorderLayout.CENTER); </p><p> labelHelp=new JLabel("
27、按 SPACE 鍵或 P 鍵暫停游戲",JLabel.CENTER); </p><p> panelButtom.add(labelHelp,BorderLayout.SOUTH); </p><p> cp.add(panelButtom,BorderLayout.SOUTH); </p><p> mainFrame.addKeyListene
28、r(this); </p><p> mainFrame.pack(); </p><p> mainFrame.setResizable(false); </p><p> mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); </p><p> mainFrame.se
29、tVisible(true); </p><p><b> begin(); </b></p><p><b> } </b></p><p> //keyPressed():按鍵檢測(cè) </p><p> public void keyPressed(KeyEvent e){ </p&
30、gt;<p> int keyCode=e.getKeyCode(); </p><p> if(snakeModel.running) </p><p> switch(keyCode){ </p><p> case KeyEvent.VK_UP: </p><p> snakeModel.changeDirect
31、ion(SnakeModel.UP); </p><p><b> break; </b></p><p> case KeyEvent.VK_DOWN: </p><p> snakeModel.changeDirection(SnakeModel.DOWN); </p><p><b> break
32、; </b></p><p> case KeyEvent.VK_LEFT: </p><p> snakeModel.changeDirection(SnakeModel.LEFT); </p><p><b> break; </b></p><p> case KeyEvent.VK_RIGHT
33、: </p><p> snakeModel.changeDirection(SnakeModel.RIGHT); </p><p><b> break; </b></p><p> case KeyEvent.VK_ADD: </p><p> case KeyEvent.VK_PAGE_UP: </p
34、><p> snakeModel.speedUp();// 加速 </p><p><b> break; </b></p><p> case KeyEvent.VK_SUBTRACT: </p><p> case KeyEvent.VK_PAGE_DOWN: </p><p> sna
35、keModel.speedDown();// 減速 </p><p><b> break; </b></p><p> case KeyEvent.VK_SPACE: </p><p> case KeyEvent.VK_P: </p><p> snakeModel.changePauseState();//
36、 暫?;蚶^續(xù) </p><p><b> break; </b></p><p><b> default: </b></p><p><b> } </b></p><p><b> //重新開(kāi)始 </b></p><p>
37、; if(keyCode==KeyEvent.VK_S || keyCode==KeyEvent.VK_ENTER){ </p><p> snakeModel.running=false; </p><p><b> begin(); </b></p><p><b> } </b></p><
38、;p><b> } </b></p><p> //repaint():繪制游戲界面(包括蛇和食物) </p><p> void repaint(){ </p><p> Graphics g=paintCanvas.getGraphics(); </p><p> //draw background
39、</p><p> g.setColor(Color.LIGHT_GRAY); </p><p> g.fillRect(0,0,DEFAULT_WIDTH,DEFAULT_HEIGHT); </p><p> //draw the snake </p><p> g.setColor(Color.BLACK); </p>
40、<p> LinkedList na=snakeModel.nodeArray; </p><p> Iterator it=na.iterator(); </p><p> while(it.hasNext()){ </p><p> Node n=(Node)it.next(); </p><p> drawNod
41、e(g,n); </p><p><b> } </b></p><p> // draw the food </p><p> g.setColor(Color.RED); </p><p> Node n=snakeModel.food; </p><p> drawNode(g,n
42、); </p><p> updateScore(); </p><p><b> } </b></p><p> //drawNode():繪畫(huà)某一結(jié)點(diǎn)(蛇身或食物) </p><p> private void drawNode(Graphics g,Node n){ </p><p>
43、; g.fillRect(n.x*nodeWidth,n.y*nodeHeight,nodeWidth-1,nodeHeight-1); </p><p><b> } </b></p><p> //updateScore():改變計(jì)分牌 </p><p> public void updateScore(){ </p>
44、<p> String s="所得分?jǐn)?shù)為: "+snakeModel.score; </p><p> labelScore.setText(s); </p><p><b> } </b></p><p> //begin():游戲開(kāi)始,放置貪吃蛇 </p><p> void
45、 begin(){ </p><p> if(snakeModel==null||!snakeModel.running){ </p><p> snakeModel=new SnakeModel(this,DEFAULT_WIDTH/nodeWidth, </p><p> DEFAULT_HEIGHT/nodeHeight); </p>&l
46、t;p> (new Thread(snakeModel)).start(); </p><p><b> } </b></p><p><b> } </b></p><p> //main():主函數(shù) </p><p> public static void main(String
47、[] args){ </p><p> GreedSnake gs=new GreedSnake(); </p><p><b> } </b></p><p><b> } </b></p><p> //Node:結(jié)點(diǎn)類 </p><p> class Node
48、{ </p><p><b> int x; </b></p><p><b> int y; </b></p><p> Node(int x,int y){ </p><p> this.x=x; </p><p> this.y=y; </p>
49、<p><b> } </b></p><p><b> } </b></p><p> //SnakeModel:貪吃蛇模型 </p><p> class SnakeModel implements Runnable{ </p><p> GreedSnake gs; <
50、;/p><p> boolean[][] matrix;// 界面數(shù)據(jù)保存在數(shù)組里 </p><p> LinkedList nodeArray=new LinkedList(); </p><p> Node food; </p><p> int maxX;//最大寬度 </p><p> int maxY;
51、//最大長(zhǎng)度 </p><p> int direction=2;//方向 </p><p> boolean running=false; </p><p> int timeInterval=200;// 間隔時(shí)間(速度) </p><p> double speedChangeRate=0.75;// 速度改變程度 </p
52、><p> boolean paused=false;// 游戲狀態(tài) </p><p> int score=0; </p><p> int countMove=0; </p><p> // UP和DOWN是偶數(shù),RIGHT和LEFT是奇數(shù) </p><p> public static final int
53、UP=2; </p><p> public static final int DOWN=4; </p><p> public static final int LEFT=1; </p><p> public static final int RIGHT=3; </p><p> //GreedModel():初始化界面 <
54、/p><p> public SnakeModel(GreedSnake gs,int maxX,int maxY){ </p><p> this.gs=gs; </p><p> this.maxX=maxX; </p><p> this.maxY=maxY; </p><p> matrix=new bo
55、olean[maxX][]; </p><p> for(int i=0;i<maxX;++i){ </p><p> matrix[i]=new boolean[maxY]; </p><p> Arrays.fill(matrix[i],false);// 沒(méi)有蛇和食物的地區(qū)置false </p><p><b>
56、 } </b></p><p><b> //初始化貪吃蛇 </b></p><p> int initArrayLength=maxX>20 ? 10 : maxX/2; </p><p> for(int i=0;i<initArrayLength;++i){ </p><p> in
57、t x=maxX/2+i; </p><p> int y=maxY/2; </p><p> nodeArray.addLast(new Node(x,y)); </p><p> matrix[x][y]=true;// 蛇身處置true </p><p><b> } </b></p><
58、;p> food=createFood(); </p><p> matrix[food.x][food.y]=true;// 食物處置true </p><p><b> } </b></p><p> //changeDirection():改變運(yùn)動(dòng)方向 </p><p> public void c
59、hangeDirection(int newDirection){ </p><p> if(direction%2!=newDirection%2){// 避免沖突 </p><p> direction=newDirection; </p><p><b> } </b></p><p><b>
60、} </b></p><p> //moveOn():貪吃蛇運(yùn)動(dòng)函數(shù) </p><p> public boolean moveOn(){ </p><p> Node n=(Node)nodeArray.getFirst(); </p><p> int x=n.x; </p><p> int
61、 y=n.y; </p><p> switch(direction){ </p><p><b> case UP: </b></p><p><b> y--; </b></p><p><b> break; </b></p><p>
62、case DOWN: </p><p><b> y++; </b></p><p><b> break; </b></p><p> case LEFT: </p><p><b> x--; </b></p><p><b>
63、break; </b></p><p> case RIGHT: </p><p><b> x++; </b></p><p><b> break; </b></p><p><b> } </b></p><p> if((0
64、<=x&&x<maxX)&&(0<=y&&y<maxY)){ </p><p> if(matrix[x][y]){// 吃到食物或者撞到身體 </p><p> if(x==food.x&&y==food.y){// 吃到食物 </p><p> nodeArray.ad
65、dFirst(food);// 在頭部加上一結(jié)點(diǎn) </p><p> //計(jì)分規(guī)則與移動(dòng)長(zhǎng)度和速度有關(guān) </p><p> int scoreGet=(10000-200*countMove)/timeInterval; </p><p> score+=scoreGet>0 ? scoreGet : 10; </p><p>
66、 countMove=0; </p><p> food=createFood(); </p><p> matrix[food.x][food.y]=true; </p><p> return true; </p><p><b> } </b></p><p> else retu
67、rn false;// 撞到身體 </p><p><b> } </b></p><p> else{//什么都沒(méi)有碰到 </p><p> nodeArray.addFirst(new Node(x,y));// 加上頭部 </p><p> matrix[x][y]=true; </p>&l
68、t;p> n=(Node)nodeArray.removeLast();// 去掉尾部 </p><p> matrix[n.x][n.y]=false; </p><p> countMove++; </p><p> return true; </p><p><b> } </b></p>
69、;<p><b> } </b></p><p> return false;//越界(撞到墻壁) </p><p><b> } </b></p><p> //run():貪吃蛇運(yùn)動(dòng)線程 </p><p> public void run(){ </p>&
70、lt;p> running=true; </p><p> while(running){ </p><p><b> try{ </b></p><p> Thread.sleep(timeInterval); </p><p><b> } </b></p><
71、;p> catch(Exception e){ </p><p><b> break; </b></p><p><b> } </b></p><p> if(!paused){ </p><p> if(moveOn()){// 未結(jié)束 </p><p>
72、; gs.repaint(); </p><p><b> } </b></p><p> else{//游戲結(jié)束 </p><p> JOptionPane.showMessageDialog(null,"GAME OVER", </p><p> "Game Over"
73、;,JOptionPane.INFORMATION_MESSAGE); </p><p><b> break; </b></p><p><b> } </b></p><p><b> } </b></p><p><b> } </b><
74、;/p><p> running=false; </p><p><b> } </b></p><p> //createFood():生成食物及放置地點(diǎn) </p><p> private Node createFood(){ </p><p><b> int x=0; &l
75、t;/b></p><p><b> int y=0; </b></p><p><b> do{ </b></p><p> Random r=new Random(); </p><p> x=r.nextInt(maxX); </p><p> y=r.
76、nextInt(maxY); </p><p><b> } </b></p><p> while(matrix[x][y]); </p><p> return new Node(x,y); </p><p><b> } </b></p><p> //spe
77、edUp():加快蛇運(yùn)動(dòng)速度 </p><p> public void speedUp(){ </p><p> timeInterval*=speedChangeRate; </p><p><b> } </b></p><p> //speedDown():放慢蛇運(yùn)動(dòng)速度 </p><
78、p> public void speedDown(){ </p><p> timeInterval/=speedChangeRate; </p><p><b> } </b></p><p> //changePauseState(): 改變游戲狀態(tài)(暫?;蚶^續(xù)) </p><p> public v
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java貪吃蛇游戲 課程設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告貪吃蛇游戲
- java課程設(shè)計(jì)貪吃蛇
- java課程設(shè)計(jì)--貪吃蛇
- 貪吃蛇java課程設(shè)計(jì)--貪吃蛇程序設(shè)計(jì)
- java貪吃蛇課程設(shè)計(jì)報(bào)告
- java-課程設(shè)計(jì)--貪吃蛇
- java課程設(shè)計(jì)--設(shè)計(jì)一個(gè)貪吃蛇游戲程序
- 基于java的游戲設(shè)計(jì)——貪吃蛇
- -基于java的貪吃蛇游戲開(kāi)發(fā)
- 基于java的貪吃蛇游戲開(kāi)發(fā)
- java貪吃蛇游戲畢業(yè)設(shè)計(jì)(源代碼+論文)
- qt課程設(shè)計(jì)--貪吃蛇游戲設(shè)計(jì)
- -java-j2me貪吃蛇游戲的設(shè)計(jì)
- c語(yǔ)言貪吃蛇游戲課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--貪吃蛇游戲
- 貪吃蛇游戲的實(shí)現(xiàn)課程設(shè)計(jì)
- 貪吃蛇課程設(shè)計(jì)
- 貪吃蛇課程設(shè)計(jì)
- 貪吃蛇課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論