Android Open Source - clash_of_balls Game Hole






From Project

Back to project page clash_of_balls.

License

The source code is released under:

GNU General Public License

If you think the Android project clash_of_balls 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

/*
 * Copyright (C) 2012-2013 Hans Hardmeier <hanshardmeier@gmail.com>
 * Copyright (C) 2012-2013 Andrin Jenal/*from   w  w w  .j  av  a2 s .  c  om*/
 * Copyright (C) 2012-2013 Beat Kng <beat-kueng@gmx.net>
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 3 of the License.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */

package com.sapos_aplastados.game.clash_of_balls.game;

import org.jbox2d.dynamics.BodyDef;
import org.jbox2d.dynamics.BodyType;
import org.jbox2d.dynamics.FixtureDef;
import org.jbox2d.dynamics.World;

import com.sapos_aplastados.game.clash_of_balls.Texture;

public class GameHole extends StaticGameObject {

  public enum HoleType {
    Boarder_left,
    Boarder_up,
    Boarder_right,
    Boarder_down,
    
    Corner_up_right,
    Corner_up_left,
    Corner_down_right,
    Corner_down_left,
    
    Hole_single,
    Hole_Full, //Completely empty
    Hole_Corner_up_right,
    Hole_Corner_up_left,
    Hole_Corner_down_right,
    Hole_Corner_down_left,
    Hole_Head_Down,
    Hole_Head_Up,
    Hole_Head_Left,
    Hole_Head_Right,
  }
  private final HoleType m_hole_type;
  
  public HoleType holeType() { return m_hole_type; }
  
  
  GameHole(GameBase owner, short id, Vector position, HoleType hole_type
      , Texture texture, World world, BodyDef body_def) {
    
    super(id, Type.Hole, texture);
    float angle = 0.f;
    
    m_hole_type = hole_type;

    switch(hole_type) {
    case Hole_Corner_up_right:
    case Hole_Head_Up:
    case Hole_single:
    case Hole_Full:
    case Boarder_left:
    case Corner_up_right:
      break;
    case Hole_Corner_down_right:
    case Hole_Head_Right:
    case Boarder_up:
    case Corner_up_left:
      angle = 3.f * (float) Math.PI / 2;
      break;
    case Hole_Corner_down_left:
    case Hole_Head_Down:
    case Boarder_right:
    case Corner_down_left:
      angle = 2.f * (float) Math.PI / 2;
      break;
    case Hole_Corner_up_left:
    case Hole_Head_Left:
    case Boarder_down:
    case Corner_down_right:
      angle = (float) Math.PI / 2;
      break;
    }
    

    body_def.type = BodyType.STATIC;
    body_def.position.set(position.x, position.y);
    body_def.angle = angle;
    body_def.userData = this;
    m_body = world.createBody(body_def);

    switch(hole_type) {
    case Boarder_down:
    case Boarder_left:
    case Boarder_right:
    case Boarder_up:
      addHoleRectFixture(-0.5f, -0.5f, 0.21f, 1.0f);
      break;
    case Corner_down_left:
    case Corner_down_right:
    case Corner_up_left:
    case Corner_up_right:
      addHoleRectFixture(-0.5f, -0.5f, 0.21f, 1.0f);
      addHoleRectFixture(-0.5f, -0.5f, 1.0f, 0.21f);
      break;
    case Hole_Corner_down_left:
    case Hole_Corner_down_right:
    case Hole_Corner_up_left:
    case Hole_Corner_up_right:
      addHoleCircleFixture(0.f, 0.f, 0.5f);
      addHoleRectFixture(-0.5f, -0.5f, 0.5f, 1.0f);
      addHoleRectFixture(-0.5f, -0.5f, 1.0f, 0.5f);
      break;
    case Hole_Full:
      addHoleRectFixture(-0.5f, -0.5f, 1.0f, 1.0f);
      break;
    case Hole_Head_Down:
    case Hole_Head_Left:
    case Hole_Head_Right:
    case Hole_Head_Up:
      addHoleCircleFixture(0.f, 0.f, 0.5f);
      addHoleRectFixture(-0.5f, -0.5f, 1.0f, 0.5f);
      break;
    case Hole_single:
      addHoleCircleFixture(0.f, 0.f, 0.5f);
      break;
    default:
      break;

    }
  }
  
  private void addHoleRectFixture(float x, float y, float w, float h) {
    FixtureDef fixture_def = createRectFixtureDef(0.0f, 0.0f, 0.0f, 
        x, y, w, h, 0.0f);
    fixture_def.filter.categoryBits = COLLISION_GROUP_HOLE;
    fixture_def.filter.maskBits = COLLISION_GROUP_NORMAL;
    m_body.createFixture(fixture_def);
  }
  private void addHoleCircleFixture(float x, float y, float radius) {
    FixtureDef fixture_def = createCircleFixtureDef(0.0f, 0.0f, 0.0f, 
        x, y, radius);
    fixture_def.filter.categoryBits = COLLISION_GROUP_HOLE;
    fixture_def.filter.maskBits = COLLISION_GROUP_NORMAL;
    m_body.createFixture(fixture_def);
  }
}




Java Source Code List

au.com.bytecode.opencsv.CSVParser.java
au.com.bytecode.opencsv.CSVReader.java
au.com.bytecode.opencsv.CSVWriter.java
au.com.bytecode.opencsv.ResultSetHelperService.java
au.com.bytecode.opencsv.ResultSetHelper.java
com.sapos_aplastados.game.clash_of_balls.FPSCounter.java
com.sapos_aplastados.game.clash_of_balls.Font2D.java
com.sapos_aplastados.game.clash_of_balls.FontNumbers.java
com.sapos_aplastados.game.clash_of_balls.GameLevel.java
com.sapos_aplastados.game.clash_of_balls.GameRenderer.java
com.sapos_aplastados.game.clash_of_balls.GameSettings.java
com.sapos_aplastados.game.clash_of_balls.ITouchInput.java
com.sapos_aplastados.game.clash_of_balls.LevelManager.java
com.sapos_aplastados.game.clash_of_balls.MainActivity.java
com.sapos_aplastados.game.clash_of_balls.Maths.java
com.sapos_aplastados.game.clash_of_balls.NetworkService.java
com.sapos_aplastados.game.clash_of_balls.ShaderManager.java
com.sapos_aplastados.game.clash_of_balls.TextureBase.java
com.sapos_aplastados.game.clash_of_balls.TextureManager.java
com.sapos_aplastados.game.clash_of_balls.Texture.java
com.sapos_aplastados.game.clash_of_balls.UIBase.java
com.sapos_aplastados.game.clash_of_balls.UIHandler.java
com.sapos_aplastados.game.clash_of_balls.VertexBufferFloat.java
com.sapos_aplastados.game.clash_of_balls.game.DynamicGameObject.java
com.sapos_aplastados.game.clash_of_balls.game.GameBase.java
com.sapos_aplastados.game.clash_of_balls.game.GameField.java
com.sapos_aplastados.game.clash_of_balls.game.GameHole.java
com.sapos_aplastados.game.clash_of_balls.game.GameItem.java
com.sapos_aplastados.game.clash_of_balls.game.GameMenuInGame.java
com.sapos_aplastados.game.clash_of_balls.game.GameObject.java
com.sapos_aplastados.game.clash_of_balls.game.GamePlayer.java
com.sapos_aplastados.game.clash_of_balls.game.GameServer.java
com.sapos_aplastados.game.clash_of_balls.game.GameStatistics.java
com.sapos_aplastados.game.clash_of_balls.game.GameView.java
com.sapos_aplastados.game.clash_of_balls.game.GameWall.java
com.sapos_aplastados.game.clash_of_balls.game.Game.java
com.sapos_aplastados.game.clash_of_balls.game.IDrawable.java
com.sapos_aplastados.game.clash_of_balls.game.IMoveable.java
com.sapos_aplastados.game.clash_of_balls.game.RenderHelper.java
com.sapos_aplastados.game.clash_of_balls.game.SensorThread.java
com.sapos_aplastados.game.clash_of_balls.game.StaticGameObjectNoInteraction.java
com.sapos_aplastados.game.clash_of_balls.game.StaticGameObject.java
com.sapos_aplastados.game.clash_of_balls.game.Vector3D.java
com.sapos_aplastados.game.clash_of_balls.game.Vector.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventGameEnd.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventGameInfo.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventGameStartNow.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventImpact.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventItemAdded.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventItemRemoved.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventItemUpdate.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventPool.java
com.sapos_aplastados.game.clash_of_balls.game.event.Event.java
com.sapos_aplastados.game.clash_of_balls.helper.RawResourceReader.java
com.sapos_aplastados.game.clash_of_balls.helper.ShaderHelper.java
com.sapos_aplastados.game.clash_of_balls.helper.TextureHelper.java
com.sapos_aplastados.game.clash_of_balls.menu.CreationMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.GameMenuBase.java
com.sapos_aplastados.game.clash_of_balls.menu.HelpMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.JoinMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.MainMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuBackground.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemArrow.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemButton.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemGreyButton.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemImg.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemKeyboard.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemLevel.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemList.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemResultEntry.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemStringMultiline.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemString.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItem.java
com.sapos_aplastados.game.clash_of_balls.menu.PopupBase.java
com.sapos_aplastados.game.clash_of_balls.menu.PopupCredit.java
com.sapos_aplastados.game.clash_of_balls.menu.PopupGameStart.java
com.sapos_aplastados.game.clash_of_balls.menu.PopupMsg.java
com.sapos_aplastados.game.clash_of_balls.menu.ResultsMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.WaitMenu.java
com.sapos_aplastados.game.clash_of_balls.network.AlljoynInterface.java
com.sapos_aplastados.game.clash_of_balls.network.NetworkClient.java
com.sapos_aplastados.game.clash_of_balls.network.NetworkServer.java
com.sapos_aplastados.game.clash_of_balls.network.Networking.java