网站首页 > 资源文章 正文
打砖块是一款非常经典小游戏,废话不多说,让我们来用Java实现它吧!
程序中使用的数据结构和符号说明:
HitBrick类
GreenBallThread控制小球路线
xUp,yUp,bouncing定义变量存储16位数值形式
x,y小球坐标
xDx,yDy坐标增量
MAX_X,MAX_Y坐标最大值
renew初始化
label标签
Rx,Ry横板坐标
Brick[]砖块
ball小球
HitBrick()定义小球横板及砖块位置坐标
keyPressd(keyEent)定义小球启动键(按空格键启动)
keyReleased(keyEvent)接收键盘事件侦听器接口)
keyTyped(keyEvent)键入空格键时调用keyEvent
paint(Graphics)对砖块填充颜色
move定义小球的运动轨迹和砖块的消失
main主函数
BallThread类
通过继承Thread类使Ball类线程化,并把小球的弹跳动作放进Run()中执行
Brick类
定义砖块坐标位置和砖块按钮
Ball类
定义小球坐标位置
程序设计流程:
程序中使用的部分方法解释
开始命令:空格键
privateJLabellabel;定义一个标签,label=newJLabel("按空格键开始");内容为空格键开始,addKeyListener(this);定义一个键盘监听器,
重置并开始游戏
小编整理了一份java学习资料,私信回复【01】,获取源码。
移动命令:方向键左键和右键
同开始命令原理,如果键入左键,横版向左移动20个单位(Rx为横板坐标),如果小球还在运动,当横板移到最左侧(Rx=0),不能再向左移动,则横板靠在最左侧(Rx=0),
向右移动同向左移动原理,因为定义界面横坐标最大值为300,横板长度80,故Rx=220时碰最右侧
砖块设定:
brick[0]=newBrick(0,60,50,20);设置砖块坐标,ball=newBall(150,450,10,10);和小球的坐标
if(brick[i].visible==true)判断砖块存在,用switch语句,逐个对砖块填充颜色,最后四行代码是分别对小球和横板颜色坐标的定义
小球的移动:
定义小球的速度,若发生错误,则执行catch语句,打印错误
当小球接触到砖块时,砖块不可见(消失)
判断小球坐标和横板坐标,当小球落在横板坐标之内,小球反弹,小球横坐标和纵坐标都以一个随机值改变后运动
判断小球横坐标如果在增加,小球横坐标=小球原横坐标+小球横坐标增量,否则小球横坐标=小球原横坐标-小球横坐标增量;纵坐标同理
判断小球到画面顶部(定义顶部的纵坐标为0),小球向下反弹,原理同小球和横板接触的反弹规则,否则,判断小球纵坐标是否大于MAX_Y-15(纵坐标最大值-15),反弹规则改变为横坐标不变,纵坐标随机改变
判断小球到画面最左侧(定义最左侧横坐标为0),向右侧反弹,反弹规则同小球和横板接触的反弹规则,或者小球到画面最右侧,向左反弹,反弹规则同上,(if(x>=MAX_X-10)判断小球是否到右边侧,小球的直径为10)
如果所有砖块都不可见,则重新玩
重新开始,初始化,小球静止,所有砖块可见,小球在横坐标方向,可随横板移动而移动,纵坐标在未开时游戏前不能改变,定义小球横坐标和纵坐标增量都为1,小球初始位置坐标(150,450)横板初始位置坐标(120,460)
、
游戏界面展示:
声明:本文内容来源于网络,如有侵权请联系删除
猜你喜欢
- 2024-10-21 JAVA C C++ Python同样是高级语言,只有C C++可以编写单片机程序
- 2024-10-21 天佑中华!Java高级开发进阶专栏,免费拿走,不谢
- 2024-10-21 Java 开源 斗地主 游戏源码 程序员放松神器 的调试实战
- 2024-10-21 Java-GUI编程之绘图(java gui图形界面编程)
- 2024-10-21 面向GC的Java编程(java面向什么编程)
- 2024-10-21 Java并发编程实战(中文版),电子版免费分享
- 2024-10-21 Java高级编程基础:详细解读虚拟机底层栈帧线程模型
- 2024-10-21 零基础Java入门课程,小游戏《石头迷阵》入门,带你更好的学习
- 2024-10-21 适合编程初学者的开源项目:小游戏2048(Java版)
- 2024-10-21 一小时教会你用JAVA制作超级玛丽小游戏!!全程干货
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)