Java实现愤怒的小鸟AngryBirds游戏源码


Java实现愤怒的小鸟AngryBirds游戏源码,可以直接运行!
资源截图
代码片段和文件信息
/*
 * To change this template choose Tools | Templates
 * and open the template in the editor.
 */
package AngryBirdsApplication;

import AngryBirdsCharacters.AngryBirdsBodyInfo;
import java.awt.Color;
import java.awt.Graphics2D;
import java.util.ArrayList;
import java.util.linkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import org.jbox2d.callbacks.QueryCallback;
import org.jbox2d.collision.AABB;
import org.jbox2d.common.Vec2;
import org.jbox2d.dynamics.*;
import org.jbox2d.collision.shapes.*;
import org.jbox2d.dynamics.joints.*;

/**
 *
 * @author Sumomoxiao
 */
enum QueueItemType {

    MouseDown MouseMove MouseUp KeyPressed KeyReleased
}

class QueueItem {

    public QueueItemType type;
    public Vec2 p;
    public char c;
    public int code;

    public QueueItem(QueueItemType t Vec2 pt) {
        type = t;
        p = pt;
    }
    
}

class FixtureQueryCallback implements QueryCallback {

    public final Vec2 point;
    public Fixture fixture;

    public FixtureQueryCallback() {
        point = new Vec2();
        fixture = null;
    }

    /**
     * @see
     * org.jbox2d.callbacks.QueryCallback#reportFixture(org.jbox2d.dynamics.Fixture)
     */
    public boolean reportFixture(Fixture argFixture) {
        Body body = argFixture.getBody();
        if (body.getType() == BodyType.DYNAMIC) {
            boolean inside = argFixture.testPoint(point);
            if (inside) {
                fixture = argFixture;

                return false;
            }
        }

        return true;
    }
}

public abstract class AngryBirdsArea {

    private MouseJoint mouseJoint;
    private Vec2 mouseWorld = new Vec2();
    public final World sworld;
    private final Vec2 gravity;
    public Vec2 slingAnchor;
    public ArrayList birdlist;
    public ArrayList oblist;
    public ArrayList piglist sling;
    public WeldJoint attach;
    public WeldJointDef attachDef;
    public Body ground;
    public float scale = 1 / 64f;
    float timeStep = 1.0f / 60.0f;
    int velocityIterations = 6;
    int positionIterations = 2;
    public int birdbullets;
    private final linkedList inputQueue;

    public AngryBirdsArea() {
        gravity = new Vec2(0 -10f);
        inputQueue = new linkedList();
        sworld = new World(gravity true);
        birdlist = new ArrayList();
        oblist = new ArrayList();
        piglist = new ArrayList();
        sling = new ArrayList();
        slingAnchor = new Vec2();

    }

    abstract public void initStage();
    long endtime = 0;
    long duration = 0;  //duration of release the bird;
    long descountdown = 0;
    public void step() {
        
        sworld.step(timeStep velocityIterations positionIterations);
        
        if (mouseJoint == null && attach ==

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-09-10 10:17  [www.java1234.com]Java实现愤怒的小鸟AngryBirds
     目录           0  2013-09-10 10:17  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirds
     文件         389  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirds.classpath
     文件         386  2013-09-10 09:45  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirds.project
     目录           0  2013-09-10 10:17  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirds.settings
     文件         629  2013-09-10 09:45  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirds.settingsorg.eclipse.jdt.core.prefs
     目录           0  2013-09-10 10:17  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsin
     文件        6148  2013-09-10 09:45  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsin.DS_Store
     目录           0  2013-09-10 10:17  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplication
     文件        7549  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsArea.class
     文件        1677  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsController$1.class
     文件        1793  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsController$2.class
     文件        5021  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsController.class
     文件        8982  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsDraw.class
     文件        2149  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsMain.class
     文件        5055  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsMenu.class
     文件        3432  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsMenuController.class
     文件        1205  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsPanel$1.class
     文件        1396  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsPanel$2.class
     文件        2392  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsPanel$3.class
     文件        6251  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsPanel.class
     文件        2650  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsPanelController.class
     文件        2502  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsViewframe.class
     文件        3088  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationAngryBirdsViewportTransform.class
     文件        1137  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationFixtureQueryCallback.class
     文件         395  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationGameButton.class
     文件         568  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationQueueItem.class
     文件        1221  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsApplicationQueueItemType.class
     目录           0  2013-09-10 10:17  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsCharacters
     文件        2047  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsCharactersAngryBirdsBodyInfo.class
     文件        2316  2013-09-10 09:46  [www.java1234.com]Java实现愤怒的小鸟AngryBirdsAngryBirdsinAngryBirdsCharactersAngryBirdsCharacter.class
............此处省略97个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)