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

正文內(nèi)容

基于java的貪吃蛇開發(fā)文檔-在線瀏覽

2025-07-10 20:55本頁面
  

【正文】 xxx 1.概 述( Summary) 項目的目的與目標(biāo)( Purpose and Aim of Project) 本系統(tǒng)主要是完成貪吃蛇游戲的基本操作。本系統(tǒng)需要滿足以下幾點要求: (1) 利用方向鍵來改變蛇的運行方向。 (3) 吃到食物就變成新的蛇體,碰到壁或自身則游戲結(jié)束,否則正常運行。 游戲主界面模塊: 主要包括游戲圖形區(qū)域界面、游戲開始、暫停、退出、減速、加速 。 3.目標(biāo)系統(tǒng)性能需求( Performance of Target System) 本游戲在設(shè)計方面本著方便、實用及娛樂性高的宗旨,在對界面進(jìn)行設(shè)計的過程中,始終堅持清晰明了,在性能方面能夠?qū)崿F(xiàn)效率高,不易出錯等優(yōu)點。 4.目標(biāo)系統(tǒng)界面與接口需求( Interface of Target System) 界面需求( Interphase Requirement) 游戲主界面應(yīng)該力求美觀,賞心悅目。 11 接口需求( Interface Requirement) 無 5.目標(biāo)系統(tǒng)假設(shè)與約束條件( Suppose and Restriction of Target System) . 設(shè)備 WindowsXP Eclipse SnakeListener: Void SankeMoved( Snake); 12 三、 軟件配置管理計劃 完成人: xx 軟件配置管理計劃對于軟件開發(fā)管理是非常重要的,其主要思想在于版本控制。版本控制最主要的功能就是追蹤文件的變更。每一次文件的改變,文件的版本號都將增加。軟件配置管理人員應(yīng)該根據(jù)對該 游戲的 具體要求,制訂必要的規(guī)程和規(guī)定,以確保完全遵守本計劃規(guī)定的所有要求 13 任務(wù) A .負(fù)責(zé)審定軟件基線的建立和配置的標(biāo)識 B .實施項目的配置好管理 C .組長審核配置管理活動 職責(zé) A.對有關(guān)軟件配置管理的各項工作全面負(fù)責(zé),特別要對更改建議的審批和評審負(fù)責(zé); B.負(fù)責(zé)監(jiān)督在軟件配置管理工作中認(rèn)真執(zhí)行軟件工程規(guī)范; C.負(fù)責(zé)檢查配置更改時的質(zhì)量保證措施; D.負(fù)責(zé)實施各自的配置管理工作,并參與游戲的功能配置檢查和物理配置檢查; E. 用戶代表負(fù)責(zé)反映用戶對配置管理的要求,并協(xié)助 檢查各類人員對軟件配置管理計劃的執(zhí)行情況; F.負(fù)責(zé)審查所采用的配置管理工具、技術(shù)和方法,并負(fù)責(zé)匯總、維護(hù)和保存有關(guān)軟件配置管理活動的各項記錄 接口控制 KeyListener:按鍵控制 Runnable:多線程 Observer:觀察者模式 14 實現(xiàn) 建立軟件配置管理小組:在批準(zhǔn)軟件配置管理計劃之后,立即成立軟件配置管理小組。 建立軟件庫:在本項目所屬的各個子系統(tǒng)的研制工作的開始,就建立起各個子系統(tǒng)的軟件開發(fā)庫,并在本項目配置管理小組的計算機上建立起有關(guān)該系統(tǒng)及其子系統(tǒng)的軟件受控庫。軟件受控庫必須以主軟件受控庫為準(zhǔn)。 數(shù)據(jù)庫對象命名規(guī)則:申明數(shù)據(jù)庫表名、字段名、索引名、視圖名等對象的命名規(guī)則。 17 SnakeControl control = new SnakeControl(model)。 //添加一個觀察者,讓 view成為 model的觀察者 (view)。 } } SnakeControl:控制類 import 。 public class SnakeControl implements KeyListener { SnakeModel model。 } public void keyPressed(KeyEvent e) { int keyCode = ()。 break。 break。 break。 break。 break。 break。 break。 } } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } } SnakeModel:模板類 import .*。 import 。 import 。 // 指示位置上有沒蛇 19 體或食物 LinkedList nodeArray = new LinkedList()。 int maxX。 int direction = 2。 // 運行狀態(tài) int timeInterval = 200。 // 每次得速度變化率 boolean paused = false。 // 得分 int countMove = 0。 public static final int DOWN = 4。 public static final int RIGHT = 3。 = maxY。 } public void reset(){ direction = 。 // 時間間隔,毫秒 paused = false。 // 得分 countMove = 0。 for (int i = 0。 ++i) { matrix[i] = new boolean[maxY]。 } // initial the snake // 初始化蛇體,如果橫向位置超過 20個,長度為 10,否則為橫向位置的一半 int initArrayLength = maxX 20 ? 10 : maxX / 2。 for (int i = 0。 ++i) { int x = maxX / 2 + i。 //maxY被初始化為 30 //nodeArray[x,y]: [10,15][11,15][12, 15]~~[20,15] //默認(rèn)的運行方向向上,所以游戲一開始 nodeArray就變?yōu)椋? // [10, 14][10, 15][11, 15][12, 15]~~[19,15] (new Node(x, y))。 } // 創(chuàng)建食物 food = createFood()。 } public void changeDirection(int newDirection) { // 改變的方向不能與原來方向同向或反向 if (direction % 2 != newDirection % 2) { direction = newDirection。 int x = 。 // 根據(jù)方向增減坐標(biāo)值 switch (direction) { case UP: y。 case DOWN: y++。 case LEFT: x。 case RIGHT: x++。 } // 如果新坐標(biāo)落在有效范圍內(nèi),則進(jìn)行處理 if ((0 = x amp。 x maxX) amp。 (0 = y amp。 y maxY)) { if (matrix[x][y]) { // 如果新坐標(biāo)的點上有東西(蛇體或者食物) if (x == amp。 y == ) { // 吃到食物,成功 (food)。 score += scoreGet 0 ? scoreGet : 10。 food = createFood()。 // 設(shè)置食物所在位置 return true。 } else { // 如果新坐標(biāo)的點上沒有東西(蛇體),移動蛇體 (new Node(x, y))。 n = (Node) ()。 countMove++。 } } return false。 while (running) { try { (timeInterval)。 } 23 if (!paused) { if (moveOn()) { setChanged()。 } else { int result=(null, OH,你死啦 ,需要重新開始么? , Game Over, )。 } else{ break。 } private Node createFood() { int x = 0。 // 隨機獲取一個有效區(qū)域內(nèi)的與蛇體和食物不重疊的位置 do { Random r = new Random()。 y = (maxY)。 return new Node(x, y)。 } public void speedDown() { timeInterval /= speedChangeRate。 } public String toString() { String result = 。 i ()。 result += [ + + , + + ]。 } } class Node { int x。 Node(int x, int y) { = x。 } } SnakeView:視圖類 import .*。 import 。 25 import 。 public class SnakeView implements Observer { SnakeControl control = null。 JFrame mainFrame。 JLabel labelScore。 public static final int canvasHeight = 300。 public static final int nodeHeight = 10。 = control。 (600, 200)。 // 創(chuàng)建頂部的分?jǐn)?shù)顯示 labelScore = new JLabel(得分 :)。 // 創(chuàng)建中間的游戲顯示區(qū)域 paintCanvas = new Canvas()。 (control)。 // 創(chuàng)建底下的幫助欄 JPanel panelButtom = new JPanel()。 JLabel labelHelp。 (labelHelp, )。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1