版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《JAVA程序設(shè)計》</p><p><b> 課程設(shè)計報告</b></p><p> 院 系: 計算機與信息工程學(xué)院 </p><p> 題 目: 吞食蛇 </p><p> 學(xué)生姓名: 張聚營 盧毛毛</p><p>
2、學(xué)生學(xué)號: 20144499 20144645</p><p> 專業(yè)班級: 軟一 軟二 </p><p> 指導(dǎo)教師: 吳光偉 </p><p> 完成時間: 2016年6月23號 </p><p><b> 目錄</b></p><p
3、><b> 1 需求分析3</b></p><p> 1.1基本功能如下:3</p><p> 1.2擴展功能:3</p><p><b> 2 設(shè)計3</b></p><p> 2.1 設(shè)計思路3</p><p> 2.3系統(tǒng)功能模塊4<
4、/p><p> 2.4程序流程圖4</p><p><b> 圖2.26</b></p><p> 2.5總設(shè)計模塊的劃分6</p><p> 3功能的具體實現(xiàn)7</p><p><b> 3.1重新開始7</b></p><p>&l
5、t;b> 3.2暫停7</b></p><p><b> 3.3保存分數(shù)8</b></p><p><b> 3.4加速減速9</b></p><p><b> 4運行結(jié)果9</b></p><p> 4.1游戲開始界面9</p>
6、;<p> 4.2蛇撞到自身結(jié)束游戲9</p><p> 4.3蛇撞到墻面結(jié)束游戲10</p><p> 4.4游戲暫停10</p><p> 4.5游戲在暫?;蛘哌\行時重新開始11</p><p> 4.6游戲分數(shù)的保存11</p><p><b> 總 結(jié)13<
7、/b></p><p> 參 考 文 獻14</p><p><b> 附錄A源代碼15</b></p><p><b> 評分表:23</b></p><p><b> 1 需求分析</b></p><p> 1.1基本功能如下:
8、</p><p> 1. 能夠使用鍵盤控制吞食蛇的行動。 </p><p> 2. 能夠隨機生成食物,供吞食蛇吞噬。</p><p> 3. 提供游戲的暫停和保存的功能。</p><p><b> 1.2擴展功能:</b></p><p> 4. 提供難度的選擇,如速度、地形。</
9、p><p> 5. 提供服務(wù)器,讓玩家可以比較戰(zhàn)績。</p><p> 其他功能可以按照自己的興趣進行創(chuàng)新添加。</p><p><b> 2 設(shè)計</b></p><p><b> 2.1 設(shè)計思路</b></p><p> 貪吃蛇游戲設(shè)計與實現(xiàn),主要分為以下二個模塊
10、:游戲主界面模塊和游戲控制模塊。在此只實現(xiàn)游戲的游戲主界面模塊、游戲控制模塊。并且只是實現(xiàn)移動速度、暫停、重新開始等功能。</p><p><b> 游戲主界面模塊:</b></p><p> 游戲的主界面是進入游戲后,能夠給玩家第一感官的部分,主要包括游戲圖形區(qū)域界面、游戲的速度選擇更新界面、新生方塊的預(yù)覽、暫停游戲按鈕、重新開始游戲按鈕。從很大程度上決定了玩家
11、對游戲的興趣問題,因此,游戲的主界面應(yīng)該力求美觀,爽心悅目。</p><p><b> 游戲控制模塊:</b></p><p> 這個模塊是游戲的中心環(huán)節(jié),主要完成控制游戲的開始、暫停、重新開始等功能。為了能夠給玩家一個很好的游戲環(huán)境,這部分應(yīng)該做到易懂、易操作。</p><p> 本設(shè)計所開發(fā)的是基于Java的一個貪吃蛇游戲軟件,主要實
12、現(xiàn)游戲的速度控制、游戲的暫停、游戲的退出等功能,分為: 游戲主界面模塊,游戲主界面模塊等兩個模塊。</p><p><b> 圖2.1</b></p><p><b> 2.2設(shè)計目標</b></p><p> 本軟件是針對貪食蛇小游戲的JAVA程序,利用方向鍵來改變蛇的方向;按PageUp加速,PageDown減速
13、;按空格鍵或P鍵暫停或繼續(xù)游戲;按R鍵重新開始。并在隨機的地方產(chǎn)生食物,吃到食物就變成新的蛇體,碰到壁或自身則游戲結(jié)束,否則正常運行</p><p><b> 2.3系統(tǒng)功能模塊</b></p><p> Java源文件及其功能如表所示:</p><p><b> 2.4程序流程圖</b></p>&l
14、t;p> 本次游戲設(shè)計的處理流程如圖。</p><p><b> 圖2.2</b></p><p> 2.5總設(shè)計模塊的劃分</p><p> 根據(jù)游戲需求中游戲所要實現(xiàn)的功能,整個游戲分為二個模塊進行具體的設(shè)計,如圖2所示。</p><p> 游戲控制模塊的主要框架如圖3所示。</p>&
15、lt;p> 游戲暫??刂疲狐c擊“空格”按鈕或P,游戲暫停;再單擊,游戲繼續(xù)。</p><p> 游戲重新開始控制:點擊“R”鍵后,點擊確定,即游戲重新開始。</p><p> 游戲保存控制:點擊“S”鍵好,點擊確定,退出游戲界面。</p><p> 游戲加速減速控制:點擊“SpeedUp”加速,點擊“SpeedDown”減速。</p>&
16、lt;p><b> 3功能的具體實現(xiàn)</b></p><p><b> 3.1重新開始</b></p><p> 按R鍵使進行中的游戲或者暫停中的游戲重新開始,調(diào)用reset方法,相關(guān)代碼如下:</p><p> case KeyEvent.VK_R://----按R鍵重新啟動游戲</p>&
17、lt;p> model.reset();</p><p><b> break;</b></p><p> public void reset(){</p><p> direction = SnakeModel.UP; // 蛇運行的方向</p><p> timeInterval = 200;
18、 // 時間間隔,毫秒</p><p> paused = false; // 暫停標志</p><p> score = 0; // 得分</p><p> countMove = 0; // 吃到食物前移動的次數(shù)</p><p><b> 3.2暫停</b>&
19、lt;/p><p> 定義一個布爾類型,pause,初始化為false,再在無限循環(huán)運動running類運用if語句,具體代碼如下:</p><p> boolean paused = false; </p><p> boolean paused = false; </p><p> if (!paused) {</p>
20、<p> if (moveOn()) {</p><p> setChanged(); // Model通知View數(shù)據(jù)已經(jīng)更新</p><p> notifyObservers();</p><p><b> } else {</b></p><p> JOptionPane.showMessage
21、Dialog(null,</p><p> "you failed",</p><p> "Game Over",</p><p> JOptionPane.INFORMATION_MESSAGE);</p><p><b> break;</b></p>&
22、lt;p><b> }</b></p><p><b> }</b></p><p><b> 3.3保存分數(shù)</b></p><p> 按S鍵保存,在keyPressed類中,調(diào)用keyEvent類,如果是S,則執(zhí)行如下代碼,將分數(shù)保存在score.java中。</p>
23、<p> case KeyEvent.VK_S: //-----------------------按S鍵保存 FileWriter fileWritter =null;</p><p> try { </p><p> fileWritter = new
24、 FileWriter("score",true);//將分數(shù)保存到score文件</p><p> fileWritter.write(model.score+"\n"); </p><p> }catch (FileNotFoundException e1) {&l
25、t;/p><p> e1.printStackTrace(); </p><p> }catch (IOException e1) {</p><p> e1.printStackTrace();</p><p> } finally {</p><p> try {</p&g
26、t;<p> if (fileWritter != null)</p><p> fileWritter.close();</p><p> } catch (IOException e1) {</p><p> e1.printStackTrace();</p><p> }
27、</p><p><b> } </b></p><p><b> break;</b></p><p><b> 3.4加速減速</b></p><p> 同樣的,調(diào)用speedUp,speedDown方法:</p><p> case K
28、eyEvent.VK_PAGE_UP://--------------------按PageUp加速</p><p> model.speedUp();</p><p><b> break;</b></p><p> case KeyEvent.VK_PAGE_DOWN://--------------------按PageDown減速
29、</p><p> model.speedDown();</p><p><b> 4運行結(jié)果</b></p><p><b> 4.1游戲開始界面</b></p><p><b> 圖4.1</b></p><p> 4.2蛇撞到自身結(jié)束游戲
30、</p><p><b> 圖4.2</b></p><p> 4.3蛇撞到墻面結(jié)束游戲</p><p><b> 圖4.3</b></p><p><b> 4.4游戲暫停</b></p><p><b> 圖4.4</b&g
31、t;</p><p> 4.5游戲在暫?;蛘哌\行時重新開始</p><p><b> 圖4.5</b></p><p> 4.6游戲分數(shù)的保存</p><p><b> 圖4.6</b></p><p><b> 總 結(jié)</b></p&g
32、t;<p> 課程設(shè)計是對學(xué)習(xí)成果的考核和總結(jié),這兩個禮拜通過小組努力和吳光偉老師的耐心指導(dǎo),本著嚴謹誠實,開拓創(chuàng)新的精神,完成了這次設(shè)計。</p><p> 這次設(shè)計是我們第一次從理論構(gòu)思到實際工程論證的設(shè)計,它使我們深刻理解了在所學(xué)到的知識,讓我們把所學(xué)的知識從頭梳理和使用了一遍,鞏固了我們的知識,也接觸到了一些未曾接觸過的東西,受益匪淺。</p><p><b
33、> 參 考 文 獻</b></p><p> 1 葉核亞,陳道蓄. JAVA程序設(shè)計實用教程.(第四版).北京:電子工業(yè)出版社,2013.11</p><p> 2 湯陽光. 智播客貪食蛇游戲項目開發(fā)</p><p> 3 耿祥義.JAVA 大學(xué)實用教程.北京:清華大學(xué)出版社,2009</p><p><b&g
34、t; 附錄A源代碼</b></p><p> //GreedSnake.java</p><p> package mvcTest;</p><p> public class GreedSnake {</p><p> public static void main(String[] args) {</p>
35、<p> SnakeModel model = new SnakeModel(20,30);</p><p> SnakeControl control = new SnakeControl(model);</p><p> SnakeView view = new SnakeView(model,control);</p><p> //添加
36、一個觀察者,讓view成為model的觀察者</p><p> model.addObserver(view);</p><p> (new Thread(model)).start();</p><p><b> }</b></p><p><b> }</b></p>&l
37、t;p> //SnakeControl.java</p><p> package mvcTest;</p><p> import java.awt.event.KeyEvent;</p><p> import java.awt.event.KeyListener;</p><p> import java.io.File
38、NotFoundException;</p><p> import java.io.FileWriter;</p><p> import java.io.IOException;</p><p> public class SnakeControl implements KeyListener{</p><p> SnakeMod
39、el model;</p><p> public SnakeControl(SnakeModel model){</p><p> this.model = model;</p><p><b> }</b></p><p> public void keyPressed(KeyEvent e) {</p
40、><p> int keyCode = e.getKeyCode();</p><p> switch (keyCode) {</p><p> //------------------------------按上下左右鍵控制蛇的方向</p><p> case KeyEvent.VK_UP: </p><p
41、> model.changeDirection(SnakeModel.UP);</p><p><b> break;</b></p><p> case KeyEvent.VK_DOWN:</p><p> model.changeDirection(SnakeModel.DOWN);</p><p>&
42、lt;b> break;</b></p><p> case KeyEvent.VK_LEFT:</p><p> model.changeDirection(SnakeModel.LEFT);</p><p><b> break;</b></p><p> case KeyEvent.VK
43、_RIGHT:</p><p> model.changeDirection(SnakeModel.RIGHT);</p><p><b> break;</b></p><p> case KeyEvent.VK_PAGE_UP://--------------------按pageup加速</p><p>
44、model.speedUp();</p><p><b> break;</b></p><p> case KeyEvent.VK_PAGE_DOWN://--------------------按pagedown減速</p><p> model.speedDown();</p><p><b>
45、break;</b></p><p> case KeyEvent.VK_SPACE://--------------------按空格鍵或P鍵暫停游戲</p><p> case KeyEvent.VK_P:</p><p> model.changePauseState();</p><p><b> bre
46、ak;</b></p><p> case KeyEvent.VK_R://-----------------------按R鍵重新啟動游戲</p><p> model.reset();</p><p> break; </p><p> case KeyEvent.VK_S: //-------------
47、----------按S鍵保存分數(shù)</p><p> FileWriter fileWritter =null;</p><p> try { </p><p> fileWritter = new FileWriter("score",true);/
48、/將分數(shù)保存到score文件</p><p> fileWritter.write(model.score+"\n"); </p><p> }catch (FileNotFoundException e1) {</p><p> e1.printStackTrace();
49、 </p><p> }catch (IOException e1) {</p><p> e1.printStackTrace();</p><p> } finally {</p><p> try {</p><p> if (fileWritter != null)</p&
50、gt;<p> fileWritter.close();</p><p> } catch (IOException e1) {</p><p> e1.printStackTrace();</p><p> } </p><p><b> } </b>&
51、lt;/p><p><b> break;</b></p><p><b> default:</b></p><p><b> }</b></p><p><b> }</b></p><p> public void ke
52、yReleased(KeyEvent e) {</p><p><b> }</b></p><p> public void keyTyped(KeyEvent e) {</p><p><b> }</b></p><p><b> }</b></p>
53、;<p> //SnakeModel.java</p><p> package mvcTest;</p><p> import javax.swing.*;</p><p> import java.util.Arrays;</p><p> import java.util.LinkedList;</p&g
54、t;<p> import java.util.Observable;</p><p> import java.util.Random;</p><p> public class SnakeModel extends Observable implements Runnable {</p><p> boolean[][] matrix;
55、 // 指示位置上有沒蛇體或食物</p><p> LinkedList<Node> nodeArray = new LinkedList<Node>(); // 蛇體</p><p> Node food;</p><p><b> int maxX;</b>&
56、lt;/p><p><b> int maxY;</b></p><p> int direction = 2; // 蛇運行的方向</p><p> boolean running = false; // 運行狀態(tài)</p><p>
57、; int timeInterval = 200; // 時間間隔,毫秒</p><p> double speedChangeRate = 0.75; // 每次得速度變化率</p><p> boolean paused = false; // 暫停標志</p>
58、<p> int score = 0; // 得分</p><p> int countMove = 0; // 吃到食物前移動的次數(shù)</p><p> public static final int UP = 2;</p><p> pu
59、blic static final int DOWN = 4;</p><p> public static final int LEFT = 1;</p><p> public static final int RIGHT = 3;</p><p> public SnakeModel( int maxX, int maxY) {</p>&
60、lt;p> this.maxX = maxX;</p><p> this.maxY = maxY;</p><p><b> reset();</b></p><p><b> }</b></p><p> public void reset(){</p><p
61、> direction = SnakeModel.UP; // 蛇運行的方向</p><p> timeInterval = 200; // 時間間隔,毫秒</p><p> paused = false; // 暫停標志</p><p>
62、 score = 0; // 得分</p><p> countMove = 0; // 吃到食物前移動的次數(shù)</p><p> // 初始化matirx</p><p> matrix = new boolean[maxX][];</p>
63、<p> for (int i = 0; i < maxX; ++i) {</p><p> matrix[i] = new boolean[maxY];</p><p> Arrays.fill(matrix[i], false);</p><p><b> }</b></p><p> /
64、/ 初始化蛇體,如果橫向位置超過20個,長度為10,否則為橫向位置的一半</p><p> int initArrayLength = maxX > 20 ? 10 : maxX / 2;</p><p> nodeArray.clear();</p><p> for (int i = 0; i < initArrayLength; ++i) {
65、</p><p> int x = maxX / 2 + i;//maxX被初始化為20</p><p> int y = maxY / 2; //maxY被初始化為30</p><p> //nodeArray[x,y]: [10,15]-[11,15]-[12,15]~~[20,15]</p><p> //默認的運行方向向
66、上,所以游戲一開始nodeArray就變?yōu)椋?lt;/p><p> // [10,14]-[10,15]-[11,15]-[12,15]~~[19,15]</p><p> nodeArray.addLast(new Node(x, y));</p><p> matrix[x][y] = true;</p><p><b
67、> }</b></p><p><b> // 創(chuàng)建食物</b></p><p> food = createFood();</p><p> matrix[food.x][food.y] = true;</p><p><b> }</b></p><
68、;p> public void changeDirection(int newDirection) {</p><p> // 改變的方向不能與原來方向同向或反向</p><p> if (direction % 2 != newDirection % 2) {</p><p> direction = newDirection;</p>
69、<p><b> }</b></p><p><b> }</b></p><p> public boolean moveOn() {</p><p> Node n = (Node) nodeArray.getFirst();</p><p> int x = n.x;&l
70、t;/p><p> int y = n.y;</p><p> // 根據(jù)方向增減坐標值</p><p> switch (direction) {</p><p><b> case UP:</b></p><p><b> y--;</b></p>&
71、lt;p><b> break;</b></p><p> case DOWN:</p><p><b> y++;</b></p><p><b> break;</b></p><p> case LEFT:</p><p><
72、b> x--;</b></p><p><b> break;</b></p><p> case RIGHT:</p><p><b> x++;</b></p><p><b> break;</b></p><p>&l
73、t;b> }</b></p><p> // 如果新坐標落在有效范圍內(nèi),則進行處理</p><p> if ((0 <= x && x < maxX) && (0 <= y && y < maxY)) { </p><p> if (matrix[x][y])
74、{ // 如果新坐標的點上有東西(蛇體或者食物)</p><p> if (x == food.x && y == food.y) { // 吃到食物,成功</p><p> nodeArray.addFirst(food); // 從蛇頭贈長</p><p> // 分數(shù)規(guī)則,與移動改變方向的次數(shù)
75、和速度兩個元素有關(guān)</p><p> int scoreGet = (10000 - 200 * countMove) / timeInterval;</p><p> score += scoreGet > 0 ? scoreGet : 10;</p><p> countMove = 0;</p><p> food = c
76、reateFood(); // 創(chuàng)建新的食物</p><p> matrix[food.x][food.y] = true; // 設(shè)置食物所在位置</p><p> return true;</p><p> } else // 吃到蛇體自身,失敗<
77、;/p><p> return false;</p><p> } else { // 如果新坐標的點上沒有東西(蛇體),移動蛇體</p><p> nodeArray.addFirst(new Node(x, y));</p><p> matrix[x][y] = true;</p>&l
78、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><
79、p><b> }</b></p><p> return false; // 觸到邊線,失敗</p><p><b> }</b></p><p> public void run() {</p><p> runn
80、ing = true;</p><p> while (running) {</p><p><b> try {</b></p><p> Thread.sleep(timeInterval);</p><p> } catch (Exception e) {</p><p><b
81、> break;</b></p><p><b> }</b></p><p> if (!paused) {</p><p> if (moveOn()) {</p><p> setChanged(); // Model通知View數(shù)據(jù)已經(jīng)更新</p>&
82、lt;p> notifyObservers();</p><p><b> } else {</b></p><p> JOptionPane.showMessageDialog(null,</p><p> "you failed",</p><p> "Game Over
83、",</p><p> JOptionPane.INFORMATION_MESSAGE);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p>&l
84、t;b> }</b></p><p> running = false;</p><p><b> }</b></p><p> private Node createFood() {</p><p> int x = 0;</p><p> int y = 0;&l
85、t;/p><p> // 隨機獲取一個有效區(qū)域內(nèi)的與蛇體和食物不重疊的位置</p><p><b> do {</b></p><p> Random r = new Random();</p><p> x = r.nextInt(maxX);</p><p> y = r.nextInt
86、(maxY);</p><p> } while (matrix[x][y]);</p><p> return new Node(x, y);</p><p><b> }</b></p><p> public void speedUp() {</p><p> timeInterv
87、al *= speedChangeRate;</p><p><b> }</b></p><p> public void speedDown() {</p><p> timeInterval /= speedChangeRate;</p><p><b> }</b></p>
88、;<p> public void changePauseState() {</p><p> paused = !paused;</p><p><b> }</b></p><p> public String toString() {</p><p> String result = &qu
89、ot;";</p><p> for (int i = 0; i < nodeArray.size(); ++i) {</p><p> Node n = (Node) nodeArray.get(i);</p><p> result += "[" + n.x + "," + n.y + "]
90、";</p><p><b> }</b></p><p> return result;</p><p><b> }</b></p><p><b> }</b></p><p> class Node {</p>
91、<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><p><
92、b> }</b></p><p><b> }</b></p><p> //SnakeView.java</p><p> package mvcTest;</p><p> import javax.swing.*;</p><p> import java.a
93、wt.*;</p><p> import java.util.Iterator;</p><p> import java.util.LinkedList;</p><p> import java.util.Observable;</p><p> import java.util.Observer;</p><
94、;p> public class SnakeView implements Observer{</p><p> SnakeControl control = null;</p><p> SnakeModel model = null;</p><p> JFrame mainFrame;</p><p> Canvas p
95、aintCanvas;</p><p> JLabel labelScore;</p><p> public static final int canvasWidth = 200;</p><p> public static final int canvasHeight = 300;</p><p> public static
96、final int nodeWidth = 10;</p><p> public static final int nodeHeight = 10;</p><p> public SnakeView(SnakeModel model, SnakeControl control) {</p><p> this.model = model;</p>
97、;<p> this.control = control;</p><p> mainFrame = new JFrame("GreedSnake");</p><p> Container cp = mainFrame.getContentPane();</p><p> // 創(chuàng)建頂部的分數(shù)顯示</p>&
98、lt;p> labelScore = new JLabel("Score:");</p><p> cp.add(labelScore, BorderLayout.NORTH);</p><p> // 創(chuàng)建中間的游戲顯示區(qū)域</p><p> paintCanvas = new Canvas();</p><p
99、> paintCanvas.setSize(canvasWidth + 1, canvasHeight + 1);</p><p> paintCanvas.addKeyListener(control);</p><p> cp.add(paintCanvas, BorderLayout.CENTER);</p><p> // 創(chuàng)建底下的幫助欄&l
100、t;/p><p> JPanel panelButtom = new JPanel();</p><p> panelButtom.setLayout(new BorderLayout());</p><p> JLabel labelHelp;</p><p> labelHelp = new JLabel("按PageUp加
101、速, 按PageDown減速;", JLabel.CENTER);</p><p> panelButtom.add(labelHelp, BorderLayout.NORTH);</p><p> labelHelp = new JLabel("按R重新開始;", JLabel.CENTER);</p><p> panelBu
102、ttom.add(labelHelp, BorderLayout.CENTER);</p><p> labelHelp = new JLabel("按SPACE鍵 或P鍵暫停游戲", JLabel.CENTER);</p><p> panelButtom.add(labelHelp, BorderLayout.SOUTH);</p><p&g
103、t; cp.add(panelButtom, BorderLayout.SOUTH);</p><p> mainFrame.addKeyListener(control);</p><p> mainFrame.pack();</p><p> mainFrame.setResizable(false); mainFrame.setDefaultClo
104、seOperation(JFrame.EXIT_ON_CLOSE);</p><p> mainFrame.setVisible(true);</p><p><b> }</b></p><p> void repaint() {</p><p> Graphics g = paintCanvas.getGra
105、phics();</p><p> //draw background</p><p> g.setColor(Color.WHITE);</p><p> g.fillRect(0, 0, canvasWidth, canvasHeight);</p><p> // draw the snake</p><p&
106、gt; g.setColor(Color.BLACK);</p><p> LinkedList<Node> na = model.nodeArray;</p><p> Iterator<Node> it = na.iterator();</p><p> while (it.hasNext()) {</p><
107、p> Node n = (Node) it.next();</p><p> drawNode(g, n);</p><p><b> }</b></p><p> // draw the food</p><p> g.setColor(Color.RED);</p><p>
108、 Node n = model.food;</p><p> drawNode(g, n);</p><p> updateScore();</p><p><b> }</b></p><p> private void drawNode(Graphics g, Node n) {</p><
109、;p> g.fillRect(n.x * nodeWidth,</p><p> n.y * nodeHeight,</p><p> nodeWidth - 1,</p><p> nodeHeight - 1);</p><p><b> }</b></p><p> pub
110、lic void updateScore() {</p><p> String s = "Score: " + model.score;</p><p> labelScore.setText(s);</p><p><b> }</b></p><p> public void updat
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟工課程設(shè)計--圖書管理系統(tǒng)
- 軟工課程設(shè)計-學(xué)生成績管理系統(tǒng)
- java課程設(shè)計
- java課程設(shè)計----課程設(shè)計報告
- java課程設(shè)計--java面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- java課程設(shè)計---java程序設(shè)計
- java課程設(shè)計--java程序設(shè)計
- java課程設(shè)計--日歷
- java課程設(shè)計模板
- java課程設(shè)計報告
- java課程設(shè)計報告
- java掃雷課程設(shè)計
- java 課程設(shè)計 掃雷
- java課程設(shè)計報告
- java課程設(shè)計2048
- java課程設(shè)計報告-
- java時鐘課程設(shè)計
- java課程設(shè)計---java計算器
- java課程設(shè)計-猜數(shù)游戲課程設(shè)計報告
- java掃雷游戲課程設(shè)計
評論
0/150
提交評論