广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java实现弹球小游戏
  • 363
分享到

java实现弹球小游戏

2024-04-02 19:04:59 363人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

GUI实现弹球小游戏,供大家参考,具体内容如下 先看一下游戏效果图。 一个简单的Demo。也比较简单,新手试着做一做完善改进。 源代码 import Com.Style.Fo

GUI实现弹球小游戏,供大家参考,具体内容如下

先看一下游戏效果图。

一个简单的Demo。也比较简单,新手试着做一做完善改进。

源代码


import Com.Style.FontStyle;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

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() {
        @Override
        public 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() {
                //重写键盘被按压的方法
                @Override
                public 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();

        }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: java实现弹球小游戏

本文链接: https://www.lsjlt.com/news/128354.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java实现弹球小游戏
    GUI实现弹球小游戏,供大家参考,具体内容如下 先看一下游戏效果图。 一个简单的Demo。也比较简单,新手试着做一做完善改进。 源代码 import Com.Style.Fo...
    99+
    2022-11-12
  • jQuery实现弹弹球小游戏
    本文实例为大家分享了jQuery实现弹弹球小游戏的具体代码,供大家参考,具体内容如下 效果展示: CSS样式: #box { width: 600px; ...
    99+
    2022-11-12
  • html5实现弹跳球小游戏
    这篇文章主要介绍“html5实现弹跳球小游戏”,在日常操作中,相信很多人在html5实现弹跳球小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5实现弹跳球小游戏”...
    99+
    2022-10-19
  • 用python实现弹球小游戏
    目录一、弹球游戏代码 二、程序结果 总结一、弹球游戏代码  下文是tkinter的应用实例,实现弹球游戏,通过<--和-->件移动平板接球。...
    99+
    2022-11-13
  • Python弹球小游戏
    ========给在校的小妹妹做个游戏玩:. 弹珠游戏主要是靠坐标xy,接板长度,球的半径等决定: # -*- coding: utf-8 -*-# @Author : Codeooo# @Ti...
    99+
    2023-08-31
    python 开发语言
  • 怎么用jQuery实现弹弹球小游戏
    本篇内容介绍了“怎么用jQuery实现弹弹球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文实例为大家分享了jQuery实现弹弹球小...
    99+
    2023-06-20
  • 微信小程序实现弹球游戏
    本文实例为大家分享了微信小程序实现弹球游戏的具体代码,供大家参考,具体内容如下 实验内容: 小球按照随机的角度直线运动,如果碰到四壁则反弹。你们不需要做游戏计时、设置小球及背景颜色等...
    99+
    2022-11-13
  • C++实现简易的弹球小游戏
    本文实例为大家分享了C++实现弹球小游戏的具体代码,供大家参考,具体内容如下 操作说明:键盘A和D键控制左右移动,让球不要落下。 #include <graphics.h&...
    99+
    2022-11-12
  • Pygame如何实现反弹球小游戏
    这篇文章主要为大家展示了“Pygame如何实现反弹球小游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Pygame如何实现反弹球小游戏”这篇文章吧。一、准备中1)游戏规则比平常的乒乓球更简单,...
    99+
    2023-06-29
  • 利用java编写一个弹球小游戏
    本篇文章给大家分享的是有关利用java编写一个弹球小游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。弹球游戏实现原理:  隔一定时间(小于1秒)重新绘制图像,因为Graphi...
    99+
    2023-05-31
    java ava
  • JS实现简单打砖块弹球小游戏
    本文实例为大家分享了JS实现打砖块弹球小游戏的具体代码,供大家参考,具体内容如下 使用原生JS写的,还有一点瑕疵。代码直接复制到html就能使用 速度随机的 因为设涉及横向和纵向速度...
    99+
    2022-11-12
  • pygame实现弹球游戏流程
    目录一、事件二、复习碰撞精灵三、画出球杆并击打小球一、事件 鼠标事件: pygame.mouse.get_pos():获取鼠标当前点的坐标 pygame.mouse.get_pres...
    99+
    2023-01-17
    Pygame弹球游戏 Pygame弹珠游戏 Python弹球游戏
  • python实现简单反弹球游戏
    python简单游戏-反弹球,供大家参考,具体内容如下 tkinter实现,直接贴上代码 from tkinter import* import time import rand...
    99+
    2022-11-12
  • Unity实现弹球打砖块游戏
    本文实例为大家分享了Unity实现弹球打砖块游戏的具体代码,供大家参考,具体内容如下 创作界面记录 摄像机 所需脚本 1射线shexian using System.Collect...
    99+
    2022-11-13
  • Android游戏开发学习①弹跳小球实现方法
    本文实例讲述了Android游戏开发学习①弹跳小球实现方法。分享给大家供大家参考。具体如下: 在学习了一点点Android之后,觉得有必要记录下来,于是就开了这个新坑,慢慢来填...
    99+
    2022-06-06
    开发学习 方法 学习 Android
  • Pygame实现简易版趣味小游戏之反弹球
    目录导语一、准备中1)游戏规则2)素材准备3)环境安装二、敲代码1)配置文件2)设置球的反弹、移动规则3)设置球拍电脑的移动等4)设置游戏开始界面5)定义游戏结束页面6)运行游戏De...
    99+
    2022-11-13
  • javaScript实现网页版的弹球游戏
    利用javeScript对象以及方法实现的网页弹球游戏,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> ...
    99+
    2022-11-12
  • C++实现简易反弹小球游戏的示例代码
    目录前言一、显示静止的小球二、小球下落三、上下弹跳的小球四、斜着弹跳的小球五、控制小球弹跳的速度六、完整代码前言 我们利用printf 函数实现一个在屏幕上弹跳的小球,如图所示。弹跳...
    99+
    2022-11-13
  • Java如何实现双色球彩票小游戏
    这篇文章主要介绍了Java如何实现双色球彩票小游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的...
    99+
    2023-06-14
  • C语言实现双人反弹球游戏
    本文项目为大家分享C语言实现双人反弹球游戏的具体代码,供大家参考,具体内容如下 一、最终项目描述和效果 项目描述:   实现双人玩的弹跳球游戏 最终效果图如下: 二、基本...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作