freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的貪吃蛇開發(fā)文檔(編輯修改稿)

2025-06-12 20:55 本頁面
 

【文章內(nèi)容簡介】 int scoreGet = (10000 200 * countMove) / timeInterval。 score += scoreGet 0 ? scoreGet : 10。 countMove = 0。 food = createFood()。 // 創(chuàng)建新的食物 matrix[][] = true。 // 設置食物所在位置 return true。 } else // 吃到蛇體自身,失敗 return false。 } else { // 如果新坐標的點上沒有東西(蛇體),移動蛇體 (new Node(x, y))。 matrix[x][y] = true。 n = (Node) ()。 matrix[][] = false。 countMove++。 return true。 } } return false。 // 觸到邊線,失敗 } public void run() { running = true。 while (running) { try { (timeInterval)。 } catch (Exception e) { break。 } 23 if (!paused) { if (moveOn()) { setChanged()。 // Model通知 View數(shù)據(jù)已經(jīng)更新 notifyObservers()。 } else { int result=(null, OH,你死啦 ,需要重新開始么? , Game Over, )。 if(result==0){ reset()。 } else{ break。 } } } } running = false。 } private Node createFood() { int x = 0。 int y = 0。 // 隨機獲取一個有效區(qū)域內(nèi)的與蛇體和食物不重疊的位置 do { Random r = new Random()。 x = (maxX)。 y = (maxY)。 } while (matrix[x][y])。 return new Node(x, y)。 } 24 public void speedUp() { timeInterval *= speedChangeRate。 } public void speedDown() { timeInterval /= speedChangeRate。 } public void changePauseState() { paused = !paused。 } public String toString() { String result = 。 for (int i = 0。 i ()。 ++i) { Node n = (Node) (i)。 result += [ + + , + + ]。 } return result。 } } class Node { int x。 int y。 Node(int x, int y) { = x。 = y。 } } SnakeView:視圖類 import .*。 import .*。 import 。 import 。 25 import 。 import 。 public class SnakeView implements Observer { SnakeControl control = null。 SnakeModel model = null。 JFrame mainFrame。 Canvas paintCanvas。 JLabel labelScore。 public static final int canvasWidth = 200。 public static final int canvasHeight = 300。 public static final int nodeWidth = 10。 public static final int nodeHeight = 10。 public SnakeView(SnakeModel model, SnakeControl control) { = model。 = control。 mainFrame = new JFrame(GreedSnake)。 (600, 200)。 Container cp = ()。 // 創(chuàng)建頂部的分數(shù)顯示 labelScore = new JLabel(得分 :)。 (labelScore, )。 // 創(chuàng)建中間的游戲顯示區(qū)域 paintCanvas = new Canvas()。 (canvasWidth + 1, canvasHeight + 1)。 (control)。 (paintCanvas, )。 // 創(chuàng)建底下的幫助欄 JPanel panelButtom = new JPanel()。 26 (new BorderLayout())。 JLabel labelHelp。 labelHelp = new JLabel(PageUp:加速 , PageDown:減速 , )。 (labelHelp, )。 labelHelp = new JLabel(ENTER:重新開始 , )。 (labelHelp, )。 labelHelp = new JLabel(SPACE:暫停 , )。 (labelHelp, )。 (panelButtom, )。 (control)。 ()。 (false)。 ()。 (true)。 } void repaint() { Graphics g = ()。 //draw background ()。 (0, 0, canvasWidth, canvasHeight)。 // draw the snake ()。 LinkedList na = 。 Iterator it = ()。 while (()) { Node n = (Node) ()。 drawNode(g, n)。 } // draw the food ()。 27 Node n = 。 drawNode(g, n)。 updateScore()。 } private void drawNode(Graphics g, Node n) { ( * nodeWidth, * nodeHeight, nodeWidth 1, nodeHeight 1)。 } public void updateScore() { String s = 得分 : + 。 (s)。 } public void update(Observable o, Object arg) { repaint()。 } } 2.系統(tǒng)設計( Design of Collective) 體系結(jié)構(gòu)設計( Design of Architecture) 采用包圖畫出體統(tǒng)的體系結(jié)構(gòu)模型,然后進行擴展,畫出個子系統(tǒng)內(nèi)構(gòu)成及模塊之間的 關系。 模塊設計( Module Design) 對象類用類圖說明各個類屬性和方法以及類之間的關系,對于復雜對象要畫出狀態(tài)圖。 28 功能模塊清單( Module List) 模塊(類)清單 表 33 模塊清單 模 塊 編 號 模塊英文名 模塊功能簡述 模塊的接口簡述 M 11 GreedSnake 主體類,添加一個觀察者,開始游戲 無 M 21 SnakeControl 監(jiān)聽按鍵,對游戲控制進行處理 KeyListener:按鍵的監(jiān)聽 M 22 SnakeModel 游戲基礎的定 義,例如蛇的初始化,食物的初始化,分數(shù)初始化等 Runnable:多線程 M 23 SnakeView 游戲視圖,對游戲的窗口樣式進行定義,規(guī)劃 Observer:觀察者模式 29 五、軟件測試計劃 完成人: xx 1 引言 編寫目的 本測試計劃文檔作為指導此測試項目循序漸進的基礎,幫助我們安排合適的資源和進度,避免可能的風險。本文檔有助于實現(xiàn)以下目標: 1) 確定現(xiàn)有項目的信息和應測試的軟件結(jié)構(gòu)。 2) 列出推薦的測試需求 3) 推薦可采用的測 試策略,并對這些策略加以詳細說明 4) 確定所需的資源,并對測試的工作量進行估計。 5) 列出測試項目的可交付元素,包括用例以及測試報告等。 背景 軟件系統(tǒng)名稱:貪吃蛇游戲 該開發(fā)項目的歷史: 蛇引誘夏娃吃了蘋果之后,就被貶為毒蟲,陰險的象征。 而蛇吃東西是整只動物吞進去的,大概在文藝復興的時候就有人發(fā)明的一種游戲,是現(xiàn)在貪吃蛇的前身。 該軟件 由測試小組的人員根據(jù)該文檔執(zhí)行此項目的測試任務。在開始執(zhí)行本
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1