Android Open Source - zomblind Arma






From Project

Back to project page zomblind.

License

The source code is released under:

Apache License

If you think the Android project zomblind 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 2013 Antonio Fern?ndez Ares (antares.es@gmail.com)
 * // w ww . j  ava2  s .  c o m
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

package antares.zomblind.core.objetos;

import android.content.Context;
import android.media.MediaPlayer;
import antares.zomblind.ZomblindActivity;
import antares.zomblind.core.objetos.ArmaLista.tipo_arma;
import antares.zomblind.core.objetos.ArmaLista.tipo_arma_recargar;

public class Arma {

  private ZomblindActivity _z;

  public String _name = "";
  public int _alcance;
  public int _dano;
  public tipo_arma _tipo;
  public tipo_arma_recargar _tipo_recargar;
  public int _cansancio;

  // Munici?n
  public int _arma_municion;
  public int _arma_municion_maxima;
  public int _municion;
  public int _municion_maxima;

  // Descubierta
  public boolean _descubierta = false;

  // Estado del arma
  public double _estado;

  // Patron de vibraci?n
  protected long[] _vibra_patron_usar = { 10, 200 };
  protected long[] _vibra_patron_recargar = { 10, 100, 30, 200, 40, 100 };

  // Sonidos
  public MediaPlayer _S_ataque;
  public MediaPlayer _S_recargar;

  // A?n sin usar
  double _prob_critico;
  double _cantidad_critico;

  // Constructor para arma "vacia"
  public Arma(Context ctx, String name) {
    this._z = (ZomblindActivity) ctx;
    this._name = name;
    this._alcance = 0;
    this._dano = 0;
    this._tipo = tipo_arma.NULO;
    this._tipo_recargar = tipo_arma_recargar.NULO;
    this._arma_municion = 1;
    this._estado = 0;
    this._cansancio = 0;
  }

  public Arma(Context ctx, ArmaData arma) {

    this._z = (ZomblindActivity) ctx;
    this._name = arma._name;
    this._alcance = arma._alcance;
    this._dano = arma._dano;
    this._tipo = arma._tipo;
    this._tipo_recargar = arma._tipo_recargar;
    this._arma_municion = arma._arma_municion;
    this._arma_municion_maxima = arma._arma_municion_maxima;

    this._municion = arma._municion;
    this._municion_maxima = arma._municion_maxima;
    this._estado = arma._estado;
    this._cansancio = arma._cansancio;
    this._prob_critico = arma._prob_critico;
    this._cantidad_critico = arma._cantidad_critico;

    this._S_ataque = MediaPlayer.create(_z, arma._S_ataque);
    this._S_ataque.setLooping(false);
    if (arma._S_recargar != -1) {
      this._S_recargar = MediaPlayer.create(_z, arma._S_recargar);
      this._S_recargar.setLooping(false);
    }

    if (arma._vibra_patron_usar != null)
      this._vibra_patron_usar = arma._vibra_patron_usar;
    if (arma._vibra_patron_recargar != null)
      this._vibra_patron_recargar = arma._vibra_patron_recargar;

  }

  public Arma(Context ctx, String _name, int _alcance, int _dano,
      tipo_arma _tipo, tipo_arma_recargar _recargar, int _arma_municion,
      int _arma_max_municion, int _municion, int _municion_max,
      double _estado, int _peso, double _prob_critico,
      double _cantidad_critico, int s_uso, int s_recargar,
      long[] vibra_usar, long[] vibra_recargar) {

    this._z = (ZomblindActivity) ctx;
    this._name = _name;
    this._alcance = _alcance;
    this._dano = _dano;
    this._tipo = _tipo;
    this._tipo_recargar = _recargar;
    this._arma_municion = _arma_municion;
    this._arma_municion_maxima = _arma_max_municion;

    this._municion = _municion;
    this._municion_maxima = _municion_max;
    this._estado = _estado;
    this._cansancio = _peso;
    this._prob_critico = _prob_critico;
    this._cantidad_critico = _cantidad_critico;

    this._S_ataque = MediaPlayer.create(_z, s_uso);
    this._S_ataque.setLooping(false);
    if (s_recargar != -1) {
      this._S_recargar = MediaPlayer.create(_z, s_recargar);
      this._S_recargar.setLooping(false);
    }

    if (vibra_usar != null)
      this._vibra_patron_usar = vibra_usar;
    if (vibra_usar != null)
      this._vibra_patron_recargar = vibra_recargar;

  }

  @Override
  public String toString() {
    return "[" + _name + " " + _alcance + "m " + _dano + "ps " + _tipo
        + " " + _arma_municion + "/" + _arma_municion_maxima + " "
        + _estado * 100 + "% " + _cansancio + "Kg " + _prob_critico
        + "%C (+" + _cantidad_critico + ")]";
  }

  public boolean usar() {
    if (this._S_ataque.isPlaying()) {
      return false;
    }
    if (_tipo == tipo_arma.DISTANCIA) {
      if (_arma_municion > 0) {
        this._arma_municion--;
        _z._vibrador.vibrarpattern(_vibra_patron_usar);
        _S_ataque.setVolume(_z._entorno._max_volume,
            _z._entorno._max_volume);
        _S_ataque.start();
        return true;
      } else {
        return false;
      }
    } else if (_tipo == tipo_arma.CUERPO) {
      if (_z._entorno._jugador._resistencia._actual < this._cansancio) {
        return false;
      } else {
        _z._vibrador.vibrarpattern(_vibra_patron_usar);
        _S_ataque.setVolume(_z._entorno._max_volume,
            _z._entorno._max_volume);
        _S_ataque.start();
        _z._entorno._jugador._resistencia.restar(this._cansancio);
        return true;
      }
    }
    return true;

  }

  public void recargar() {
    if (_tipo == tipo_arma.DISTANCIA) {
      if (_tipo_recargar == tipo_arma_recargar.AUTO) {
        if (_arma_municion < _arma_municion_maxima && _municion > 0) {
          _z._vibrador.vibrarpattern(_vibra_patron_recargar);
          _S_recargar.setVolume(_z._entorno._max_volume,
              _z._entorno._max_volume);
          _S_recargar.start();
          int a = _arma_municion_maxima - _arma_municion;
          if (a > _municion) {
            _arma_municion = _arma_municion + _municion;
            _municion = 0;
          } else {
            _municion = _municion - a;
            _arma_municion = _arma_municion + a;
          }
        }
      } else if (_tipo_recargar == tipo_arma_recargar.MANUAl) {
        if (_arma_municion < _arma_municion_maxima && _municion > 0) {
          _z._vibrador.vibrarpattern(_vibra_patron_recargar);
          _S_recargar.setVolume(_z._entorno._max_volume,
              _z._entorno._max_volume);
          _S_recargar.start();
          _municion--;
          _arma_municion++;
          this.recargar();
        }
      }

    }
  }
}




Java Source Code List

antares.zomblind.ZomblindActivity.java
antares.zomblind.core.Jugador.java
antares.zomblind.core.Nucleo.java
antares.zomblind.core.levels.L000_menu.java
antares.zomblind.core.levels.NivelInfo.java
antares.zomblind.core.levels.checker.GolpeFrontal.java
antares.zomblind.core.levels.checker.Todos.java
antares.zomblind.core.levels.checker._Chequeador.java
antares.zomblind.core.levels.conditions.SinZombies.java
antares.zomblind.core.levels.conditions._Condicion.java
antares.zomblind.core.levels.generate.AleatorioFlojos.java
antares.zomblind.core.levels.generate.AleatorioTodos.java
antares.zomblind.core.levels.generate._Generador.java
antares.zomblind.core.levels.instancia.java
antares.zomblind.core.npcs.NpcData.java
antares.zomblind.core.npcs.NpcLista.java
antares.zomblind.core.npcs.npc.java
antares.zomblind.core.objetos.ArmaData.java
antares.zomblind.core.objetos.ArmaLista.java
antares.zomblind.core.objetos.Arma.java
antares.zomblind.core.objetos.Municion.java
antares.zomblind.core.opciones.java
antares.zomblind.in.acelerometro.java
antares.zomblind.in.orientacion.java
antares.zomblind.in.pantalla.java
antares.zomblind.in.teclado.java
antares.zomblind.out.debug.java
antares.zomblind.out.habladora.java
antares.zomblind.out.interfaz.java
antares.zomblind.out.vibrador.java