九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

俄羅斯方塊Java編寫精髓.ppt

  • 資源ID:9390078       資源大?。?span id="24d9guoke414" class="font-tahoma">1.23MB        全文頁數(shù):26頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

俄羅斯方塊Java編寫精髓.ppt

項(xiàng)目評(píng)審 俄羅斯方塊 主講人 雷凱組員 沈唯唯 李有寧 田園田亮 尹亮 界面展示 程序運(yùn)行成功后 進(jìn)入游戲界面 如左圖所示 游戲暫停 按下鍵盤按鍵 P pause 游戲進(jìn)入停止?fàn)顟B(tài) 等待用戶按下 C Continue 鍵繼續(xù)游戲 退出游戲 按下鍵盤按鍵 Q Quit 彈出系統(tǒng)提示框 選擇是否要退出游戲 游戲結(jié)束 當(dāng)方框到達(dá)頂端時(shí) Wall 0 4 null 判定游戲結(jié)束 按下 S 可重新初始化界面開始游戲 具體實(shí)現(xiàn) Cell 格子類 Tetromino 四格方塊類 7個(gè)子類 T I O S Z J L 一個(gè)內(nèi)部類 State 存放四個(gè)方塊旋轉(zhuǎn)時(shí)的坐標(biāo)狀態(tài) Tetris 俄羅斯方塊類 extendsJpanel邏輯處理及方法的具體實(shí)現(xiàn) Cell 屬性 row col Image方法 drop 向下降落一個(gè)單位leftMove 向左移動(dòng)一個(gè)單位rightMove 向右移動(dòng)一個(gè)單位 Tetromino Cell cells newCell 4 State states 旋轉(zhuǎn)狀態(tài)Index 旋轉(zhuǎn)下標(biāo)ProtectedclassState 旋轉(zhuǎn)狀態(tài)類 內(nèi)部類 7個(gè)子類7種方塊rotateRight 向右旋轉(zhuǎn)rotateLeft 向左旋轉(zhuǎn)softDrop 下落moveLeft 左移moveRight 右移RandomOne 隨機(jī)生成一個(gè)四格方塊 Tetris paint Graphicsg 重寫繪圖方法paintWall Graphicsg 繪制墻action 通過調(diào)用該方法啟動(dòng)軟件Quit 退出pauseAction 暫停continueAction 繼續(xù)paintTetromino Graphicsg 繪制四格方塊paintNextOne Graphicsg 繪制下一個(gè)方塊paintScore Graphicsg 繪制成績(jī)paintLines Graphicsg 繪制已消除行數(shù)paintPause Graphicsg 繪制暫 繼續(xù)停提示 softDropAction 下落控制方法canDrop 判斷是否能夠繼續(xù)下落landToWall 著陸到墻destroyLines 銷毀的行數(shù)fullCells introw 判斷一行是否滿了deleteLine introw 刪除一行checkGameOver 檢查游戲結(jié)束狀態(tài)moveLeftAction 判斷左移是否出界moveRightAction 判斷右移是否出界rotateRightAction 判斷旋轉(zhuǎn)是否出界outOfBounds 檢查是否出界coincide 判斷是否重合hardDropAction 瞬間下降startAction 開始動(dòng)作流程 簡(jiǎn)單工廠模式實(shí)例化四格方塊T I O S Z J L 田亮 將7個(gè)子類封裝到類Tetromino 在構(gòu)造方法里初始化四格方塊的初始位置 row col 和相對(duì)位置 初始位置 cell 0 0 4 cell 1 0 3 cell 2 0 5 cell 3 1 3 以 L 型四格方塊為例 以編號(hào)為 0 的格子為旋轉(zhuǎn)軸 計(jì)算其他格子的相對(duì)坐標(biāo) states 0 0 0 0 1 0 1 1 1 states 1 0 0 1 0 1 0 1 1 states 2 0 0 0 1 0 1 1 1 states 3 0 0 1 0 1 0 1 1 states 0 states 1 states 2 states 3 旋轉(zhuǎn) 左移 右移 沈唯唯 privateintIndex 10000 表示旋轉(zhuǎn)狀態(tài)下標(biāo) 設(shè)置為10000防止旋轉(zhuǎn)次數(shù)過多而使游戲無法正常進(jìn)行 在Tetromino類中添加內(nèi)部類State屬性 row0 col0 row1 col1 row2 col2 row3 col3以上8個(gè)屬性表示4個(gè)方塊的相對(duì)坐標(biāo) 構(gòu)造方法 publicState introw0 旋轉(zhuǎn) rotateRight 下標(biāo)Index自增rotateLeft 下標(biāo)Index自減States states index states length 當(dāng)前狀態(tài)s為四格方塊旋轉(zhuǎn) index states length 次的狀態(tài) 以cells 0 為旋轉(zhuǎn)軸 根據(jù)初始化的相對(duì)坐標(biāo)cells 1 setRow cells 0 getRow s row1 cells 1 setCol cells 0 getCol s col1 cells 2 setRow cells 0 getRow s row2 cells 2 setCol cells 0 getCol s col2 cells 3 setRow cells 0 getRow s row3 cells 3 setCol cells 0 getCol s col3 左移 右移 moveLeftAction 左移先調(diào)用tetromino moveLeft 如果出界 或者重合再調(diào)用tetromino moveRight 在moveLeft方法中遍歷當(dāng)前對(duì)象cells中所有cell對(duì)象循環(huán)調(diào)用cell leftMove moveRightAction 右移的原理同上 下落 李有寧 softDropAction 一步一步下落if canDrop 為true 檢查當(dāng)前方塊是否能夠繼續(xù)下落 則調(diào)用tetromino softDrop 在softDrop 中遍歷cells對(duì)象調(diào)用cell drop hardDropAction 瞬間下降while canDrop 為true 檢查當(dāng)前方塊是否能夠繼續(xù)下落 則調(diào)用tetromino softDrop 在softDrop 中遍歷cells對(duì)象調(diào)用cell drop 否則調(diào)用方法 landToWall 著陸到墻destroyLines 銷毀行數(shù)checkGameOver 檢查游戲是否結(jié)束 landToWall 著陸到墻Cell cells tetromino cells 遍歷當(dāng)前四格方塊對(duì)象將每一個(gè)格子對(duì)象賦值給墻wall cell getRow cell getCol celldestroyLines 銷毀行數(shù)遍歷每行的格子 如果fullCells row 遍歷當(dāng)前行的各自是否是滿的 為true 調(diào)用deleteLine row 消除這行 lines 最后加成績(jī)this score scoreTable lines scoreTable 為得分表 判斷方法 暫停 繼續(xù) 退出 田園 checkGameOver 檢查游戲是否結(jié)束如果wall 0 4 null成立 調(diào)用timer cancle 關(guān)閉計(jì)時(shí)器 游戲結(jié)束 outOfBounds 出界檢查方法Cell cells tetromino cells 遍歷當(dāng)前四格方塊對(duì)象的每個(gè)格子如果 cell getCol COLS cell getRow ROWS 成立 方塊是否出了長(zhǎng)方形界面 返回true coincide 判斷重合方法Cell cells tetromino cells 遍歷當(dāng)前四格方塊對(duì)象的每個(gè)格子如果 cell getCol 0 將暫停標(biāo)記設(shè)置為true continueAction 繼續(xù)游戲pause false 設(shè)置暫停標(biāo)記為falsetimer newTimer 創(chuàng)建一個(gè)新的計(jì)時(shí)器對(duì)象timer schedule newTimerTask publicvoidrun softDropAction repaint inteval inteval schedule TimerTasktask longdelay longperiod 安排指定的任務(wù)從指定的延遲后開始進(jìn)行重復(fù)的固定延遲執(zhí)行Inteval為間隔時(shí)間800ms 繪圖方法 尹亮 paint Graphicsg 重寫繪圖方法g drawImage background 0 0 null 畫背景g translate 15 15 將圖形上下文的原點(diǎn)平移到當(dāng)前坐標(biāo)系中的點(diǎn) x y 繪制墻 四格方塊 下一個(gè)方塊 成績(jī) 已消除行數(shù) 暫停 繼續(xù)提示如果游戲結(jié)束標(biāo)記為true 繪制游戲結(jié)束的圖片paintWall Graphicsg 繪制墻將長(zhǎng)方形區(qū)域劃分成20行 10列 遍歷每個(gè)方塊對(duì)象 若cell不為空g drawImage cell getImage x 1 y 1 null 圖像大小x 1 y 1是圖形看起來順眼 paintTetromino Graphicsg 繪制四格方塊如果沒有正在下落的方塊就不繪制 否則遍歷四格方塊對(duì)象的四個(gè)小格子并繪制 paintNextOne Graphicsg 繪制下一個(gè)方塊如果沒有正在下落的方塊 就不繪制 否則遍歷隨機(jī)生成的下一個(gè)四格方塊的四個(gè)小格子并繪制 paintScore Graphicsg 繪制成績(jī)paintLines Graphicsg 繪制已消除行數(shù)paintPause Graphicsg 繪制暫停 繼續(xù)提示以上3個(gè)方法均是先設(shè)置字體格式 顏色 位置再繪制 程序啟動(dòng)方法 雷凱 通過靜態(tài)代碼塊將背景圖片 7種方塊圖片和游戲結(jié)束圖片加載進(jìn)來 這會(huì)節(jié)省很多時(shí)間 static Classcls Tetris class background ImageIO read cls getResource image 可以讀取圖片文件到內(nèi)存中的對(duì)象 該靜態(tài)代碼塊需捕捉異常 IOException action 啟動(dòng)軟件調(diào)用startAction 開始動(dòng)作流程 創(chuàng)建鍵盤按鍵監(jiān)聽對(duì)象newKeyAdapter keyPressed KeyEvente 如果有按鍵按下完成時(shí)候 pressed 就會(huì)執(zhí)行VK Q quit 退出VK S startAction 重新開始游戲VK C continueAction 繼續(xù)游戲VK P pauseAction 暫停游戲VK DOWN softDropAction 下落一格VK UP rotateRightAction 旋轉(zhuǎn)VK SPACE hardDropAction 下落到底部VK LEFTmoveLeftAction 左移一格VK RIGHT moveRightAction 右移一格 startAction 開始動(dòng)作流程pause false gameOver false score 0 lines 0 清空墻 遍歷所有行 填充數(shù)據(jù)為null 初始化對(duì)象tetromino nextOne生成隨機(jī)四格方塊 timer newTimer 創(chuàng)建一個(gè)新的計(jì)時(shí)器對(duì)象TimerTasktask newTimerTask publicvoidrun softDropAction repaint 創(chuàng)建一個(gè)新的計(jì)時(shí)器任務(wù) timer schedule task inteval inteval 安排指定的任務(wù)從指定的延遲后開始進(jìn)行重復(fù)的固定延遲執(zhí)行 謝謝觀賞

注意事項(xiàng)

本文(俄羅斯方塊Java編寫精髓.ppt)為本站會(huì)員(jun****875)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!