Android Open Source - libgdx-demo-pax-britannica Frigate From Project Back to project page libgdx-demo-pax-britannica .
License The source code is released under:
Copyright (c) 2010 Ben Abraham, Renaud B?dard, Henk Boom, Daniel Burton,
Matthew Gallant
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated ...
If you think the Android project libgdx-demo-pax-britannica 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 de.swagner.paxbritannica.frigate;
/ / w w w . j a v a 2 s . c o m
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.math.Vector2;
import de.swagner.paxbritannica.GameInstance;
import de.swagner.paxbritannica.Resources;
import de.swagner.paxbritannica.Ship;
public class Frigate extends Ship {
private float shotCooldownTime = 5f;
private float shotCapacity = 8f;
private float shotReloadRate = 1f;
private float shots = 0;
private float cooldown = 0;
float delta;
public FrigateAI ai = new FrigateAI(this );
public Frigate(int id, Vector2 position, Vector2 facing) {
super (id, position, facing);
turnSpeed = 20f;
accel = 14.0f;
hitPoints = 2000;
switch (id) {
case 1:
this.set(Resources.getInstance().frigateP1);
break ;
case 2:
this.set(Resources.getInstance().frigateP2);
break ;
case 3:
this.set(Resources.getInstance().frigateP3);
break ;
default :
this.set(Resources.getInstance().frigateP4);
break ;
}
this.setOrigin(this.getWidth()/2, this.getHeight()/2);
}
@Override
public void draw(Batch batch) {
delta = Math.min(0.06f, Gdx.graphics.getDeltaTime());
ai.update();
cooldown = Math.max(0, cooldown - delta*50f);
shots = Math.min(shots + (shotReloadRate * delta), shotCapacity);
super.draw(batch);
}
public boolean isEmpty() {
return shots < 1;
}
public boolean isReloaded() {
return shots == shotCapacity;
}
public boolean isCooledDown() {
return cooldown == 0;
}
public boolean isReadyToShoot() {
return isCooledDown() && isReloaded();
}
public void shoot() {
if (cooldown == 0 && shots >= 1) {
shots -= 1;
cooldown = shotCooldownTime;
GameInstance.getInstance().bullets.add(new Missile(id, collisionCenter, facing));
}
}
}
Java Source Code List de.swagner.paxbritannica.Bullet.java de.swagner.paxbritannica.Collision.java de.swagner.paxbritannica.Constants.java de.swagner.paxbritannica.DefaultScreen.java de.swagner.paxbritannica.GameInstance.java de.swagner.paxbritannica.GameScreen.java de.swagner.paxbritannica.IOSLauncher.java de.swagner.paxbritannica.PaxBritannica.java de.swagner.paxbritannica.Resources.java de.swagner.paxbritannica.Ship.java de.swagner.paxbritannica.Targeting.java de.swagner.paxbritannica.android.AndroidLauncher.java de.swagner.paxbritannica.background.BackgroundFXRenderer.java de.swagner.paxbritannica.background.Debris.java de.swagner.paxbritannica.background.Fish.java de.swagner.paxbritannica.bomber.Bomb.java de.swagner.paxbritannica.bomber.BomberAI.java de.swagner.paxbritannica.bomber.Bomber.java de.swagner.paxbritannica.client.HtmlLauncher.java de.swagner.paxbritannica.desktop.DesktopLauncher.java de.swagner.paxbritannica.factory.EasyEnemyProduction.java de.swagner.paxbritannica.factory.FactoryProduction.java de.swagner.paxbritannica.factory.HardEnemyProduction.java de.swagner.paxbritannica.factory.MediumEnemyProduction.java de.swagner.paxbritannica.factory.PlayerProduction.java de.swagner.paxbritannica.factory.Production.java de.swagner.paxbritannica.fighter.FighterAI.java de.swagner.paxbritannica.fighter.Fighter.java de.swagner.paxbritannica.fighter.Laser.java de.swagner.paxbritannica.frigate.FrigateAI.java de.swagner.paxbritannica.frigate.Frigate.java de.swagner.paxbritannica.frigate.MissileAI.java de.swagner.paxbritannica.frigate.Missile.java de.swagner.paxbritannica.help.Help.java de.swagner.paxbritannica.mainmenu.Countdown.java de.swagner.paxbritannica.mainmenu.FactorySelector.java de.swagner.paxbritannica.mainmenu.MainMenu.java de.swagner.paxbritannica.particlesystem.BigBubbleParticleEmitter.java de.swagner.paxbritannica.particlesystem.BubbleParticleEmitter.java de.swagner.paxbritannica.particlesystem.ExplosionParticleEmitter.java de.swagner.paxbritannica.particlesystem.ParticleEmitter.java de.swagner.paxbritannica.particlesystem.Particle.java de.swagner.paxbritannica.particlesystem.SparkParticleEmitter.java de.swagner.paxbritannica.settings.Settings.java