Android Open Source - LucyTheMoocher Box






From Project

Back to project page LucyTheMoocher.

License

The source code is released under:

MIT License

If you think the Android project LucyTheMoocher listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.lucythemoocher.physics;
//from  w ww .j a v  a2 s  .  c o m
import java.util.ArrayList;

public class Box {
  private float x_;
  private float y_;
  private float h_;
  private float w_;
  private Cinematic cin_ = null;
  
  public Box(Box b) {
    x_ = b.x_;
    y_ = b.y_;
    h_ = b.h_;
    w_ = b.w_;
  }
  
  public Box(float x, float y, float h, float w) {
    x_ = x;
    y_ = y;
    h_ = h;
    w_ = w;
  }
  
  public Box(Cinematic cin, float h, float w) {
    cin_ = cin;
    h_ = h;
    w_ = w;
  }
  
  public void setCin(Cinematic cin) {
    cin_ = cin;
  }
  
  public float getX() {
    if ( cin_ == null ) {
      return x_;
    } else {
      return cin_.x();
    }
  }

  public void setX(float x_) {
    this.x_ = x_;
  }

  public float getY() {
    if ( cin_ == null ) {
      return y_;
    } else {
      return cin_.y();
    }
  }

  public void setY(float y_) {
    this.y_ = y_;
  }

  public float getH() {
    return h_;
  }

  public void setH(float h_) {
    this.h_ = h_;
  }

  public float getW() {
    return w_;
  }

  public void setW(float w_) {
    this.w_ = w_;
  }
  
  public boolean collideWith(Box b, float ratio) {
    return (getX() + (1-ratio)*getW() < b.getX() + ratio*b.getW() &&
        getX() + ratio*getW() > b.getX() + (1-ratio)*b.getW() &&
        getY() + (1-ratio)*getH() < b.getY() + ratio*b.getH() &&
        getY() + ratio*getH() > b.getY() + (1-ratio)*b.getH());
  }
  
  public static boolean collideWith(Box a, Box b, float ratio) {
    return a.collideWith(b, ratio);
  }
  
  public boolean collideWith(ArrayList<Box> boxes, float ratio) {
    for ( Box b : boxes ) {
      if ( collideWith(b, ratio) ) {
        return true;
      }
    }
    return false;
  }
  
  public static boolean collideWith(ArrayList<Box> boxes1, ArrayList<Box> boxes2, float ratio) {
    for ( Box box : boxes1 ) {
      if ( box.collideWith(boxes2, ratio) ) {
        return true;
      }
    }
    return false;
  }
}




Java Source Code List

com.lucythemoocher.LucyTheMoocherActivity.java
com.lucythemoocher.FX.FXManager.java
com.lucythemoocher.FX.FX.java
com.lucythemoocher.Globals.Globals.java
com.lucythemoocher.actors.Actor.java
com.lucythemoocher.actors.ActorsManager.java
com.lucythemoocher.actors.Monster.java
com.lucythemoocher.actors.MonstersManager.java
com.lucythemoocher.actors.PlayerCharacter.java
com.lucythemoocher.actors.Projectile.java
com.lucythemoocher.actors.ProjectilesManager.java
com.lucythemoocher.actors.Tank.java
com.lucythemoocher.actors.TargetCharacter.java
com.lucythemoocher.actors.maincharacter.state.StateAttack.java
com.lucythemoocher.actors.maincharacter.state.StateFalling.java
com.lucythemoocher.actors.maincharacter.state.StateJumping.java
com.lucythemoocher.actors.maincharacter.state.StateNone.java
com.lucythemoocher.actors.maincharacter.state.StateRunning.java
com.lucythemoocher.actors.maincharacter.state.StateWallSliding.java
com.lucythemoocher.actors.maincharacter.state.StateWallWalking.java
com.lucythemoocher.actors.maincharacter.state.State.java
com.lucythemoocher.controls.AIController.java
com.lucythemoocher.controls.ActionController.java
com.lucythemoocher.controls.ButtonListener.java
com.lucythemoocher.controls.Controllable.java
com.lucythemoocher.controls.Controller.java
com.lucythemoocher.controls.GlobalController.java
com.lucythemoocher.controls.KeysListener.java
com.lucythemoocher.controls.TouchListener.java
com.lucythemoocher.events.EventNormal.java
com.lucythemoocher.events.EventSlow.java
com.lucythemoocher.events.Event.java
com.lucythemoocher.game.GameThread.java
com.lucythemoocher.game.Game.java
com.lucythemoocher.game.LevelLoader.java
com.lucythemoocher.graphics.ActorDrawer.java
com.lucythemoocher.graphics.Animation.java
com.lucythemoocher.graphics.Background.java
com.lucythemoocher.graphics.Camera.java
com.lucythemoocher.graphics.Drawable.java
com.lucythemoocher.graphics.Grid.java
com.lucythemoocher.graphics.HUD.java
com.lucythemoocher.graphics.Image.java
com.lucythemoocher.graphics.PersistentEffect.java
com.lucythemoocher.graphics.PersistentPic.java
com.lucythemoocher.graphics.PictureContainer.java
com.lucythemoocher.gui.MenuButtonListener.java
com.lucythemoocher.gui.MenuButtonTouchListener.java
com.lucythemoocher.gui.MenuButton.java
com.lucythemoocher.loops.CreditsLoop.java
com.lucythemoocher.loops.GameOverLoop.java
com.lucythemoocher.loops.InitMenuLoop.java
com.lucythemoocher.loops.LivesMenuLoop.java
com.lucythemoocher.loops.LoopGame.java
com.lucythemoocher.loops.LoopPause.java
com.lucythemoocher.loops.Loop.java
com.lucythemoocher.loops.MasterLoop.java
com.lucythemoocher.physics.Box.java
com.lucythemoocher.physics.Cinematic.java
com.lucythemoocher.physics.Map.java
com.lucythemoocher.sounds.SoundManager.java
com.lucythemoocher.sounds.SoundsState.java
com.lucythemoocher.sounds.StateLevel1.java
com.lucythemoocher.sounds.StateLevel2.java
com.lucythemoocher.sounds.StateLevel3.java
com.lucythemoocher.sounds.StateNormal.java
com.lucythemoocher.util.Direction.java
com.lucythemoocher.util.MathUtil.java
com.lucythemoocher.util.Resources.java
com.lucythemoocher.util.Timer.java