赌博小游戏java开发_Java打飞机小游戏(附完整源码)

本文分享了一款使用Java开发的打飞机小游戏的完整代码,旨在帮助理解面向对象编程。游戏中包含敌机、子弹、英雄机等元素,通过游戏过程展示OO设计。代码简单易懂,注释详细。此外,文章末尾还提供了获取完整资源的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9caf7c18dc4e46476fdd98552e61b9e3.png

写在前面

技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习。java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐。代码写的很简单,也很容易理解,并且注释写的很清楚了,还有问题,自己私下去补课学习。

完整代码

敌飞机

import java.util.Random;

敌飞机: 是飞行物,也是敌人

public class Airplane extends FlyingObject implements Enemy {

private int speed = 3; //移动步骤

/** 初始化数据 */

public Airplane(){

this.image = ShootGame.airplane;

width = image.getWidth();

height = image.getHeight();

y = -height;

Random rand = new Random();

x = rand.nextInt(ShootGame.WIDTH - width);

}

/** 获取分数 */

@Override

public int getScore() {

return 5;

}

/** //越界处理 */

@Override

public boolean outOfBounds() {

return y>ShootGame.HEIGHT;

}

/** 移动 */

@Override

public void step() {

y += speed;

}

}

分数奖励

/**

* 奖励

*/

public interface Award {

int DOUBLE_FIRE = 0; //双倍火力

int LIFE = 1; //1条命

/** 获得奖励类型(上面的0或1) */

int getType();

}

蜜蜂

import java.util.Random;

/** 蜜蜂 */

public class Bee extends FlyingObject implements Award{

private int xSpeed = 1; //x坐标移动速度

private int ySpeed = 2; //y坐标移动速度

private int awardType; //奖励类型

/** 初始化数据 */

public Bee(){

this.image = ShootGame.bee;

width = image.getWidth();

height = image.getHeight();

y = -height;

Random rand = new Random();

x = rand.nextInt(ShootGame.WIDTH - width);

awardType = rand.nextInt(2); //初始化时给奖励

}

/** 获得奖励类型 */

public int getType(){

return awardType;

}

/** 越界处理 */

@Override

public boolean outOfBounds() {

return y>ShootGame.HEIGHT;

}

/** 移动,可斜着飞 */

@Override

public void step() {

x += xSpeed;

y += ySpeed;

if(x > ShootGame.WIDTH-width){

xSpeed = -1;

}

if(x < 0){

xSpeed = 1;

}

}

}

子弹类:是飞行物体

/**

* 子弹类:是飞行物

*/

public class Bullet extends FlyingObject {

private int speed = 3; //移动的速度

/** 初始化数据 */

public Bullet(int x,int y){

this.x = x;

this.y = y;

this.image = ShootGame.bullet;

}

/** 移动 */

@Override

public void step(){

y-=speed;

}

/** 越界处理 */

@Override

public boolean outOfBounds() {

return y

}

}

敌人的分数

/**

* 敌人,可以有分数

*/

public interface Enemy {

/** 敌人的分数 */

int getScore();

}

飞行物(敌机,蜜蜂,子弹,英雄机)

import java.awt.image.BufferedImage;

/**

* 飞行物(敌机,蜜蜂,子弹,英雄机)

*/

public abstract class FlyingObject {

protected int x; //x坐标

protected int y; //y坐标

protected int width; //宽

protected int height; //高

protected BufferedImage image; //图片

public int getX() {

return x;

}

public void setX(int x) {

this.x = x;

}

public int getY() {

return y;

}

public void setY(int y) {

this.y = y;

}

public int getWidth() {

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值