返回顶部
首页 > 资讯 > 后端开发 > JAVA >【JAVA】飞机大战
  • 656
分享到

【JAVA】飞机大战

javapython前端 2023-09-29 12:09:29 656人浏览 安东尼
摘要

代码和图片放在这个地址了: https://gitee.com/r77683962/fighting/tree/master 最新的代码运行,可以有两架飞机,分别通过WASD(方向),F(发子弹);上

代码和图片放在这个地址了:
https://gitee.com/r77683962/fighting/tree/master

最新的代码运行,可以有两架飞机,分别通过WASD(方向),F(发子弹);上下左右(控制方向),空格(发子弹)
但是敌人的飞机还没有。

代码写的比较匆忙,不太好。

运行效果:
在这里插入图片描述

import javax.swing.*;import java.awt.*;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;class MyThread extends Thread{    GameFrame gameFrame;    public MyThread()    {        gameFrame = new GameFrame();    }    public void run()    {        System.out.println("run");        Boolean runFlag = true;        while (runFlag)        {            runFlag = gameFrame.Run();            //System.out.println("runFlag: " + runFlag);            try            {                Thread.sleep(100);            }            catch (InterruptedException e)            {                e.printStackTrace();                throw new RuntimeException(e);            }        }    }    public static void main(String[] args) {        MyThread gameFrame = new MyThread();        gameFrame.start();    }}public class GameFrame extends JFrame{    private Boolean runFlag;    private final Graphics graphics;    private final Image planeImage;    private final Image bulletImage;    private final Image backgroundImage1;    private final Image backgroundImage2;    //plane x    private int planeX;    //plane y    private int planeY;    private int bulletX;    private int bulletY;    private boolean bulletFlag;    private int backgroundY;    //bullet move step    private final int moveStep;    private final int width;    private final int height;    public GameFrame()    {        setTitle("Fighting");        setLayout(null);        moveStep = 4;        width = 629;        height = 990;        setSize(width, height);        setLocationRelativeTo(null);        setVisible(true);        KeyCapture();        backgroundY = 0;        bulletFlag = false;        planeY = height - 200;        planeX = width / 2;        runFlag = true;        graphics = getContentPane().getGraphics();        planeImage = Toolkit.getDefaultToolkit().getImage("D:\\Code\\JAVA\\class\\Fighting\\images\\bullet05.png");        bulletImage = Toolkit.getDefaultToolkit().getImage("D:\\Code\\JAVA\\class\\Fighting\\images\\bullet_02.png");        backgroundImage1 = Toolkit.getDefaultToolkit().getImage("D:\\Code\\JAVA\\class\\Fighting\\images\\mapback.png");        backgroundImage2 = Toolkit.getDefaultToolkit().getImage("D:\\Code\\JAVA\\class\\Fighting\\images\\mapback.png");    }    public void KeyCapture()    {        this.addKeyListener(new KeyAdapter()        {            public void keyPressed(KeyEvent e)            {                int keyCode = e.geTKEyCode();                System.out.println("keyCode: " + keyCode);                switch (keyCode)                {                    case KeyEvent.VK_UP:                        planeY -= moveStep; break;                    case KeyEvent.VK_DOWN:                        planeY += moveStep; break;                    case KeyEvent.VK_LEFT:                        planeX -= moveStep; break;                    case KeyEvent.VK_RIGHT:                        planeX += moveStep; break;                    case KeyEvent.VK_SPACE:                        bulletX = planeX;                        bulletY = planeY;                        bulletFlag = true;                        break;                    case KeyEvent.VK_Q:                        runFlag = false;                        break;                    default:                        System.out.println("KeyCode error!");break;                }            }        });    }    public Boolean Run()    {        //System.out.println("x: " + planeX + " y:" + planeY);        // background        graphics.drawImage(backgroundImage2, 0, backgroundY, width, height, this);        graphics.drawImage(backgroundImage1, 0, backgroundY - height, width, height, this);        // plane        graphics.drawImage(planeImage, planeX, planeY, null);        //bullet        if (bulletFlag)        {            graphics.drawImage(bulletImage, bulletX, bulletY, null);            bulletY -= 2 * moveStep;        }        backgroundY += 2;        return runFlag;    }}

来源地址:https://blog.csdn.net/r77683962/article/details/133363763

--结束END--

本文标题: 【JAVA】飞机大战

本文链接: https://lsjlt.com/news/421447.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【JAVA】飞机大战
    代码和图片放在这个地址了: https://gitee.com/r77683962/fighting/tree/master 最新的代码运行,可以有两架飞机,分别通过WASD(方向),F(发子弹);上...
    99+
    2023-09-29
    java python 前端
  • java实现飞机大战游戏
    java实现飞机大战,供大家参考,具体内容如下 用Java写个飞机大战游戏练习一下,实现可播放游戏背景音乐和游戏的基本功能 设计 1、准备好相应的图片和背景音乐(.wav文件); 2...
    99+
    2024-04-02
  • Java开发实现飞机大战
    目录一、飞机大战1 封装所有飞行物公共属性和功能的父类2 封装英雄机属性和功能类3 封装敌机属性和功能的类4 封装大飞机属性和功能的类5 子弹类6 飞机大战射击的主方法二、测试结果本...
    99+
    2024-04-02
  • java实现简易飞机大战
    目录整体思路代码实现英雄战机类敌机类子弹类图片工具类游戏窗体类启动游戏类运行效果图本文实例为大家分享了java实现简易飞机大战的具体代码,供大家参考,具体内容如下 整体思路 1.创建...
    99+
    2024-04-02
  • java实现飞机大战小游戏
    本文实例为大家分享了java实现飞机大战游戏的具体代码,供大家参考,具体内容如下 MyPanel类 package  P; import java.awt.Font; import...
    99+
    2024-04-02
  • 怎么用Java实现飞机大战
    这篇文章将为大家详细讲解有关怎么用Java实现飞机大战,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言《飞机大战》是一款融合了街机、竞技等多种元素的经典射击手游。华丽精致的游戏画面,超炫带感的技能特效,...
    99+
    2023-06-29
  • python -- 飞机大战(实验)
    小Q:今天无意间发现了大神写的python飞机项目,和一本好资料,记录一下。前一阵子看了一篇文章:青少年如何使用Python开始游戏开发 。看完照葫芦画瓢写了一个,觉得挺好玩儿,相当于简单学了下Pygame库。这篇文章是个12岁小孩儿写的,...
    99+
    2023-01-31
    大战 飞机 python
  • java实现飞机大战案例详解
    前言 飞机大战是一个非常经典的案例,因为它包含了多种新手需要掌握的概念,是一个非常契合面向对象思想的入门练习案例 程序分析: 在此游戏中共有六个对象: 小敌机Airplane,大敌机...
    99+
    2024-04-02
  • Java实现简单的飞机大战游戏(控制主飞机篇)
    本文实例为大家分享了Java实现简单的飞机大战游戏,控制主飞机的具体代码,供大家参考,具体内容如下 接着上一篇:Java实现简单的飞机大战游戏(敌机下落篇),首先我们需要明白,在控制...
    99+
    2024-04-02
  • Java实现飞机大战-II游戏详解
    目录前言主要设计功能截图代码实现启动类玩家飞机总结前言 《飞机大战-II》是一款融合了街机、竞技等多种元素的经典射击手游。华丽精致的游戏画面,超炫带感的技能特效,超火爆画面让你肾上腺...
    99+
    2024-04-02
  • java如何实现飞机大战小游戏
    本篇内容介绍了“java如何实现飞机大战小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MyPanel类package &nb...
    99+
    2023-07-01
  • js+canvas实现飞机大战
    本文实例为大家分享了js canvas实现飞机大战的具体代码,供大家参考,具体内容如下 首先我们绘制一个canvas区域,确实其宽高为480px*852px;水平居中 <!DO...
    99+
    2024-04-02
  • Python飞机大战小游戏
    游戏规则:键盘上下左右键控制飞机移动 游戏展示图片: 源码: 第一个py命名为:plane_main.py import pygamefrom plane_sprites import *class PlaneGame(object): ...
    99+
    2023-09-08
    python
  • PythonPygame实战之飞机大战的实现
    目录导语一、环境安装1)各种素材(图片、字体等)2)运行环境二、代码展示1)文章思路2)附代码讲解3)主程序三、效果展示总结导语 三月疫情原因,很多地方都封闭式管理了! 在回家无聊的...
    99+
    2024-04-02
  • java实战之飞机大战小游戏(源码加注释)
    目录一.工程文件二.Main.java三.GameFrame.java四.GamePanel.java五.FlyObject.java六.Hero.java七.Ep.java八.Fi...
    99+
    2024-04-02
  • 如何使用Java制作飞机大战游戏
    这篇文章给大家分享的是有关如何使用Java制作飞机大战游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、代码实现创建窗口首先创建一个游戏窗体类GameFrame,继承至JFrame,用来显示在屏幕上(wind...
    99+
    2023-06-15
  • python开发飞机大战游戏
    本文实例为大家分享了python开发飞机大战游戏的具体代码,供大家参考,具体内容如下 import pygame import random import math # 数学模块 # 初始化界面 pygam...
    99+
    2022-06-02
    python 飞机大战
  • Python实现简单飞机大战
    本文实例为大家分享了Python实现简单飞机大战的具体代码,供大家参考,具体内容如下 功能 玩家飞机可以移动,可以发射子弹,敌机随机产生,自由坠落。未添加击落敌机的功能。主要用来练习类的封装与继承。 源码 # ...
    99+
    2022-06-02
    python 飞机大战
  • Python实现飞机大战项目
    本文实例为大家分享了Python实现飞机大战的具体代码,供大家参考,具体内容如下 plane_main.py import pygame from 飞机大战.plane_spri...
    99+
    2024-04-02
  • JavaScript实现飞机大战游戏
    本文实例为大家分享了canvas ,js 实现一个简单的飞机大战,供大家参考,具体内容如下 预览图: 代码: <!DOCTYPE html> <html>...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作