java弹弹球实验报告_Java弹球游戏实验报告—chen
Java彈球游戲實驗報告—chen
課 程 設 計 報 告 題 目 彈球小游戲 姓 名 方成 學 號 20 專 業 java 指導教師 陳華恩 2013年 12 月 30 目錄 一、實驗目的2 二、需求分析2 三、實驗任務2 1、設計3 2、程序要求:3 3、選作題:3 四、開發工具與平臺3 五、設計思路3 1、界面設計3 2、邏輯設計3 3、程序測試4 六、實驗總結5 七、程序代碼5 八、參考文獻11 1.《瘋狂java講義》12 2.《算法導論》12 3.《java編程思想》12 一、實驗目的 1、 熟練掌握java面向對象編程。 2、 掌握Swing圖形用戶界面編程以及事件處理等,掌握java繪圖技術。 3、 掌握timer類的靈活使用 4、 培養獨立查找資料,并解決問題的能力。 二、需求分析 經典的碰撞球是一個的古老游戲,目的是在訓練人的反應能力。只有通過把所有的磚塊消除完,才能順利的完成任務。游戲要求如下: 1、 實現球速度的隨機性 2、 實現球碰撞到邊緣或者磚塊自動反彈 3、 實現游戲可以隨時暫停 4、 實現游戲結束后能重新開始游戲 三、實驗任務 1、 設計 設計并編程實現彈球程序:用戶能通過菜單或者按鈕新增一小球,該小球將從隨機的位置出現,并具有隨機顏色,隨機速度以及隨機的運動方向,小球沿初始方向勻速運動,當碰到窗口邊緣時,小球將依據受力原理改變運動方向(可簡化考慮,受力只改變小球的運動方向,小球仍按照初始速度勻速運動,且不考慮小球之間的碰撞)。 2、 程序要求: (1) 具備相應界面,并通過事件編程,實現相應的菜單或者按鈕功能。 (2) 使用timer,在程序窗口區域繪制小球,并以線程控制小球的移動,實現動畫效果。 3、 選作題: (1) 實現獎勵機制及關卡機制 四、開發工具與平臺 JDK1.6+eclipse 五、設計思路 1、 界面設計 首先建立窗口類 繼承自JFrame。該界面為主界面。 在加上按鈕—開始與暫停 在加入JPanel面板,用于圖形界面. 2、 邏輯設計 程序用過響應timer事件,按鈕事件及鍵盤事件來管理程序的運行。 程序開始 窗口運行,等待響應用戶消息 游戲開始,小球開始移動 移動速度在每次反彈后發生變化。如果小球碰倒邊界或者磚塊,小球方向發生變化 若某個小球掉到球拍下面,游戲結束。按開始按鈕則重新開始游戲 退出 移動球拍來使小球不至于掉到球拍下面 3、 程序測試 六、實驗總結 1、這次實驗綜合運用了GUI編程,使我對多線程編程有了一定的了解,對java的多線程機制有了一點理解,更加熟練的運用swing組件設計界面,響應消息,接口的實現等等。 2、通過課程設計的編程和對編程過程中遇到的問題的思考,切實的提高了我的編程能力,通過這次課程設計,我鞏固所了學過的知識,能用JAVA熟練地運用其中的一些,進一步掌握了各個指令的功能是轉向。 七、程序代碼 package com.fangcheng.ball.game; import java.awt.Font; import java.awt.event.*; import javax.swing.*; import java.util.ArrayList; import java.util.Random; public class BallGame extends JFrame implements ActionListener,KeyListener{ private JPanel p; private JButton start; private JButton stop; private JLabel ball; private JLabel qiupai; private JLabel bg;//用來放置背景圖片的JLabel private JLabel win; private JLabel over; private int x1=50; private int x2=15; private int y1=325; private int y2=340;//球與球拍的初始位置 private Timer time;//周期性觸發球的移動事件的timer對象 private boolean isRight=false;//球是否向右移動 private boolean isDow=false;//球是否為下降 private boolean isOver=false;//是否游戲結束 private boolean isYi=false;//球拍是否能移動 private int xsudu=3; private int ysudu=3;//球的x,y速度,初始值為3 private Random ran=new Random();//用于隨機產生球的x,y速度 private ArrayList removeBrickList;//被移除的磚塊的list private ArrayList brickList; //游戲時磚塊的list private Font font; /** * 構造器,參數為窗口標題 * @param s */ public BallGame(String s){ super(s); gameShow(); } /** * 用于游戲窗口繪制的方法 */ public void gameShow(){ //初始化組件 ImageIcon img1=new ImageIcon(BallGame.class.getResource(“/images/ball.png“)); ImageIcon img2=new ImageIcon(this.getClass().getResource(“/images/pa.png“)); ImageIcon img3=new ImageIcon(this.getClass().getResource(“/images/kuang.png“)); ImageIcon img
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java弹弹球实验报告_Java弹球游戏实验报告—chen的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 免费ddos攻击网址(ddos免费攻击网
- 下一篇: 电信备案教程下载(电信备案教程)