import sun.plugin2.util.ColorUtil;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;//挡板接小球游戏
//小球垂直运动
/*1、小球设置了四个关卡
2、通过每一关卡程序提示:“恭喜您已经进入下一关卡”
3、进入下一关卡小球改变一次颜色
4、进入下一关卡挡板缩短一段长度
5、进入下一关卡小球速度提高一个档位
6、程序结束:小球停止运行、并显示游戏结
束、显示所得分数*/public class Games {public static void main(String[] args) {new MyJFrame.GameStart1().launchFrame();}
}class MyJFrame extends JFrame {public MyJFrame() {//标题设置this.setTitle("接小球游戏");//设置窗体的大小this.setSize(1000, 600);//设置窗体居中this.setLocationRelativeTo(null);//设置关闭当前进程this.setDefaultCloseOperation(3);//设置面板对象MyJpanel Jpanel = new MyJpanel();this.add(Jpanel);//窗体可视化this.setVisible(true);}class MyJpanel extends JPanel implements Runnable, MouseMotionListener, MouseListener {//小球属性int d = 30;//小球直径Color color = Color.WHITE;//小球的颜色int x = (int) (Math.random() * 1000);//小球初始坐标int y = 50;//小球初始纵坐标int ydir = 1;int xdir = 1;//小球x轴的偏移量int spend = 2;int xL = 100;//挡板横坐int yL = 550;//挡板纵坐标int length = 400;//挡板长度boolean flag = false;//标识int score = 0;//得分Thread thread = null;Color c;public MyJpanel() {setBackground(Color.WHITE); //设置面板的背景颜色thread = new Thread(this);thread.start();addMouseMotionListener((MouseMotionListener) this);}public void paint(Graphics g) {super.paint(g);g.setColor(c);//g.setColor(color);g.fillOval(x, y, d, d);Font font = new Font("微软雅黑", Font.BOLD, 35);g.setFont(font);g.drawString("得分:" + score, 800, 100);Graphics2D graphics2D = (Graphics2D) g;graphics2D.setStroke(new BasicStroke(20));graphics2D.drawLine(xL, yL, xL + length, yL);//挡板//显示关卡数
//        if(score==30){
//            g.drawString("您已进入第二关",400,200);
//        }switch (score) {case 30:g.drawString("恭喜您,已进入第二关", 350, 200);break;case 70:g.drawString("恭喜您,已进入第三关", 350, 200);break;case 130:g.drawString("恭喜您,已进入第四关", 350, 200);case 200:g.drawString("魔鬼关卡", 350, 200);}//        g.setColor(c);if (flag) {g.setColor(Color.darkGray);font = new Font("微软雅黑", Font.BOLD, 80);g.setFont(font);g.drawString("游戏结束", 250, 200);g.drawString("您的得分是:" + String.valueOf(score) + "分", 250, 300);}}public void run() {while (true) {y += ydir * spend;//小球下落x += xdir * 3;//小球的x偏移
//            if(y>=600-d || y<=0){
//                ydir*=-1;
//            }if (x >= 1000 - d || x <= 0) {xdir *= -1;}if (y <= 550) {if (y < 0) {ydir *= -1;}if (y >= 550 - d && x > xL - d / 2 && x < xL + length + d / 2) {
//                    c=new Color((int)(Math.random()*256), (int)(Math.random()*256), (int)(Math.random()*256));ydir *= -1;score += 5;if (score >= 200) {c = new Color(0, 0, 255);spend = 10;length = 200;} else if (score >= 130) {c = new Color(0, 255, 0);spend = 8;length = 250;} else if (score >= 70) {c = new Color(255, 0, 0);spend = 6;length = 300;} else if (score >= 30) {c = new Color(255, 204, 00);spend = 4;length = 350;}}} else {
//                System.out.println("游戏结束");flag = true;//标识repaint();thread.stop();//结束游戏}repaint();//重新绘制画布try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}}}@Override//鼠标拖拽时public void mouseDragged(MouseEvent e) {}@Override//鼠标移动时public void mouseMoved(MouseEvent e) {int xm = 0;//获取鼠标的横坐标int ym = 0;if ((e.getX() >= xL - 10 && e.getX() <= xL + length + 10) && (e.getY() > 500 && e.getY() < 600)) {
//            System.out.println("鼠标进入挡板区域");setCursor(new Cursor(Cursor.HAND_CURSOR));//设置鼠标样式为小手xL = e.getX() - length / 2;} else {setCursor(new Cursor(Cursor.DEFAULT_CURSOR));//设置鼠标样式为默认值}}@Overridepublic void mouseClicked(MouseEvent e) {}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}}static class GameStart1 extends JFrame {private Container LoginMainPanel;public void launchFrame() {GameStart1 gameStart1 = new GameStart1();Font font1 = new Font("黑体", Font.BOLD, 55);JButton button = new JButton("开始游戏");button.setFont(font1);gameStart1.setSize(1000, 600);gameStart1.setTitle("开始游戏");gameStart1.getContentPane().add(button);gameStart1.setDefaultCloseOperation(3);gameStart1.setLocationRelativeTo(null);gameStart1.setResizable(false);button.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {gameStart1.dispose();new MyJFrame();}});gameStart1.setVisible(true);}}
}

挡板接小球视频展示,代码在我博客

java实现挡板接小球游戏相关推荐

  1. Java挡板接小球游戏

    虽然在学校Java学了很久了,但是什么也没学到,最近实习,老师在课堂授课时用这个小游戏来讲解Java中的基础知识,在这里拿出来作为学习过程的记录,希望以后能够每天进步. 建立一个Java项目,创建一个 ...

  2. java挡板怎么写_Java挡板接小球游戏

    版权声明:© 2018 chashu All Rights Reserved.https://blog.csdn.net/tongshuyang/article/details/83054905 虽然 ...

  3. Java 碰壁小球游戏实例教程

    本教程会举例用Java实现简单的小球碰壁反弹游戏,效果如图所示: JFrame: 窗体部分 首先创建一个窗体界面,下面举一个简单的例子(Jframe是自己定义的类名,注意和JFrame的区别) imp ...

  4. 复习Java小球游戏代码分享Java面试题MySQL中常用的锁生活【记录一个咸鱼大学生三个月的奋进生活】021

    记录一个咸鱼大学生三个月的奋进生活021 复习Java小球游戏 游戏界面的代码 小球运动线程的代码 运行游戏的代码 运行结果 代码分享 学习Java面试题(MySQL中常用的锁) 照片分享 复习Jav ...

  5. 挡板java_java小程序挡板接小球

    package ball; import javax.swing.JFrame; public class BallFrame { public static void main(String[] a ...

  6. java怎么做简易的游戏,Java小项目之《简易桌面小游戏》

    注意小球的运动范围,规定向右为正,如果不限定范围小球可能会跑出银河系-所以限定小球碰到左面左右回弹 画完窗口后运行若还是一片空白可以先最大化然后最小化解决 代码目录 实现代码 import java. ...

  7. java实现简单窗体小游戏----球球大作战

    java实现简单窗体小游戏----球球大作战 需求分析 1.分析小球的属性: ​ 坐标.大小.颜色.方向.速度 2.抽象类:Ball ​ 设计类:BallMain-创建窗体 ​ BallJPanel- ...

  8. linux查看文件夹个球,[原创]linux下面的打小球游戏

    [原创]linux下面的打小球游戏 (2012-04-10 04:51:44) 标签: linux 游戏 杂谈 [原创]linux下面的打小球游戏linux下面的C编程,我还是新手,请大家别笑话. # ...

  9. Python实现小球游戏

    用python实现小球的游戏,小球不断运动,用挡板接住小球使小球一直运动即可得分,参照着输上的介绍写的,很简易的游戏,只需要导入sys 和 pygame模块. 效果图如下所示: # -*- codin ...

最新文章

  1. delphi 实现屏幕旋转代码_X86指令混淆之函数分析和代码块粉碎
  2. WideCharToMultiByte和MultiByteToWideChar函数的用法(转)
  3. 上海交大计算机学院奖学金,上海交通大学-电子信息与电气工程学院-学生工作办公室...
  4. Eureka学习笔记001--Eureka概念和源码分析
  5. open打开新窗口时的选项
  6. 取得人生成功的40条定律
  7. 团队作业4——第一次项目冲刺(Alpha版本)2017.4.24
  8. windows7远程桌面设置
  9. HTML5 简介与安装
  10. Windows 下 FTP的搭建
  11. 2017年油价调整时间表
  12. 冻结html表格标题列,HTML表格冻结第一列 | 学步园
  13. 北京地铁21号线_对接台湖地区 北京地铁17号线2022年试运营
  14. [深度学习概念]·声纹识别技术简介
  15. 蓄电池维护——蓄电池的基本构造和原理
  16. 计算机毕业设计JAVA项目实训管理系统设计与实现mybatis+源码+调试部署+系统+数据库+lw
  17. WordPress使用SQL语句批量替换失效的蓝奏云下载地址
  18. cocos2d lua 环境搭建
  19. 有利润表模板的BI软件有哪些?
  20. python 常微分方程 画向量场_用scipy-odein在python中求解向量常微分方程

热门文章

  1. mysql kill 指令_MySQL kill指令使用指南
  2. 这份Redis6.0集群搭建教程,项目肯定用得上
  3. Postgresql 开启SSL连接
  4. laravel android api,Laravel RESTful API与Android应用程序
  5. CVPR2020 | 论文阅读——Multiple Anchor Learning for Visual Object Detection
  6. C#使用GDI绘图九宫格与方位(2)增加点击查看详细,接上篇
  7. How to Write and Publish a Scientific Paper-How to Prepare the Title
  8. 微信公众号开发---nginx反向代理
  9. 网上二手商品交易管理系统的设计与实现
  10. 对于html中div标签height属性的个人理解