Skip to content
Snippets Groups Projects
Objet.java 2.58 KiB
/* ========================================================== */
/*                  Bibliotheque MoteurDeJeu                  */
/* --------------------------------------------               */
/* Bibliotheque pour aider la création de jeu video comme :   */
/* - Jeux de role                                             */
/* - Jeux de plateforme                                       */
/* - Jeux de combat                                           */
/* - Jeux de course                                           */
/* - Ancien jeu d'arcade (Pac-Man, Space Invider, Snake, ...) */
/* ========================================================== */

package physique;

import java.awt.Color;
import java.awt.Graphics;

import afficheur.Repere;

// permet de mod�liser un objet

/**
 *
 * @author Pierre-Frederic Villard
 */
public class Objet {
	


	// modele de l'objet
	// position

    /**
     *
     */
	public  double px = 15;

    /**
     *
     */
    public double py = 0;


	// vitesse

    /**
     *
     */
	public double vx = 0;
	double vy = 0;
	// acceleration
	double ax = 0, ay = 0;
	
	
	//positions precedentes (
	//utile pour colision

    /**
     *
     */
	public double opx,

    /**
     *
     */
    opy,

    /**
     *
     */
    ovx,

    /**
     *
     */
    ovy,

    /**
     *
     */
    oax,

    /**
     *
     */
    oay;

	// boundingbox

    /**
     *
     */
	public double width = 10;

    /**
     *
     */
    public double height = 10;
	
	//collision
	//permet de savoir si un objet est en collision
	//TODO debug a supprimer

    /**
     *
     */
	public int collision=0;

	//permet de sauver les positions anterieur

    // Index de l'élément parmis son type (Monstre , Mur, etc...)    
    public int index;
        
    /**
     *
     */
	public void sauveAnterieur()
	{
		opx=px;
		opy=py;
		ovx=vx;
		ovy=vy;
		oax=ax;
		oay=ay;
	}
	
	// mise � jour avec des equations physiques

    /**
     *
     */
	public void update() {
		sauveAnterieur();		
		px = px + vx;
		py = py + vy;
		vx = vx + ax;
		vy = vy + ay;
	}
	
	//permet de dessiner l'objet
    /**
     *
     * @param g
     */
	public void draw(Graphics g)
	{
		g.setColor(Color.green);
		int[]tab=Repere.changeRepere(this);
		g.fillRect(tab[0], tab[1], tab[2], tab[3]);
	}

    /**
     *
     * @return
     */
    public double getPx() {
		return px;
	}

    /**
     *
     * @return
     */
    public double getPy() {
		return py;
	}

}