FlyBird(飞翔的小鸟)Java小游戏

您所在的位置:网站首页 七律能押仄韵吗为什么要押韵 FlyBird(飞翔的小鸟)Java小游戏

FlyBird(飞翔的小鸟)Java小游戏

2024-06-29 10:12| 来源: 网络整理| 查看: 265

作者简介:一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。座右铭:未来是不可确定的,慢慢来是最快的。个人主页:极客李华-CSDN博客合作方式:私聊+这个专栏内容:BAT等大厂常见后端java开发面试题详细讲解,更新数目100道常见大厂java后端开发面试题。我的CSDN社区:https://bbs.csdn.net/forums/99eb3042821a4432868bb5bfc4d513a8微信公众号,抖音,b站等平台统一叫做:极客李华,加入微信公众号领取各种编程资料,加入抖音,b站学习面试技巧,职业规划 FlyBird(飞翔的小鸟)Java小游戏 游戏简介

《flappy bird》是一款由来自越南的独立游戏开发者Dong Nguyen所开发的作品,游戏于2013年5月24日上线,并在2014年2月突然暴红。2014年2月,《Flappy Bird》被开发者本人从苹果及谷歌应用商店(Google Play)撤下。2014年8月份正式回归App Store,正式加入Flappy迷们期待已久的多人对战模式。游戏中玩家必须控制一只小鸟,跨越由各种不同长度水管所组成的障碍。

在《FlappyBird》这款游戏中,玩家只需要用一根手指来操控,点击触摸屏幕,小鸟就会往上飞,不断的点击就会不断的往高处飞。放松手指,则会快速下降。所以玩家要控制小鸟一直向前飞行,然后注意躲避途中高低不平的管子。 1、在游戏开始后,点击屏幕,要记住是有间歇的点击屏幕,不要让小鸟掉下来。 2、尽量保持平和的心情,点的时候不要下手太重,尽量注视着小鸟。 3、游戏的得分是,小鸟安全穿过一个柱子且不撞上就是1分。当然撞上就直接挂掉,只有一条命。

上面简介是这款游戏的原始版本的简介,本文主要是根据这款游戏,进行逆向工程把这款游戏复刻一遍。

游戏展示

在这里插入图片描述 按键盘的上下键来控制小鸟上下移动,碰到管道会大量扣血,但是没有的时候会缓慢回血。 在这里插入图片描述

当生命值不是正数的时候,就结束游戏,按下空格可以重新开始。 在这里插入图片描述 我的代码如下 在这里插入图片描述

我的gitee地址:https://gitee.com/geek-li-hua/small-game

代码讲解

文件结构: 在这里插入图片描述

首先是util包,这个包中放置的就是一些工具类,这里面存放的就是整个项目需要用到的各种常数,希望修改游戏的各种初始大小的话,那么可以通过修改这个类中的各个常数。

Constant类 package com.bird.util; import java.awt.*; public class Constant { // 窗口的大小 public static final int FRAM_WIDTH=600; public static final int FRAM_HEIGHT=500; // 窗口的标题 public static final String FRAM_TITLE="Fly Bird"; // 窗口的初始化位置 public static final int FRAM_X=200; public static final int FRAM_Y=200; // 图片路径 public static final String BK_IMG_PATH = "img/bird_bk.png"; // 游戏背景颜色 public static final Color BK_COLOR = new Color(0x4B4CF); // 浅蓝色的背景 // 小鸟的图片资源 public static final String[] BIRD_IMG={"img/bird_normal.png", "img/bird_up.png","img/bird_down.png"}; // 障碍物图片资源 public static final String [] BARRIER_IMG_PATH={ "img/barrier.png","img/barrier_up.png","img/barrier_down.png"}; } GameUtil

一个游戏的工具类。

package com.bird.util; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.FileInputStream; import java.io.IOException; public class GameUtil { public static BufferedImage loadBufferedImage(String imgPath){ try{ return ImageIO.read(new FileInputStream(imgPath)); } catch (IOException e){ e.printStackTrace(); } return null; } } GameApp

项目的启动类,这个类通过创建GameApp对象,来启动游戏。

package com.bird.app; import com.bird.main.GameFrame; public class GameApp { public static void main(String[] args) { new GameFrame(); } } Barrier

在Barrier类中,是创造游戏中的各种障碍物的,里面拥有着详细的注释,通过注释的内容,用户可以自定义里面的某些内容。

package com.bird.main; import com.bird.util.Constant; import com.bird.util.GameUtil; import java.awt.*; import java.awt.image.BufferedImage; /* * 障碍物类 * */ public class Barrier { // 矩形参数 private Rectangle rect; // 障碍物是否可以移动 private boolean mob = true; // 障碍物的移动速度 private int speed = 3; // 障碍物需要的三个图片 private static BufferedImage[] imgs; // 障碍物状态 private boolean visible; // 静态代码块初始化成员 static { final int COUNT = 3; // 类加载的时候将三个图片初始化 imgs = new BufferedImage[COUNT]; for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3