java課程設(shè)計(jì)報(bào)告-俄羅斯方塊.doc
《java課程設(shè)計(jì)報(bào)告-俄羅斯方塊.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《java課程設(shè)計(jì)報(bào)告-俄羅斯方塊.doc(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
II JAVA程序設(shè)計(jì)課程設(shè)計(jì) 之 俄羅斯方塊 年級(jí):13級(jí) 班級(jí):T412 網(wǎng)絡(luò)工程 指導(dǎo)老師:朱林 小組成員: 20138346021 許浩洋 時(shí)間:2015年11月11日 目錄 摘要 第一章 課程設(shè)計(jì)要求 第二章 設(shè)計(jì)概要 2.1 功能設(shè)計(jì) 2.2 功能分析 2.2.1 系統(tǒng)操作界面 2.2.2 程序主要功能說(shuō)明 第三章 調(diào)試分析與測(cè)試結(jié)果 3.1 游戲運(yùn)行界面 3.2 測(cè)試項(xiàng)目 3.2.1 功能區(qū)按鍵測(cè)試 3.2.2 鍵盤功能測(cè)試 3.2.3 游戲結(jié)束測(cè)試 第四章 設(shè)計(jì)總結(jié) 4.1 改進(jìn)意見 4.2 《Java課程設(shè)計(jì)》心得體會(huì) II 19 摘要 在現(xiàn)代,高科技的飛躍發(fā)展,人們工作習(xí)慣的改變,特別是電腦的大量普及,人們生活節(jié)奏越來(lái)越快,一些有趣的桌面游戲已經(jīng)成為人們?cè)谑褂糜?jì)算機(jī)進(jìn)行工作或?qū)W習(xí)之余休閑娛樂(lè)的首選,而俄羅斯方塊游戲是人們最熟悉的小游戲之一。俄羅斯方塊(Tetris, 俄文:Тетрис)是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它由俄羅斯人阿列克謝·帕基特諾夫發(fā)明,故得此名。俄羅斯方塊的基本規(guī)則是移動(dòng)、旋轉(zhuǎn)和擺放游戲自動(dòng)輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。由于上手簡(jiǎn)單、老少皆宜,從而家喻戶曉,風(fēng)靡世界。 為此,我們?cè)O(shè)計(jì)了一款簡(jiǎn)單的俄羅斯方塊JAVA游戲程序,以便更好的滿足廣大電腦工作者閑暇之余的消遣,并且也讓我們學(xué)到編程技術(shù)與團(tuán)隊(duì)意識(shí)。 關(guān)鍵字:俄羅斯方塊、JAVA游戲、編程 第1章 課程設(shè)計(jì)要求 題目名稱:俄羅斯方塊 題目類型:設(shè)計(jì)型 課程設(shè)計(jì)目的: 1)了解Java的基本使用方法。 2)熟悉eclipse的運(yùn)行環(huán)境。 3)用JAVA來(lái)設(shè)計(jì)一個(gè)俄羅斯方塊的小游戲。 4)基本實(shí)現(xiàn)俄羅斯方塊的應(yīng)用功能。 實(shí)驗(yàn)原理: JAVA程序分析與設(shè)計(jì)、類的靈活運(yùn)用、多態(tài)技術(shù)、模板技術(shù)、異常處理等。 實(shí)驗(yàn)內(nèi)容: 本俄羅斯方塊游戲是對(duì)于隨機(jī)給出不同的形狀(長(zhǎng)條形、Z字形、反Z形、田字形、L字形、反L形、T字型)下落填充給定的區(qū)域,若填滿一條便消掉,記分。若在游戲中各形狀填滿了給定區(qū)域,為輸者。 第二章 設(shè)計(jì)概要 2.1 功能設(shè)計(jì) 本項(xiàng)目是為了實(shí)現(xiàn)俄羅斯方塊的基本功能而設(shè)計(jì)的,基本能夠達(dá)到俄羅斯方塊的各種游戲性。項(xiàng)目需求分析如下: 1)由方塊組成的不同的隨機(jī)圖形會(huì)從區(qū)域上方開始緩慢落下。 2)玩家可以做的操作有: 以90度為單位旋轉(zhuǎn)方每一格塊。 以格子為單位左右移動(dòng)方塊,讓方塊加速落下。 3)方塊移到區(qū)域最下方或是著地到其他方塊上無(wú)法移動(dòng)時(shí),就會(huì)固定在該處,而新的隨機(jī)圖形會(huì)出現(xiàn)在區(qū)域上方開始落下。 4)當(dāng)區(qū)域中某一列橫向格子全部由方塊填滿,則該列會(huì)自動(dòng)消除并成為玩家的得分。 5)一次性銷毀不同行數(shù)方塊得分不同,一行1分,兩行2分,三行5分,四行10分。 6)當(dāng)固定的方塊堆到區(qū)域最上方,則游戲結(jié)束。 處理玩家操作 2.2 功能分析 2.2.1 系統(tǒng)操作界面 2.2.2 程序主要功能說(shuō)明 1.面板畫筆類 代碼: package Tetris; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.Arrays; import java.util.Timer; import java.util.TimerTask; import javax.swing.JFrame; import javax.swing.JPanel; public class TetrisPanel extends JPanel{ //游戲主面板20行10列 private static final int ROWS = 20; private static final int COLS = 10; //代表方塊著陸的墻 private Cell[][] wall = new Cell[ROWS][COLS]; //定義每一小塊的大小 private static final int CELL_SIZE = 25; //游戲得分 private int score; //游戲銷毀行數(shù) private int lines; //一次性銷毀行數(shù)的計(jì)分標(biāo)準(zhǔn)(0行=0分,1行=1分,2行=4分,3行=10分,4行=20分) private static final int [] SCORE_LEVEL ={0,1,4,10,20}; //游戲結(jié)束標(biāo)記 private boolean gameOver = false; //游戲暫停標(biāo)記 private boolean pause = false; //正在下落的四格方塊 private Tetromino currentTetro ; //下一個(gè)下落的四格方塊 private Tetromino nextTetro ; //定義游戲定時(shí)器 private Timer timer; public static void main(String[] args){ JFrame frame = new JFrame("俄羅斯方塊"); int width = (COLS+8)*CELL_SIZE+100; int height = ROWS*CELL_SIZE+100; frame.setSize(width, height); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //取消系統(tǒng)默認(rèn)布局 frame.setLayout(null); TetrisPanel panel = new TetrisPanel(); panel.setLocation(45, 35); panel.setSize((COLS+8)*CELL_SIZE,ROWS*CELL_SIZE+1); frame.add(panel); frame.setVisible(true); panel.action(); } public void paint(Graphics g){ super.paint(g); //填充背景顏色 this.paintBackground(g); //繪制游戲墻 paintWall(g); //繪制分?jǐn)?shù)墻 paintScore(g); //繪制面板邊框 paintTetrisBorder(g); //繪制當(dāng)前四格方塊 paintCurrentTetro(g); //繪制下個(gè)四格方塊 paintNextTetro(g); } // private static final int BG_COLOR = 0xC3D5EA; // private static final int BORDER_COLOR = 0x667799; // private static final int FONT_COLOR = 0x000000; //繪制背景的方法 public void paintBackground(Graphics g){ g.setColor(new Color(BG_COLOR)); //this.setBackground(new Color(BG_COLOR)); g.fillRect(0, 0, this.getWidth(), this.getHeight()); } //繪制游戲墻的方法 public void paintWall(Graphics g){ for(int row=0;row- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
32 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java 課程設(shè)計(jì) 報(bào)告 俄羅斯方塊
鏈接地址:http://m.appdesigncorp.com/p-1546665.html