Java(awt)实现弹珠小游戏
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)实现弹珠小游戏相关推荐
- 基于Java简单的弹珠小游戏
package GameItem;import javax.swing.Timer; import java.awt.*; import java.awt.event.*;public class P ...
- python弹球游戏实验报告_弹珠小游戏课程设计实验报告
摘要: 这个小程序是关于弹珠的小游戏, 游戏比较简单, 以小球的速度来区分游戏的难易. 该小程序是用左右键控制游戏的开始和挡板的方向,不让小球落到底端,当然,小球的 速度越快,该游戏的难度也就越大.此 ...
- 前端技术搭建弹珠小游戏(内附源码)
The sand accumulates to form a pagoda ✨ 写在前面 ✨ 功能介绍 ✨ 页面搭建 ✨ 样式设置 ✨ 逻辑部分 ✨ 写在前面 上周我们实通过前端基础实现了小人逃脱,当 ...
- Python接弹珠小游戏源代码
接弹珠游戏,弹珠碰到上方及左右两侧的墙壁进行反弹,反弹,可以理解成弹珠的坐标值变成相反数.当弹珠的圆心坐标值到达上方墙壁时,只需要让坐标变成负数,弹珠就可以向相反的方向移动了. import pyga ...
- 弹弹球小游戏(Java)
游戏规则:利用键盘上的->或者<-控制方向,用球拍接住小球,否则游戏结束! 该代码主要利用了GUI的绘图,用Timer保证球拍和小球位置的更新,用适配器KeyAdapter获取用户的指令, ...
- python 乒乓球_python使用pygame实现笑脸乒乓球弹珠球游戏
今天我们用python和pygame实现一个乒乓球的小游戏,或者叫弹珠球游戏. 笑脸乒乓球游戏功能介绍 乒乓球游戏功能如下: 乒乓球从屏幕上方落下,用鼠标来移动球拍,使其反弹回去,并获得得分,如果没有 ...
- 用JAVA实现吃豆人小游戏
用JAVA实现吃豆人小游戏 游戏运行效果 Model.java Pacman.java 完整的游戏代码及资源文件 游戏运行效果 Model.java package pacman;import jav ...
- 面向对象程序设计(Java)课程设计——五子棋小游戏
目录 一.团队成员及任务 二.项目简介 三.功能设计图 四.运行结果截图 五.核心源码 六.课程设计感想与展望 一.团队成员及任务 队长:管俊杰 计科(智能)22-1 202203200037 负责 ...
- 编程语言用 Java 开发一个打飞机小游戏(附完整源码)
编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...
最新文章
- (转自Timon's wang blogs)C#实现web信息自动抓取
- facerec = dlib.face_recognition_model_v1()面部识别器用法
- 市值破万亿美金的苹果 近年在AI上搞了些新动作
- 引用校长对于管理工程学的学术研究的思考
- hdu 1052 Tian Ji -- The Horse Racing
- GIS-009-Cesium 使用
- oracle用命令方式创建表,oracle创建表的方法和一些常用命令
- SpringBoot 自带工具类~StreamUtils
- JavaScript-数据类型
- loadrunner 参数化
- Python核心编程笔记---- print@2
- 字符串转数组和数组转字符串
- mysql查询本年的函数_sql 查询本年、本月、本日记录的语句,附SQL日期函数
- PHP校园食堂系统描述
- SPSS基础教程:SPSS菜单命令详解
- php加skplayer,WordPress免插件集成ckplayer播放器
- 世界头号电脑黑客 - 凯文•米特尼克(Kevin Mitnick)
- CentOS7安装字体库 (java环境使用)
- 如何把epub转mobi?
- Rushcrm:如何利用CRM系统的权限设置
热门文章
- 能耗在线系统在公共建筑的设计与应用
- 女士流行春装,时尚女装,韩版女士春装
- 色盲java_Java实现 蓝桥杯VIP 算法提高 色盲的民主
- 小狼毫(RIME)输入法设置:针对特定程序自动进入英文模式
- Docker的卸载和旧版本安装(指定版本)
- Hexo+Github博客备份方法
- 处理发票上的中文大写金额的转换工具类
- torch中x = x.view(..., -1)的解释
- maya在服务器上文件读取,maya云服务器运行
- 音频帧、视频帧及其同步