Java实现经典游戏黄金矿工的示例代码
目录
前言主要设计功能截图代码实现游戏核心类钩子类总结前言
《黄金矿工》游戏是一个经典的抓金子小游戏,它可以锻炼人的反应能力。。该游戏中,可以通过“挖矿”获得积分,游戏道具:有3瓶药水,在回收绳子抓金子的时候速度稍快点。
主要设计
设计游戏界面,用swing实现随机创建金块算法随机创建石块算法计时系统设计积分系统设计设置鼠标事件,鼠标左键出钩子;鼠标右键开始游戏,确认吃药水等功能。功能截图
游戏开始:
抓金子
代码实现
游戏核心类
public class GameWin extends JFrame { //继承JFrame才能监听鼠标键盘事件的功能 //设置静态变量 表示游戏状态 0表示未开始 1运行中 2商店 3失败 4胜利 static int state; //创建链表 存储金块 石块 List
钩子类
public class Line { //线的起点坐标 int x = 380; int y = 180; //终点坐标 int endx = 500; int endy = 500; //线的长度 double length = 100; //线长最小值 double MIN_length = 100; //线长最大值 double MAX_length = 750; double n = 0; //方向参数 int dir = 1; //状态0摇摆 状态1抓取 状态2收回 状态3抓取返回 int state; //钩爪图片 Image hook = Toolkit.getDefaultToolkit().getImage("imgs/hook.png"); //抓取判定方法 GameWin frame; Line(GameWin frame){ this.frame=frame; } //钩爪碰撞检测 检测物体是否被抓取 void logic(){ for (Object obj:this.frame.objectList){ if(endx>obj.x && endxobj.y && endy 0.9){ dir = -1; } n = n + 0.005*dir; lines(g); break; case 1: //线的长度给一个范围 if(length MIN_length){ //状态为1 即鼠标左键 长度变化 length = length-5; lines(g); }else { state = 0; } break; case 3: int m=1; //让红线返回 if(length>MIN_length){ length = length-5; lines(g); for (Object obj:this.frame.objectList){ //判断能否移动 if (obj.flag){ m=obj.m; obj.x = endx-obj.getWidth()/2; obj.y = endy; if (length<=MIN_length){ obj.x=-150; obj.y=-150; obj.flag=false; Bg.waterFlag=false; //加分 Bg.count+=obj.count; state = 0; } //抓取时判断是否使用药水 if (Bg.waterFlag){ if (obj.type==1){//如果抓到的是金块 m=1; } if (obj.type==2){//如果抓到的是石块 obj.x=-150; obj.y=-150; obj.flag=false; Bg.waterFlag=false; state = 2; } } } } } try { Thread.sleep(m); } catch (InterruptedException e) { e.printStackTrace(); } break; default: } } //重置线元素 void reGame(){ n=0; length=100; } }
总结
通过此次的《黄金矿工》实现,让我对JAVA的相关知识有了进一步的了解,对java这门语言也有了比以前更深刻的认识。
java的一些基本语法,比如数据类型、运算符、程序流程控制和数组等,理解更加透彻。java最核心的核心就是面向对象思想,对于这一个概念,终于悟到了一些。
以上就是Java实现经典游戏黄金矿工的示例代码的详细内容,更多关于Java黄金矿工游戏的资料请关注脚本之家其它相关文章!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?