很久很久以前的了,分享给爱研究游戏的朋友,直接拿去运行即可。
代码如下:
package com.hui.dao.bird;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestBirdGame extends JPanel {
// 背景图片
private BufferedImage bgImage = null;
// 开始图片
private BufferedImage startImage = null;
// 结束图片
private BufferedImage endImage = null;
// 声明鸟类对象
Brid bird = null;
// 地面对象
Ground ground = null;
//
Column column1= null;
//
Column column2 = null;
private int state;
// 游戏运行的三种状态
public final static int START = 0;
public final static int RUNNING = 1;
public final static int GAME_OVER = 2;
// 分数
private int score = 0;
public TestBirdGame() throws Exception {
state = START;
score = 0;
bgImage = ImageIO.read(getClass().getResource("bg.png"));
startImage = ImageIO.read(getClass().getResource("start.png"));
endImage = ImageIO.read(getClass().getResource("gameover.png"));
bird = new Brid();
ground = new Ground();
column1 = new Column(1);
column2 = new Column(2);
}
// 鼠标监听事件和刷新页面方法
public void action() {
MouseListener listener = new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
switch (state) {
case START://当鼠标点击开始状态变成START
state = RUNNING;//如果是START,就将状态置为运行RUNNING