Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider 48ae0745 rédigé par Pierrick Lermite's avatar Pierrick Lermite
Parcourir les fichiers

frefezf

parent 236be07c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -25,14 +25,23 @@ public class OneLifeBlock extends Block{
// Génère un nombre aléatoire entre 0 et 100
double rand = Math.random()*100;
// Vérifie la probabilité de générer un Boot
if(rand >= 90 && rand < 95){
return new Boot();
}
// Vérifie la probabilité de générer un Power
if(rand >= 95){
return new Power();
if (rand >= 85){
double rand2 = Math.random()*100;
// Vérifie la probabilité de générer un Boot
if(rand2 < 33){
return new Boot();
}
// Vérifie la probabilité de générer un Power
if(rand2 < 66){
return new Power();
}
else{
return new Bag();
}
}
// Aucun loot généré si aucune condition n'est satisfaite
......
......@@ -47,7 +47,7 @@ public class Bomb{
if( bombs.get(h).getX() == x &&
bombs.get(h).getY() == y){
g.deleteBomb(h);
p.decreseadBombLimit();
p.decreseadBomb();
//Ajoute une flamme au centre de la bombe
g.addFire(new Fire(x, y), g);
......
......@@ -55,6 +55,12 @@ public class GridItemDisplay {
l_g[i][j].setColor(Color.white);
l_g[i][j].fillRect(i * blocksize + centerItem, j * blocksize + centerItem, itemSize, itemSize);
}
// Dessine un objet de type Shield avec une couleur blanche
if (it[i][j] instanceof Bag){
l_g[i][j].setColor(Color.pink);
l_g[i][j].fillRect(i * blocksize + centerItem, j * blocksize + centerItem, itemSize, itemSize);
}
}
}
}
......
......@@ -33,6 +33,9 @@ public class PlayerDisplay {
if(p.getName() == "player2"){
g2.setColor(Color.blue);
}
if(p.isDead()){
g2.setColor(Color.white);
}
// Dessine un rectangle représentant le joueur
g2.fillRect(p.getX() , p.getY(), 34, 34);
......
......@@ -37,23 +37,7 @@ public class Fire {
for (int k = 0; k < players.size() ; k++){
Player p = players.get(k);
if( p.getGridX() == this.i && p.getGridY() == this.j && p.getStatus() != "invincible"){
ground.addDamagePlayers(k, power);
final int ind = k;
ground.setInvinciblePlayers(ind);
// Lance un nouveau thread pour rendre le joueur non invincible après un délai
new Thread() {
@Override
public void run() {
try {
Thread.sleep(1000);
ground.removeInvinciblePlayers(ind);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
ground.killPlayer(k);
}
}
}
......
......@@ -139,6 +139,12 @@ public class GamePanel extends JPanel implements Runnable{
// Test collision Item
game.testItemCollision();
// Test collision Fire
game.testContactFire();
// Test Winner
game.winnerIs();
}
/**
......
......@@ -144,7 +144,9 @@ public class Ground {
public void testContactFire(){
for (int i = 0; i < nbx ; i++){
for (int j = 0; j < nby ; j++){
fires[i][j].ifContactPlayers(this);
if (fires[i][j] != null){
fires[i][j].ifContactPlayers(this);
}
}
}
}
......@@ -232,14 +234,6 @@ public class Ground {
players.get(k).addY(dy);
}
/**
* Ajoute des dégâts au joueur à la position k dans la liste de joueurs.
* @param k Indice du joueur dans la liste.
* @param damage Dégâts à ajouter.
*/
public void addDamagePlayers(int k, int damage){
players.get(k).addDamage(damage);
}
/**
* Rend le joueur à la position k dans la liste de joueurs invincible.
......@@ -270,6 +264,9 @@ public class Ground {
if (it instanceof Power){
gridItem[i][j] = new Power();
}
if (it instanceof Bag){
gridItem[i][j] = new Bag();
}
}
/**
......@@ -389,4 +386,19 @@ public class Ground {
}.start();
}
public void killPlayer(int i){
players.get(i).kill();
}
public void winnerIs(){
if( players.get(0).isDead() && players.get(1).isDead()){
System.out.println("The Winner is ...... no one, draw !");
}
if (players.get(0).isDead()){
System.out.println("The Winner is ...... " + players.get(1).getName() + " ! ");
}
if (players.get(1).isDead()){
System.out.println("The Winner is ...... " + players.get(0).getName() + " ! ");
}
}
}
package App.Item;
import App.Player;
public class Bag extends Item {
@Override
public void addEffectTo(Player p){
p.addBombLimit();
}
}
......@@ -194,10 +194,14 @@ public class Player {
/**
* Diminue la limite de bombes placées par le joueur.
*/
public void decreseadBombLimit(){
public void decreseadBomb(){
bombPlaced--;
}
public void addBombLimit(){
bombLimit++;
}
/**
* Diminue la limite de bombes placées par le joueur.
*/
......@@ -237,6 +241,10 @@ public class Player {
return status;
}
public void kill(){
life = 0;
}
/**
* Vérifie si le joueur est mort.
*
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter