日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 飞机 源码_Java 飞机游戏源码(带音乐)

發布時間:2024/1/8 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 飞机 源码_Java 飞机游戏源码(带音乐) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【實例簡介】

【實例截圖】

【核心代碼】

package liujunbo.feiji;

import java.awt.Color;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.util.ArrayList;

import java.util.List;

import java.util.Random;

public class ZhuChuangTi extends Frame{

public void showWin(){

Music m=new Music("/music/We_Are_One.mp3", true);

if(!m.isPlay){

m.startPlay();

}

this.setSize(800, 600);

this.setLocationRelativeTo(null);

this.setResizable(false);

this.setTitle("打飛機");

this.addWindowListener(new Wincolse());

this.setVisible(true);

//開辟線程,讓游戲啟動

new myThread().start();

//將鍵盤添加到添加到內部條件

this.addKeyListener(new MyKey());

}

//獲取圖片工具類

Toolkit toolKit =Toolkit.getDefaultToolkit();

//獲取一張空圖

Image ph_img=null;

//獲取背景圖片

Image bg_img = toolKit.getImage(ZhuChuangTi.class.getResource("/imgs/imgs/bg.jpg"));

Image pl_img = toolKit.getImage(ZhuChuangTi.class.getResource("/imgs/我軍飛機2.gif"));

Image bl_img = toolKit.getImage(ZhuChuangTi.class.getResource("/imgs/敵軍2.gif"));

Image pl_zidan = toolKit.getImage(ZhuChuangTi.class.getResource("/imgs/敵軍子彈3.png"));

Image pl_boss = toolKit.getImage(ZhuChuangTi.class.getResource("/imgs/Boss.png"));

Image boss_zidan = toolKit.getImage(ZhuChuangTi.class.getResource("/imgs/Boss子彈2.png"));

Image dijun_zidan = toolKit.getImage(ZhuChuangTi.class.getResource("/imgs/敵軍子彈2.png"));

WjunFeiJi pl=new WjunFeiJi (this,true);

BeiJing bg=new BeiJing(this);

Boss bs=new Boss(this,true);

// DiJunFeiJi dl=new DiJunFeiJi(this);

//WoJunZiDan pb=new WoJunZiDan(pl.pl_x, pl.pl_y, true, this);

//實例化飛機子彈集合

Listplzidan=new ArrayList();

//實例化敵軍飛機集合類

Listdijun=new ArrayList();

Listwojun=new ArrayList();

ListBoss=new ArrayList();

ListBoss_zd=new ArrayList();

Listdijun_zd=new ArrayList();

//實例化隨機類

Random random =new Random();

int time=0;

int bosstime = 0;

//雙緩沖,解決閃屏

@Override

public void update(Graphics g) {

if(ph_img==null){

ph_img=this.createImage(800, 600);

}

//創建一支畫筆

Graphics gph=ph_img.getGraphics();

//設置圖片為白色

gph.setColor(Color.white);

//設置與窗體大小相同的矩形

gph.fillRect(0, 0, 800, 600);

//調用paint方法

paint(gph);

g.drawImage(ph_img,0,0,null);

};

//自動調用

@Override

public void paint(Graphics g) {

bg.drawMe(g);

pl.drawMe(g);

bs.drawWe(g);

for (int i = 0; i < dijun_zd.size(); i ) {

Dijunzidan dijunzidan=dijun_zd.get(i);

dijunzidan.drawMe(g);

dijunzidan.hitdijunzidan(pl);

}

for (int i = 0; i < Boss_zd.size(); i ) {

Bosszidan bszd=Boss_zd.get(i);

bszd.drawMe(g);

bszd.hitBosszidan(pl);

}

for (int i=0; i

WoJunZiDan pb= plzidan.get(i);

pb.drawMe(g);

pb.hitdijun(dijun);

pb.hitBoss(bs);

}

//調用敵軍飛機繪畫方法

for (int j = 0; j < dijun.size(); j ) {

DiJunFeiJi ep=dijun.get(j);

ep.drawWe(g);

ep.hitwjfj(pl);

}

}

public void quyu(){

if(random.nextInt(800)<100){

random.nextInt(800);

}else if(random.nextInt(800)>200){

random.nextInt(800);

}

}

//添加敵軍飛機

public void getdijunfeiji() {

if(time%20==0){

//實例化敵軍飛機

DiJunFeiJi di=new DiJunFeiJi(random.nextInt(750), 0, true, this);

quyu();

dijun.add(di);

}

}

//內部類關閉窗體

private class Wincolse extends WindowAdapter{

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

}

//定義一個內部類,用于游戲啟動--->thread 線程

public class myThread extends Thread{

@Override

public void run() {

//讓游戲一直暢通

while (true){

//睡眠

//try--》捕獲異常,catch--》處理異常

try {

sleep(30);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//重繪方法 --》repaint

repaint();

//調用敵軍飛機添加方法

getdijunfeiji();

time ;

bosstime ;

}

}

}

//定義鍵盤內部類用于飛機的操作

private class MyKey extends KeyAdapter{

//按下

@Override

public void keyPressed(KeyEvent e) {

//調用按下的方法

pl.pressKey(e);

}

//松開

@Override

public void keyReleased(KeyEvent e) {

pl.ReleasKey(e);

}

}

public static void main(String[] args) {

ZhuChuangTi gs=new ZhuChuangTi();

gs.showWin();

}

}

總結

以上是生活随笔為你收集整理的java 飞机 源码_Java 飞机游戏源码(带音乐)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。