电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java實現彈球小游戲

瀏覽:105日期:2022-08-10 13:24:55

GUI實現彈球小游戲,供大家參考,具體內容如下

先看一下游戲效果圖。

java實現彈球小游戲

java實現彈球小游戲

一個簡單的Demo。也比較簡單,新手試著做一做完善改進。

源代碼

import Com.Style.FontStyle;import javax.swing.*;import java.awt.*;import java.awt.event.*;/** * @Author: 冀十三 * @DescIption: 彈球小游戲 * @Date:2021--06--10--17:08 */public class Demo extends JFrame { //創建游戲窗口 public Demo() {init(); } //桌面大小 private final int TABLE_WIDTH = 450; private final int TABLE_HEIGHT = 600; //球大小 private final int BALL_SIZE = 15; //球拍大小 private final int RACKET_WIDTH = 120; private final int RACKET_HEIGHT = 20; //記錄小球坐標 private double BallX = 100; private double BallY = 200; //記錄球拍坐標 private double RACKET_X = 150; private final double RACKET_Y = 380; //記錄小球速度 private double speedX = 10; private double speedY = 20; //記錄游戲是否結束 private boolean isOver = false; //聲明一個積分器 int score= 0; //聲明一個計時器。 ActionListener run = new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { //更新小球坐標讓小球動起來 BallY+=speedY; BallX+=speedX; //重繪界面 mycanvas.repaint(); //碰到兩邊的時候 if (BallX<=0||BallX>=TABLE_WIDTH-BALL_SIZE){speedX=-speedX; } //碰到上邊界的時候 if(BallY<=0){speedY=-speedY; } //接住小球的時候 if ( BallY>=(RACKET_Y-BALL_SIZE)&&BallX>RACKET_X&&BallX<(RACKET_X+RACKET_WIDTH)){//得10分score+=10;speedY=-speedY; } if ((BallY>(RACKET_Y-BALL_SIZE)&&(BallX<RACKET_X||BallX>RACKET_X+RACKET_WIDTH))){timer.stop();isOver=true;mycanvas.repaint(); }} };private Timer timer = new Timer(60, run);//內部類繼承Canvas充當畫布private class myCanvas extends Canvas { public void paint(Graphics g) {//繪制內容//如果游戲結束if (isOver) { //給畫筆顏色 g.setColor(new Color(0xFF9A1B44, true)); //給畫筆字體 g.setFont(new Font('宋體', FontStyle.BOLD, 25)); g.drawString('Game Over!', 120, TABLE_HEIGHT / 4); g.drawString('成績'+score+'分', 120, TABLE_HEIGHT / 3); g.drawString('按空格再來一次', 120, TABLE_HEIGHT / 2);} else { //否則游戲中 //繪制小球 g.setColor(new Color(0xFF09FAA6, true)); g.fillOval((int) BallX, (int) BallY, BALL_SIZE, BALL_SIZE); //畫一個積分系統 //上色 g.setColor(new Color(0xE8DC0C77,true)); //給畫筆字體 g.setFont(new Font('宋體', FontStyle.BOLD, 25)); g.drawString('得分:'+score, 25, 25); //繪制球拍 g.setColor(new Color(0xFF0E51D7, true)); g.fillRect((int) RACKET_X, (int) RACKET_Y, RACKET_WIDTH, RACKET_HEIGHT); timer.start();} }}//創建繪畫區myCanvas mycanvas = new myCanvas();//窗口初始化public void init() { JFrame jFrame = new JFrame(); jFrame.setTitle('彈球小游戲');//窗口名稱 jFrame.pack();//自適應布局 jFrame.setVisible(true);//可見 jFrame.add(mycanvas); jFrame.setBounds(500, 200, TABLE_WIDTH, TABLE_HEIGHT); jFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//關閉 mycanvas.setPreferredSize(new Dimension(TABLE_WIDTH, TABLE_HEIGHT));//畫布大小 jFrame.setResizable(false);//大小不可變 KeyListener keyListener = new KeyAdapter() {//重寫鍵盤被按壓的方法@Overridepublic void keyPressed(KeyEvent e) { //接收按下的是哪個鍵 int key = e.getKeyCode(); if (key == KeyEvent.VK_LEFT) {if (RACKET_X >0) { RACKET_X -= 30;} } if (key == KeyEvent.VK_RIGHT) {if (RACKET_X < (TABLE_WIDTH - RACKET_WIDTH )) { RACKET_X += 30;} } if (key == KeyEvent.VK_SPACE) {if (isOver=true) { Demo.main(null);} }} }; //窗口獲取鍵盤監聽 jFrame.addKeyListener(keyListener); //鍵盤獲取鍵盤監聽 mycanvas.addKeyListener(keyListener);}public static void main(String[] args) { new Demo();}}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 济南网站建设|济南建网站|济南网站建设公司【济南腾飞网络】【荐】 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 重庆轻质隔墙板-重庆安吉升科技有限公司 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | SDI车窗夹力测试仪-KEMKRAFT方向盘测试仪-上海爱泽工业设备有限公司 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 衡阳耐适防护科技有限公司——威仕盾焊接防护用品官网/焊工手套/焊接防护服/皮革防护手套 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | 福建成考网-福建成人高考网| PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 辐射仪|辐射检测仪|辐射巡测仪|个人剂量报警仪|表面污染检测仪|辐射报警仪|辐射防护网 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 上海三信|ph计|酸度计|电导率仪-艾科仪器 | 苏州教学设备-化工教学设备-环境工程教学模型|同科教仪 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 玄米影院| 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 杭州营业执照代办-公司变更价格-许可证办理流程_杭州福道财务管理咨询有限公司 | 熔体泵_熔体出料泵_高温熔体泵-郑州海科熔体泵有限公司 |