Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions xtremvaders/src/main/java/xtremvaders/Entites/Invader.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import xtremvaders.Objets.BonusJoueur.BonusManager;
import xtremvaders.Objets.BonusJoueur.TypeBonus;
import xtremvaders.Objets.Missiles.Missile;
import xtremvaders.Objets.Missiles.Rarity;
import xtremvaders.Utilities.TypeMouvement;
import xtremvaders.Utilities.Utilite;

Expand Down Expand Up @@ -75,12 +76,13 @@ public Invader(Game g, String sprite,int x, int y, double vitesse) {
*/
@Override
public void collideEffect(GameItem gi) {
if(gi.getItemType().equals("MissileJoueur")){
Missile m = (Missile) gi;
setPtVie(getPtVie() - m.getDegat(this));
Missile missile = null;
if(gi.getItemType().equals("MissileJoueur")) {
missile = (Missile) gi;
setPtVie(getPtVie() - missile.getDegat(this));
}
//effet de la propagation de l'explosion de la bombe nuke
if(gi.getItemType().equals("explosioNuke")){
if(gi.getItemType().equals("explosionNuke")){
setPtVie(getPtVie() - 100);
}
if(!estVivant()){
Expand All @@ -97,8 +99,10 @@ public void collideEffect(GameItem gi) {

nombreEnnemi --;
XtremVaders2021.getJoueur().addScore();

BonusManager.getInstance().lacherBonus(getGame(), typeBonus, getMiddleX(), getMiddleY());

if(missile != null && missile.getRarity() != Rarity.EPIC) {
BonusManager.getInstance().lacherBonus(getGame(), typeBonus, getMiddleX(), getMiddleY());
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion xtremvaders/src/main/java/xtremvaders/Entites/Joueur.java
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ else if(item.getItemType().equals("Invader")){
setPtVie(-getPtVie());
AudioDirector.getInstance().playSFX("newSounds/playerTouched");
}
else if(item.getItemType().equals("Debrits")){
else if(item.getItemType().equals("Debris")){
setPtVie(getPtVie()-50);
AudioDirector.getInstance().playSFX("newSounds/asteroidCollision");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public void collideEffect(GameItem gi) {

@Override
public String getItemType() {
return "explosioNuke";
return "explosionNuke";
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public void collideEffect(GameItem gi) {

@Override
public String getItemType() {
return "Debrits";
return "Debris";
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import xtremvaders.Graphics.SpritesAnimes.EnnemiExplosion;
import xtremvaders.Graphics.VFX.ItemAnime;
import xtremvaders.Graphics.VFX.TypeAnimation;
import xtremvaders.Objets.Missiles.Rarity;
import xtremvaders.Objets.Missiles.TypeMissile;
import iut.Game;
import iut.GameItem;
Expand Down Expand Up @@ -45,6 +46,11 @@ public void deplacement(long dt) {
this.trackPlayerPosition();
}

@Override
public Rarity getRarity() {
return Rarity.RARE;
}

@Override
public int getDegat(iut.GameItem itemType) {
return 50;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import xtremvaders.Entites.Vaisseau;
import xtremvaders.Graphics.SpritesAnimes.ImpactMissile;
import xtremvaders.Objets.Missiles.Rarity;
import xtremvaders.Objets.Missiles.TypeMissile;
import iut.Game;
import iut.GameItem;
Expand Down Expand Up @@ -45,6 +46,11 @@ public void deplacement(long dt) {
trackPlayerPosition();
}

@Override
public Rarity getRarity() {
return Rarity.COMMON;
}

@Override
public int getDegat(iut.GameItem itemType) {
return 20;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import xtremvaders.Entites.Vaisseau;
import xtremvaders.Graphics.SpritesAnimes.ImpactMissile;
import xtremvaders.Objets.Missiles.Rarity;
import xtremvaders.Objets.Missiles.TypeMissile;
import iut.Game;
import iut.GameItem;
Expand Down Expand Up @@ -36,7 +37,12 @@ public void effetExplosion() {
public void deplacement(long dt) {
this.moveDA(dt * getVitesse(), getRandomDirection() );
}


@Override
public Rarity getRarity() {
return Rarity.COMMON;
}

/**
* Les missiles du canon possède une efficité fixe indifférente de l'item
* qu'il a touché
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import xtremvaders.Entites.Vaisseau;
import xtremvaders.Graphics.SpritesAnimes.ImpactMissile;
import xtremvaders.Objets.Missiles.Rarity;
import xtremvaders.Objets.Missiles.TypeMissile;
import iut.Game;
import iut.GameItem;
Expand Down Expand Up @@ -46,7 +47,12 @@ public void deplacement(long dt) {
if(getVaisseau().getItemType().equals("Joueur")) this.moveDA(dt * getVitesse(), 90);
else if(getVaisseau().getItemType().equals("Invader")) this.moveDA(dt * getVitesse(), -90);
}


@Override
public Rarity getRarity() {
return Rarity.COMMON;
}

/**
* Les missiles normaux ne font pas beaucoup de dégât sur le boss
* @param itemType
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import xtremvaders.Entites.Vaisseau;
import xtremvaders.Graphics.VFX.ItemAnime;
import xtremvaders.Graphics.VFX.TypeAnimation;
import xtremvaders.Objets.Missiles.Rarity;
import xtremvaders.Objets.Missiles.TypeMissile;
import iut.Game;
import iut.GameItem;
Expand Down Expand Up @@ -49,7 +50,12 @@ public void deplacement(long dt) {
itemAnime.loopAnimation(dt, 10);
this.moveDA(dt * getVitesse(), 90);
}


@Override
public Rarity getRarity() {
return Rarity.EPIC;
}

/**
* Les missiles nuke ont moins d'efficacité sur le boss mais peuvent détruire
* en un coup les débrits
Expand All @@ -61,7 +67,7 @@ public int getDegat(iut.GameItem itemType) {
int degat = 20;
if(itemType.getItemType().equals("Invader")) degat = 200;
else if(itemType.getItemType().equals("Boss")) degat = 25;
else if(itemType.getItemType().equals("Debrits")) degat = 45;
else if(itemType.getItemType().equals("Debris")) degat = 45;
return degat;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@


import xtremvaders.Entites.Vaisseau;
import xtremvaders.Objets.Missiles.Rarity;
import xtremvaders.Objets.Missiles.TypeMissile;
import iut.Game;
import iut.GameItem;
Expand Down Expand Up @@ -44,6 +45,11 @@ public void deplacement(long dt) {
this.moveDA(dt * getVitesse(), +90);
}

@Override
public Rarity getRarity() {
return Rarity.RARE;
}

/**
* Les missiles rapides occasionnent plus de dégât aux débrits
* @param itemType
Expand All @@ -52,7 +58,7 @@ public void deplacement(long dt) {
@Override
public int getDegat(iut.GameItem itemType) {
int degat = 20;
if(itemType.getItemType().equals("Debrits")){
if(itemType.getItemType().equals("Debris")){
degat = 45;
}
return degat;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public Missile(Game aG, String nomSprite ,int aX, int aY, Vaisseau vaisseau) {
@Override
public void collideEffect(GameItem gameItem) {
//collisions entre un missile et un débrit
if(gameItem.getItemType().equals("Debrits")){
if(gameItem.getItemType().equals("Debris")){
effetExplosion();
getGame().remove(this);
}
Expand Down Expand Up @@ -94,6 +94,8 @@ public void evolve(long dt) {
*/
public abstract void deplacement(long dt);

public abstract Rarity getRarity();

public double getVitesse() {
return vitesse;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package xtremvaders.Objets.Missiles;

public enum Rarity {
COMMON,
RARE,
EPIC
}