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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-俄羅斯方塊游戲程序設(shè)計(jì)-全文預(yù)覽

  

【正文】 } 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 41 public GamePanel getGamePanel() { return gamePanel。 try { ()。amp。 } /** * 設(shè)置 * * param gameInfoLabel */ public void setGameInfoLabel(JLabel gameInfoLabel) { = gameInfoLabel。 } /** * 處理 Ground 的 groundIsFull() 事件 , 將觸發(fā)游戲結(jié)束事件 */ public void groundIsFull(Ground ground) { // TODO Autogenerated method stub if (playing) { playing = false。 } } 。 } } /** * 添加監(jiān)聽器 , 可添加多個(gè) * * param l */ public void addGameListener(GameListener l) { if (l != null) (l)。 (new Font(宋體 , , 12))。 return false。 } } /** * 處理 Ground 觸發(fā)的 fullLineDeleted 事件 , 這個(gè)方法什么也沒(méi)做 , 只是打印了一句話 */ public void fullLineDeleted(Ground ground, int deletedLineCount) { // TODO Autogenerated method stub 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 42 (消了 + deletedLineCount + 行 )。 } /** * 處理 Ground 觸發(fā)的 beforeDeleteFullLine 事件將會(huì)改變滿行的顏色并暫停一段時(shí)間 */ public void beforeDeleteFullLine(Ground ground, int lineNum) { // TODO Autogenerated method stub (lineNum)。 } public Ground getGround() { return ground。// 提示 : 按 Y 開始新游戲 。 } /** * 繼續(xù)游戲 */ public void continueGame() { (false)。 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 39 for (GameListener l : listeners) ()。 if (gameInfoLabel != null) (())。 (this)。amp。 return false。amp。 if ((shape, )) return true。 } /** * 重新顯示 */ (ground, shape)。 case : if (isPlaying() amp。 else ()。 /** * 反引號(hào) ,換一個(gè)圖形 */ case : if (isPlaying()) { ()。 /** * PAGE UP */ case : ()。 } if (isPlaying() amp。 else { ()。 break。 } (false)。amp。 !playing) return。 } /** * 多接受一個(gè) JTextComponent, 可以給在這個(gè)組件上顯示提示信息 * * param shapeFactory * param ground * param gamePanel * param gameInfoLabel */ public Controller(ShapeFactory shapeFactory, Ground ground, GamePanel gamePanel, JLabel gameInfoLabel) { this(shapeFactory, ground, gamePanel)。 /** * 控制器 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 32 * param shapeFactory * param ground * param gamePanel */ public Controller(ShapeFactory shapeFactory, Ground ground, GamePanel gamePanel) { super()。 protected Ground ground。 import 。 import 。 import 。 import 。 最后,祝愿所有的教師和同學(xué)們,愿你們身體健康,工作順利! 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 28 參考文獻(xiàn) [1] 王樹偉 著,《 Visual C++游戲編程基礎(chǔ)》,北京:電子工業(yè)出版社, 2021 年。在設(shè)計(jì)過(guò)程中 龔 老師為我們提出了許多寶貴的意見和建議, 在此我要由衷的向 龔 老師致以最衷心的感謝和深深的敬意。因此做得不是很好,界面的設(shè)計(jì)及整體的布局還比較簡(jiǎn)單,沒(méi)有突出特色出來(lái),這也可能是我這個(gè)系統(tǒng)的不足之處 。 回顧這個(gè)設(shè)計(jì)過(guò)程 ,我學(xué)到了許多書本上沒(méi)有學(xué)到的知識(shí)。先前,對(duì)于 JAVA,基本上還停留在理論階段,但是通過(guò)這一個(gè)月的努力,完成了代碼超過(guò)數(shù)千行的俄羅斯方塊游戲,在JAVA 學(xué)習(xí)方面,我能夠感覺到自己的進(jìn)步。 在程序調(diào)試過(guò) 程中一定要耐心仔細(xì),一個(gè)細(xì)微的錯(cuò)誤將會(huì)導(dǎo)致整個(gè)功能不能實(shí)現(xiàn)會(huì)浪費(fèi)很多的時(shí)間來(lái)修改。 3.程序的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤。 } 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 22 游戲顯示 游戲顯示界面 開始暫??刂撇藛? 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 23 調(diào)整背景顏色障礙物顏色菜單 6 系統(tǒng)測(cè)試 測(cè)試的意義及注意事項(xiàng) 軟件測(cè)試是軟件工程中及其重要的一個(gè)環(huán)節(jié),目的是保證軟件的質(zhì)量。 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 21 (true)。 } 停止當(dāng)前游戲 public void stopGame() { if (shape == null) return。 shape = (this)。 方塊落下 是否有消行 否 檢測(cè)第一行 檢測(cè)第二行 消去該行 是 是否有消行 消去該行 檢測(cè)第三行 是否有消行 檢測(cè)第四行 消去該行 否 是 消去該行 是否有消行 否 是 統(tǒng)計(jì)所消行數(shù),增加相應(yīng)積分 結(jié)束 開始 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 20 開始一個(gè)新游戲 public void newGame() { playing = true。amp。接收到翻轉(zhuǎn)信息 方塊是否落下 不能翻轉(zhuǎn) 否 是 翻轉(zhuǎn)后是否有足夠空間 不能翻轉(zhuǎn) 否 是 翻轉(zhuǎn)后是否越界 否 直接翻轉(zhuǎn) 翻轉(zhuǎn)越界 糾正 是 結(jié)束 結(jié)束 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì) 俄羅斯方塊游戲程序設(shè)計(jì) 第 頁(yè) 19 這時(shí)候,應(yīng)該從長(zhǎng)條形的方塊占據(jù)的第一行開始檢測(cè),不管期間是否有消行,都必須將長(zhǎng)條形的方塊所占據(jù)的四行全部檢測(cè)完為止。 那么,當(dāng)方塊落下去后,如何判斷有行需要消除 。要想實(shí)現(xiàn)翻轉(zhuǎn)又不發(fā)生越界,那么,就應(yīng)該在方塊翻轉(zhuǎn)后把它往右邊移動(dòng)一個(gè)格子,然后再繪制方塊,這樣,方塊就不會(huì)擠占掉其它已經(jīng)固定住的方塊了。 假定方塊數(shù)組的橫縱坐標(biāo)是 x和 y,那么,這個(gè)位置就是,長(zhǎng)條形的方塊翻轉(zhuǎn)后所處的那一行是游戲地圖的第 y 行,所占的列是第 x到 x+3列,長(zhǎng)條形和田字形以外的五種方塊翻轉(zhuǎn)后的所占的行數(shù)是游戲地圖的第 y 和第 y+1 行,所占的列是第 x 到 x+2 列。第一種情況是方塊落下去后不能翻轉(zhuǎn);第二種情況是對(duì)豎直狀態(tài)出現(xiàn)的長(zhǎng)條形的方塊進(jìn)行翻轉(zhuǎn)判定;第三種情況是對(duì)除長(zhǎng)條形和田字 形之外的其它五種以橫向占兩個(gè)格子的狀態(tài)出現(xiàn)的方塊進(jìn)行翻轉(zhuǎn)判定。 對(duì)于第二種情況,在每次方塊翻轉(zhuǎn)前,必須首先計(jì)算出方塊周圍的空間,如果空間允許則翻轉(zhuǎn),否則,不能翻轉(zhuǎn)。 方塊翻轉(zhuǎn)的另一個(gè)問(wèn)題就是,當(dāng)方塊下落過(guò)程中,左右兩邊都有方塊,周圍的空間不能再容許它翻轉(zhuǎn),往往很 多游戲沒(méi)有注意到這一點(diǎn),這就導(dǎo)致,方塊翻轉(zhuǎn)之后把原來(lái)存在的方塊給擠掉了,這個(gè)問(wèn)題本質(zhì)上也是翻轉(zhuǎn)越界。這又分為兩種情況,一種是要墜下的地方還沒(méi)有方塊,這個(gè)時(shí)候,只要可以記錄下方塊數(shù)組中最后出現(xiàn) 1的那一行,假定那是第 i行,這樣,只要 y+i 等于 24,就可以認(rèn)定方塊已經(jīng)落到游戲地圖的底部,不能再繼續(xù)下落。 如果方塊的橫坐標(biāo)等于 0,方塊就不能再移動(dòng),那么方塊數(shù)組的第一列至少有一個(gè)值為 1,這種情況比較簡(jiǎn)單,但是,如果方塊數(shù)組的第一列全為 0時(shí),也就是說(shuō),當(dāng)方塊數(shù)組有 1的那列碰到邊界時(shí),方塊才不能移動(dòng),這個(gè)時(shí)候,首次出現(xiàn) 1 的那列的橫坐標(biāo)為 0,而方塊數(shù)組的橫坐標(biāo)肯定已經(jīng)小于 0了。但是,這里邊也會(huì)出現(xiàn)一個(gè)問(wèn)題,這何種時(shí)候,方塊不能再翻轉(zhuǎn)和移動(dòng) 。 游戲總體設(shè)計(jì)分析 Java 為純面向?qū)ο螅?ObjectOriented, OO)的程序語(yǔ)言,它的諸多優(yōu)點(diǎn)在此就不作論述了。方法命名盡量使用能夠描述本方法功能的英文單詞 比如,游戲初始化可以用 gameinitial。如果同一類中需要?jiǎng)?chuàng)建多個(gè)同一類型,功能相似的變量,變量的前綴應(yīng)使用統(tǒng)一的英文單詞,后綴為下劃線“ _”加數(shù)字。 軟硬件需求 操作系統(tǒng) Windows98/me/2021/XP/2021 內(nèi)存容量 64MB 顯卡要求 8M 聲卡要求 支持 DirectX 聲卡 交互工具 鍵盤 /鼠標(biāo) CPU 奔騰 133以上 光驅(qū) 8倍速以上 硬盤空間 400MB 顯示器 VGA以上顯示器 開發(fā)及運(yùn)行軟件 中南林業(yè)科技大學(xué)本科畢業(yè) 設(shè)計(jì)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1