package Dzgame;import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.*;
import java.lang.ref.PhantomReference;import javax.swing.Timer;public class Demo {private Frame f = new Frame("弹珠游戏");private final int TABLE_WIDTH=300;private final int TABLE_HEIHT=400;private final int PACK_WIDTH=300;private final int PACK_HRIHT=20;private final int BALL_SIZE=16;//小球的坐标private int Ballx=120;private int Bally=20;//记录小球在Xy上移动的速度private int Speedy=10;private int Speedx=10;//球拍子的坐标private int packy=340;private int packx=0;//标识游戏进程private  boolean Over=false;//记录画布刷新时间private Timer timer;//创建画布(自定义一个类继承canvas)private class can extends Canvas{@Overridepublic void paint(Graphics g) {super.paint(g);if (Over){//游戏结束g.setColor(Color.BLUE);g.setFont(new Font("Times",Font.BOLD,30));g.drawString("游戏结束",100,150);}else {//游戏中//绘制小球g.setColor(Color.red);g.fillOval(Ballx,Bally,BALL_SIZE,BALL_SIZE);//绘制球拍g.setColor(Color.pink);g.fillRect(packx,packy,PACK_WIDTH,PACK_HRIHT);}}}//创建绘画区域can draw = new can();public void inti(){//组装视图和游戏逻辑//球拍坐标的变化KeyListener kl = new KeyAdapter() {@Overridepublic void keyPressed(KeyEvent e) {super.keyPressed(e);int keyCode = e.getKeyCode();if (keyCode == KeyEvent.VK_RIGHT){if (packx<(TABLE_WIDTH-PACK_WIDTH)){packx+=10;}}if (keyCode == KeyEvent.VK_LEFT){if (packx>0){packx-=10;}}}};//给F和draw注册监听器f.addKeyListener(kl);draw.addKeyListener(kl);//小球坐标的控制ActionListener al = new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {//更具范围边界修改小球边界if (Ballx<=0||Ballx>=(TABLE_WIDTH-BALL_SIZE)){Speedx=-Speedx;}if (Bally<=0||(Bally>packy-BALL_SIZE&&Ballx>packx&&Ballx<packx+PACK_WIDTH)){Speedy=-Speedy;}if (Bally>packy-BALL_SIZE&&(Ballx<packx||Ballx>packx+PACK_WIDTH)){timer.stop();Over=true;draw.repaint();}//更新小球坐标。Ballx+=Speedx;Bally+=Speedy;draw.repaint();}};timer = new Timer(1,al);timer.start();draw.setPreferredSize(new Dimension(TABLE_WIDTH,TABLE_HEIHT));f.add(draw);f.pack();f.setVisible(true);}public static void main(String[] args) {new Demo().inti();}
}

Java(awt)实现弹珠小游戏相关推荐

  1. 基于Java简单的弹珠小游戏

    package GameItem;import javax.swing.Timer; import java.awt.*; import java.awt.event.*;public class P ...

  2. python弹球游戏实验报告_弹珠小游戏课程设计实验报告

    摘要: 这个小程序是关于弹珠的小游戏, 游戏比较简单, 以小球的速度来区分游戏的难易. 该小程序是用左右键控制游戏的开始和挡板的方向,不让小球落到底端,当然,小球的 速度越快,该游戏的难度也就越大.此 ...

  3. 前端技术搭建弹珠小游戏(内附源码)

    The sand accumulates to form a pagoda ✨ 写在前面 ✨ 功能介绍 ✨ 页面搭建 ✨ 样式设置 ✨ 逻辑部分 ✨ 写在前面 上周我们实通过前端基础实现了小人逃脱,当 ...

  4. Python接弹珠小游戏源代码

    接弹珠游戏,弹珠碰到上方及左右两侧的墙壁进行反弹,反弹,可以理解成弹珠的坐标值变成相反数.当弹珠的圆心坐标值到达上方墙壁时,只需要让坐标变成负数,弹珠就可以向相反的方向移动了. import pyga ...

  5. 弹弹球小游戏(Java)

    游戏规则:利用键盘上的->或者<-控制方向,用球拍接住小球,否则游戏结束! 该代码主要利用了GUI的绘图,用Timer保证球拍和小球位置的更新,用适配器KeyAdapter获取用户的指令, ...

  6. python 乒乓球_python使用pygame实现笑脸乒乓球弹珠球游戏

    今天我们用python和pygame实现一个乒乓球的小游戏,或者叫弹珠球游戏. 笑脸乒乓球游戏功能介绍 乒乓球游戏功能如下: 乒乓球从屏幕上方落下,用鼠标来移动球拍,使其反弹回去,并获得得分,如果没有 ...

  7. 用JAVA实现吃豆人小游戏

    用JAVA实现吃豆人小游戏 游戏运行效果 Model.java Pacman.java 完整的游戏代码及资源文件 游戏运行效果 Model.java package pacman;import jav ...

  8. 面向对象程序设计(Java)课程设计——五子棋小游戏

    目录 一.团队成员及任务 二.项目简介 三.功能设计图 四.运行结果截图 五.核心源码 六.课程设计感想与展望 一.团队成员及任务 队长:管俊杰  计科(智能)22-1 202203200037 负责 ...

  9. 编程语言用 Java 开发一个打飞机小游戏(附完整源码)

    编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...

最新文章

  1. (转自Timon's wang blogs)C#实现web信息自动抓取
  2. facerec = dlib.face_recognition_model_v1()面部识别器用法
  3. 市值破万亿美金的苹果 近年在AI上搞了些新动作
  4. 引用校长对于管理工程学的学术研究的思考
  5. hdu 1052 Tian Ji -- The Horse Racing
  6. GIS-009-Cesium 使用
  7. oracle用命令方式创建表,oracle创建表的方法和一些常用命令
  8. SpringBoot 自带工具类~StreamUtils
  9. JavaScript-数据类型
  10. loadrunner 参数化
  11. Python核心编程笔记---- print@2
  12. 字符串转数组和数组转字符串
  13. mysql查询本年的函数_sql 查询本年、本月、本日记录的语句,附SQL日期函数
  14. PHP校园食堂系统描述
  15. SPSS基础教程:SPSS菜单命令详解
  16. php加skplayer,WordPress免插件集成ckplayer播放器
  17. 世界头号电脑黑客 - 凯文•米特尼克(Kevin Mitnick)
  18. CentOS7安装字体库 (java环境使用)
  19. 如何把epub转mobi?
  20. Rushcrm:如何利用CRM系统的权限设置

热门文章

  1. 能耗在线系统在公共建筑的设计与应用
  2. 女士流行春装,时尚女装,韩版女士春装
  3. 色盲java_Java实现 蓝桥杯VIP 算法提高 色盲的民主
  4. 小狼毫(RIME)输入法设置:针对特定程序自动进入英文模式
  5. Docker的卸载和旧版本安装(指定版本)
  6. Hexo+Github博客备份方法
  7. 处理发票上的中文大写金额的转换工具类
  8. torch中x = x.view(..., -1)的解释
  9. maya在服务器上文件读取,maya云服务器运行
  10. 音频帧、视频帧及其同步