java飞机大战强化版_java版飞机大战代码

@

前言

很久之前整理的小东西,这个是从我个人博客网站拷过来的地址

下面是源码

Plane

package com.trhsy.cn.plane;

import javax.imageio.ImageIO;

import java.awt.*;

import java.awt.event.KeyEvent;

import java.io.IOException;

/**

* @ClassName Plane

* @Description todo

* @Author Administrator

* @Date 2020/3/24 002415:03

**/

public class Plane {

/**

* @Author fan

* @Description //TODO 定义一个飞机

* @Date 15:07 2020/3/24 0024

* @Param

* @return

**/

Image planeImage = null;

public int x = 300;

public int y = 700;

public int lifeCount = 5;

/**

* @return

* @Author fan

* @Description //TODO 给飞机附图片

* @Date 15:19 2020/3/24 0024

* @Param []

**/

public Plane() {

try {

planeImage = ImageIO.read(Plane.class.getClassLoader().getResourceAsStream("images/plane.png"));

} catch (IOException e) {

e.printStackTrace();

}

}

public void draw(Graphics g) {

// 画飞机图片

g.drawImage(planeImage, x, y, null);

// 飞机移动

this.move();

// 血条

if (lifeCount > 0) {

g.setColor(Color.WHITE);

g.fillRect(20, 80, 100, 10);

g.setColor(Color.red);

g.fillRect(20, 80, (100 / 5) * lifeCount, 10);

g.setColor(Color.blue);

g.setFont(new Font("幼圆", Font.BOLD, 30));

g.drawString("Score:" + Play.count, 20, 60);

}

}

public void move() {

if (isUP && !isDown && !isLeft && !isRight) {

//上

y = y - 5;

} else if (!isUP && isDown && !isLeft && !isRight) {

//下

y = y + 5;

} else if (!isUP && !isDown && isLeft && !isRight) {

//左

x = x - 5;

} else if (!isUP && !isDown && !isLeft && isRight) {

//右

x = x + 5;

} else if (isUP && !isDown && isLeft && !isRight) {

//左上

x = x - 5;

y = y - 5;

} else if (!isUP && isDown && isLeft && !isRight) {

//左下

x = x - 5;

y = y + 5;

} else if (isUP && !isDown && !isLeft && isRight) {

//右上

x = x + 5;

y = y - 5;

} else if (!isUP && isDown && !isLeft && isRight) {

//右下

x = x + 5;

y = y + 5;

}

}

boolean isUP = false;

boolean isDown = false;

boolean isLeft = false;

boolean isRight = false;

/**

* @return void

* @Author fan

* @Description //TODO 按下

* @Date 15:21 2020/3/24 0024

* @Param [e]

**/

public void keyPressed(KeyEvent e) {

int keyCode = e.getKeyCode();

if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) {

isRight = true;

} else if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) {

isLeft = true;

} else if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) {

isUP = true;

} else if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) {

isDown = true;

}

}

/**

* @return void

* @Author fan

* @Description //TODO 松开

* @Date 15:24 2020/3/24 0024

* @Param [e]

**/

public void keyReleased(KeyEvent e) {

int keyCode = e.getKeyCode();

if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) {

isRight = false;

} else if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) {

isLeft = false;

} else if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) {

isUP = false;

} else if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) {

isDown = false;

}

}

public Rectangle getRectangle() {

return new Rectangle(x, y, planeImage.getWidth(null), planeImage.getHeight(null));

}

}

PlaneStatus类

package com.trhsy.cn.util;

/**

* @ClassName PlaneStatus

* @Description todo 0 游戏开始前 1 第一关 -1 游戏结束

* @Author Administrator

* @Date 2020/3/24 002415:28

**/

public class PlaneStatus {

public static int roleNum = 1;

public static int playStatu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值