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

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

java實現彈球小游戲

瀏覽:106日期: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
相關文章:
主站蜘蛛池模板: 北京网站建设-企业网站建设-建站公司-做网站-北京良言多米网络公司 | bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 数字展示在线_数字展示行业门户网站 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 | 齿轮减速电机一体机_蜗轮蜗杆减速马达-德国BOSERL齿轮减速机带电机生产厂家 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 数控走心机-双主轴走心机厂家-南京建克 | 物流公司电话|附近物流公司电话上门取货 | 火锅底料批发-串串香技术培训[川禾川调官网] | hc22_hc22价格_hc22哈氏合金—东锜特殊钢| 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 数码管_LED贴片灯_LED数码管厂家-无锡市冠卓电子科技有限公司 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 警方提醒:赣州约炮论坛真的安全吗?2025年新手必看的网络交友防坑指南 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 护栏打桩机-打桩机厂家-恒新重工 | 淄博不锈钢无缝管,淄博不锈钢管-鑫门物资有限公司| 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 多物理场仿真软件_电磁仿真软件_EDA多物理场仿真软件 - 裕兴木兰 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | ge超声波测厚仪-电动涂膜机-电动划格仪-上海洪富 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | 模型公司_模型制作_沙盘模型报价-中国模型网 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 维泰克Veertek-锂电池微短路检测_锂电池腐蚀检测_锂电池漏液检测 | 猎头招聘_深圳猎头公司_知名猎头公司 | 物联网卡_物联网卡购买平台_移动物联网卡办理_移动联通电信流量卡通信模组采购平台? |