JAVA飞机大战游戏附源码

JAVA飞机大战附源码

    • java飞机大战
    • 效果图如下

java飞机大战

话不多说 直接上源码

窗体部分

package UI;

//自定义窗体
//创建类 继承JFrame
//创建构造方法,设置窗体
import javax.swing.JFrame;

public class Gameframe extends JFrame
{
//构造方法
public Gameframe()
{
//设置标题
setTitle(“全民飞机大战 By项目31802班”);
//设置大小
setSize(512,768);
//设置位置居中显示 null表示相对于屏幕左上角居中
setLocationRelativeTo(null);
//设置禁止设置界面大小
setResizable(false);
//关闭窗体就退出程序
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String []args)
{
//实例化窗体
Gameframe frame=new Gameframe();
//实例化面板
Gamepanel panel=new Gamepanel(frame);//方便在面板中加入监听事件
//启动游戏
panel.action();
//将面板加入窗体
frame.add(panel);
//显示窗体 true为显示 false为隐藏
frame.setVisible(true);
}
}

面板部分
package UI;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

//游戏的面板设计
import javax.swing.JPanel;

import prop.Dj;
import prop.Flyplane;
import prop.bullet;
import prop.picture;
public class Gamepanel extends JPanel {
BufferedImage bg;//背景图
Flyplane fly=new Flyplane();//实例化飞机的对象
//Dj dj=new Dj();//实例化敌机对象
//集合泛型 敌机的大本营
Listdjs =new ArrayList();

//创建弹药库
List bus= new ArrayList();

//定义分数
int score;
//设置游戏开关
boolean gameover;//

//开始游戏  用线程控制飞行物移动(固定)
public void action()
{
	new Thread(){
		public void run()
		{
			//死循环 让游戏一直运行
			while(true)
			{
				if(!gameover)
				{
					djEnter();
					djMove();
					
					//发射子弹
					shoot();
					
					//移动子弹
					buMove();
					
					//判断子弹是否击中敌机
					shootDj();
					
					//判断敌机撞飞机
					hit();
				}
				shootDj();
				//线程控制 休眠
				try {
					Thread.sleep(15);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				//刷新
				repaint();
			}
		}
	}.start();
}
//敌机撞我
protected void hit() {
	for(int i=0;i=20)
	{
		Dj D=new Dj();//再次实例化敌机
		djs.add(D);//将敌机加入集合
		//将index重新设置为0
		index=0;
	}
}
//敌机移动方法 
protected void djMove() {
	for(int i=0;i=5)
	{
		//创建子弹
		bullet bu1=new bullet(fly.x+70,fly.y);
		//将子弹加入集合弹药库
		bus.add(bu1);
		bullet bu2=new bullet(fly.x+10,fly.y);
		//将子弹加入集合弹药库
		bus.add(bu2);
		budex=0;
	}
}
//子弹移动
private void buMove() {
	//for循环遍历
	for(int i=0;i

}

后面 就是关于 子弹 飞机 敌机 飞行物等的定义
对于初学者来说 还是有很大帮助的

效果图如下

JAVA飞机大战游戏附源码_第1张图片

蓝奏云盘:https://www.lanzous.com/i7b6eng 密码:binghe
附带 项目答辩ppt 知识点总结 图片素材 可执行文件 项目需求等

你可能感兴趣的:(java)