java实现挡板接小球游戏
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实现挡板接小球游戏相关推荐
- Java挡板接小球游戏
虽然在学校Java学了很久了,但是什么也没学到,最近实习,老师在课堂授课时用这个小游戏来讲解Java中的基础知识,在这里拿出来作为学习过程的记录,希望以后能够每天进步. 建立一个Java项目,创建一个 ...
- java挡板怎么写_Java挡板接小球游戏
版权声明:© 2018 chashu All Rights Reserved.https://blog.csdn.net/tongshuyang/article/details/83054905 虽然 ...
- Java 碰壁小球游戏实例教程
本教程会举例用Java实现简单的小球碰壁反弹游戏,效果如图所示: JFrame: 窗体部分 首先创建一个窗体界面,下面举一个简单的例子(Jframe是自己定义的类名,注意和JFrame的区别) imp ...
- 复习Java小球游戏代码分享Java面试题MySQL中常用的锁生活【记录一个咸鱼大学生三个月的奋进生活】021
记录一个咸鱼大学生三个月的奋进生活021 复习Java小球游戏 游戏界面的代码 小球运动线程的代码 运行游戏的代码 运行结果 代码分享 学习Java面试题(MySQL中常用的锁) 照片分享 复习Jav ...
- 挡板java_java小程序挡板接小球
package ball; import javax.swing.JFrame; public class BallFrame { public static void main(String[] a ...
- java怎么做简易的游戏,Java小项目之《简易桌面小游戏》
注意小球的运动范围,规定向右为正,如果不限定范围小球可能会跑出银河系-所以限定小球碰到左面左右回弹 画完窗口后运行若还是一片空白可以先最大化然后最小化解决 代码目录 实现代码 import java. ...
- java实现简单窗体小游戏----球球大作战
java实现简单窗体小游戏----球球大作战 需求分析 1.分析小球的属性: 坐标.大小.颜色.方向.速度 2.抽象类:Ball 设计类:BallMain-创建窗体 BallJPanel- ...
- linux查看文件夹个球,[原创]linux下面的打小球游戏
[原创]linux下面的打小球游戏 (2012-04-10 04:51:44) 标签: linux 游戏 杂谈 [原创]linux下面的打小球游戏linux下面的C编程,我还是新手,请大家别笑话. # ...
- Python实现小球游戏
用python实现小球的游戏,小球不断运动,用挡板接住小球使小球一直运动即可得分,参照着输上的介绍写的,很简易的游戏,只需要导入sys 和 pygame模块. 效果图如下所示: # -*- codin ...
最新文章
- delphi 实现屏幕旋转代码_X86指令混淆之函数分析和代码块粉碎
- WideCharToMultiByte和MultiByteToWideChar函数的用法(转)
- 上海交大计算机学院奖学金,上海交通大学-电子信息与电气工程学院-学生工作办公室...
- Eureka学习笔记001--Eureka概念和源码分析
- open打开新窗口时的选项
- 取得人生成功的40条定律
- 团队作业4——第一次项目冲刺(Alpha版本)2017.4.24
- windows7远程桌面设置
- HTML5 简介与安装
- Windows 下 FTP的搭建
- 2017年油价调整时间表
- 冻结html表格标题列,HTML表格冻结第一列 | 学步园
- 北京地铁21号线_对接台湖地区 北京地铁17号线2022年试运营
- [深度学习概念]·声纹识别技术简介
- 蓄电池维护——蓄电池的基本构造和原理
- 计算机毕业设计JAVA项目实训管理系统设计与实现mybatis+源码+调试部署+系统+数据库+lw
- WordPress使用SQL语句批量替换失效的蓝奏云下载地址
- cocos2d lua 环境搭建
- 有利润表模板的BI软件有哪些?
- python 常微分方程 画向量场_用scipy-odein在python中求解向量常微分方程
热门文章
- mysql kill 指令_MySQL kill指令使用指南
- 这份Redis6.0集群搭建教程,项目肯定用得上
- Postgresql 开启SSL连接
- laravel android api,Laravel RESTful API与Android应用程序
- CVPR2020 | 论文阅读——Multiple Anchor Learning for Visual Object Detection
- C#使用GDI绘图九宫格与方位(2)增加点击查看详细,接上篇
- How to Write and Publish a Scientific Paper-How to Prepare the Title
- 微信公众号开发---nginx反向代理
- 网上二手商品交易管理系统的设计与实现
- 对于html中div标签height属性的个人理解