Projet d'Exploration Informatique Index du Forum
Projet d'Exploration Informatique
Les élèves de 6TT Informatique vous présentent leurs projets de fin d'études
 
Projet d'Exploration Informatique Index du ForumFAQRechercherS’enregistrerConnexion

:: Rapport d'activité [4] ::

 
Poster un nouveau sujet   Répondre au sujet    Projet d'Exploration Informatique Index du Forum -> Les projets de l'année 2018-2019 ->
Sujet précédent :: Sujet suivant  
Auteur Message
garydaneels
6TT-2018

Hors ligne

Inscrit le: 16 Oct 2017
Messages: 7
Localisation: belgique
Masculin

MessagePosté le: Mer 17 Oct - 23:25 (2018)    Sujet du message: Rapport d'activité [4] Répondre en citant

Pour aujourd'hui je vous présente mon code pour la configuration de la map dans laquelle notre personnage va pouvoir se battre et sortir VICTORIEUX de l'emprise de Cardinal Mercier.
Code:
package View;

import Model.Directable;
import Model.Ennemy;

import Model.GameObject;
import Model.Hero;
import Model.Inventory;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.util.ArrayList;

import javax.swing.ImageIcon;
import javax.swing.JPanel;
import java.awt.Image;

//Classe qui gère l'affichage des différents éléments sur l'écran du joueur

public class Map extends JPanel {

    private ArrayList<GameObject> objects = null;
    private ArrayList<Ennemy> ennemies = null;
    private ArrayList<Hero> hero = null;
    private Graphics gd;
   
    public Map() {//constructeur
        this.setFocusable(true);
        this.requestFocusInWindow();
    }
   
    public void setObjects(ArrayList<GameObject> objects) {//setteur
        this.objects = objects;
    }
   
    public void setEnnemy(ArrayList<Ennemy> ennemies) {
       this.ennemies = ennemies;
    }
   
    public void setHero(ArrayList<Hero> hero) {
       this.hero = hero;
    }

    public void paint(Graphics g) {//ajoute les images des différents éléments du jeu sur le JPanel
       this.gd = (Graphics)g;
       Image arbre = new ImageIcon("Images/arbre.png").getImage();
       Image bloc_cassable = new ImageIcon("Images/blocCassable.png").getImage();
       Image herosGauche = new ImageIcon("Images/herosGauche.png").getImage();
       Image herosDroite = new ImageIcon("Images/herosDroite.png").getImage();
       Image herosHaut = new ImageIcon("Images/herosHaut.png").getImage();
       Image herosBas = new ImageIcon("Images/herosBas.png").getImage();
       Image potion = new ImageIcon("Images/Potion.png").getImage();
       Image bloctel = new ImageIcon("Images/bt.gif").getImage();
       Image armure = new ImageIcon("Images/armure.png").getImage();
       Image bloctox = new ImageIcon("Images/toxic.png").getImage();
       Image bombe = new ImageIcon("Images/bombe.png").getImage();
       Image viande = new ImageIcon("Images/viande.png").getImage();
       Image herbe = new ImageIcon("Images/herbe.png").getImage();
       Image flècheGauche = new ImageIcon("Images/flècheGauche.png").getImage();
       Image flècheDroite = new ImageIcon("Images/flècheDroite.png").getImage();
       Image flècheHaut = new ImageIcon("Images/flècheHaut.png").getImage();
       Image flècheBas = new ImageIcon("Images/flècheBas.png").getImage();
       Image loupGarou = new ImageIcon("Images/lg.png").getImage();
       Image explosion = new ImageIcon("Images/explosion.png").getImage();
       Image fondInv = new ImageIcon("Images/fondInv.png").getImage();
       Image squelette = new ImageIcon("Images/squelette.png").getImage();

       for (int i = 0; i < hero.get(0).getGame().getSize(); i++) {
            for (int j = 0; j < hero.get(0).getGame().getSize(); j++) {
                int x = i;
                int y = j;
                gd.drawImage(herbe, x*50, y*50, 50, 50, null);//sol
            }
        }

        for (GameObject object : this.objects) {
            int x = object.getPosX();
            int y = object.getPosY();
            int color = object.getColor();

            if (color == 0) {//bloc incassable
                gd.drawImage(arbre,x*50, y*50, 50, 50, null);
            }
           
            else if (color == 1) {//bloc cassable
                gd.drawImage(bloc_cassable, x*50, y*50, 50, 50, null);
            }
           
            else if (color == 2) {//bloc toxique
               gd.drawImage(bloctox, x*50, y*50, 50, 50, null);
            }
           
            else if (color == 3) {//bloc téléportation
                gd.drawImage(bloctel, x*50, y*50, 50, 50, null);
            }
           
            else if (color == 6) {//armure
               gd.drawImage(armure, x*50, y*50, 50, 50, null);
            }
           
            else if (color == 7) {//potion
               gd.drawImage(potion, x*50, y*50, 50, 50, null);
            }
           
            else if (color == 8) {//bombe
               gd.drawImage(bombe, x*50, y*50, 50, 50, null);
            }
           
            else if (color == 9) {//viande
               gd.drawImage(viande, x*50, y*50, 50, 50, null);
            }
           
            else if (color == 10) {//flèche
               int direc = ((Directable) object).getDirection();
                switch (direc) {
                  case Directable.EAST:
                     gd.drawImage(flècheDroite, x*50, y*50, 50, 50, null);
                     break;
                  case Directable.NORTH:
                     gd.drawImage(flècheHaut, x*50, y*50, 50, 50, null);
                     break;
                  case Directable.SOUTH:
                     gd.drawImage(flècheBas, x*50, y*50, 50, 50, null);
                     break;
                  case Directable.WEST:
                     gd.drawImage(flècheGauche, x*50, y*50, 50, 50, null);
                     break;
                }
            }
           
            else if (color == 13) {//explosion
               gd.drawImage(explosion, x*50, y*50, 50, 50, null);
            }
           
         for (Ennemy ennemy : this.ennemies) {
            int xennemy = ennemy.getPosX();
            int yennemy = ennemy.getPosY();
            int couleur = ennemy.getColor();
            if (couleur == 11) {//loup-garou
               gd.drawImage(loupGarou, xennemy*50, yennemy*50, 50, 50, null);
            }
           
            else if (couleur == 12) {//squelette
               gd.drawImage(squelette, xennemy*50, yennemy*50, 50, 50, null);
            }
         }

         for (Hero hero : this.hero) {
            int xhero = hero.getPosX();
            int yhero = hero.getPosY();
            int direction = ((Directable) hero).getDirection();
            switch (direction) {
               case Directable.EAST:
                  gd.drawImage(herosDroite, xhero*50, yhero*50, 50, 50, null);
                  break;
               case Directable.NORTH:
                  gd.drawImage(herosHaut, xhero*50, yhero*50, 50, 50, null);
                  break;
               case Directable.SOUTH:
                  gd.drawImage(herosBas, xhero*50, yhero*50, 50, 50, null);
                  break;
               case Directable.WEST:
                  gd.drawImage(herosGauche, xhero*50, yhero*50, 50, 50, null);
                  break;
            }
         }

        int width = 50;
        int height = 40;
        Inventory inventory = hero.get(0).getInventory();
        int nbPotion = inventory.getPotionSoin().size();
        int nbBombe = inventory.getBombe().size();
        int nbArmure = inventory.getArmure().size();
        int nbFlèche = inventory.getFlèche().size();
        int nbViande = inventory.getViande().size();
        int score = hero.get(0).getGame().getScore();
       
        //Affichage de l'inventaire
        Font f = new Font("Courier", Font.BOLD,40);
      gd.setFont(f);
      gd.setColor(Color.BLACK);
      Font f1 = new Font("Courier", Font.BOLD, 30);
      gd.setFont(f1);
      gd.drawImage(fondInv, 20*width, 0, 700, 20*height,null);
      gd.drawString("Inventaire", 18*width + 195, 1*height + 10);
      gd.drawImage(potion, 20*width + 20, 2*height, 75, 75, null);
      gd.drawString(" : " + nbPotion + "X", 20*width + 85 , 3*height + 15);
      gd.drawImage(bombe, 20*width + 20, 4*height, 75, 75, null);
      gd.drawString(" : " + nbBombe + "X", 20*width + 85,  5*height + 15);
      gd.drawImage(viande, 20*width + 20, 6*height + 10, 75, 75, null);
      gd.drawString(" : " + nbViande + "X", 20*width + 85, 7*height + 15);
      gd.drawImage(armure, 20*width + 20, 8*height + 10, 75, 75, null);
      gd.drawString(" : " + nbArmure + "X", 20*width + 85, 9*height + 15);
      gd.drawImage(flècheDroite, 20*width + 20, 10*height + 20, 75, 75, null);
      gd.drawString(" : " + nbFlèche + "X", 20*width + 85, 11*height + 15);
      
      //Affichage du score du joueur
      gd.drawString("Score : " + score , 20*width + 30, 15*height -10);
      
      //Affichage de la vie du héros
      int lifeHero = hero.get(0).getLife();
      gd.drawString("Vie :", 20*width + 30, 13*height + 10);
      g.setColor(Color.RED);
      gd.drawRoundRect(20*width + 130, 13*height -25, 210, 50, 10, 10);
      gd.fillRoundRect(20*width + 130, 13*height -25, 210, 50, 10, 10);
      gd.setColor(Color.GREEN);
      gd.fillRoundRect(20*width + 130, 13*height -25, lifeHero * 14, 50, 10, 10);
        }
    }

    public void redraw() {//méthode actualisant la Map
        this.repaint();
    }
}



_________________
Revenir en haut
Publicité






MessagePosté le: Mer 17 Oct - 23:25 (2018)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Projet d'Exploration Informatique Index du Forum -> Les projets de l'année 2018-2019 -> Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  

Portail | Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Texno x0.3 © theme by Larme D'Ange 2006
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com