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