From 327d9411c91e43862079d3da8c8e0f2528e8e458 Mon Sep 17 00:00:00 2001 From: maelle Date: Sat, 12 Mar 2016 11:22:10 +0100 Subject: [PATCH] Chargement des textures pour ball et block --- Images/texture_test.jpeg | Bin 0 -> 25594 bytes ball.cpp | 8 +++++++ ball.cpp~ | 49 +++++++++++++++++++++++++++++++++++++++ ball.hpp | 1 + ball.hpp~ | 40 ++++++++++++++++++++++++++++++++ block.cpp | 12 +++++++++- block.cpp~ | 29 +++++++++++++++++++++++ block.hpp | 1 + block.hpp~ | 42 +++++++++++++++++++++++++++++++++ 9 files changed, 181 insertions(+), 1 deletion(-) create mode 100644 Images/texture_test.jpeg create mode 100644 ball.cpp~ create mode 100644 ball.hpp~ create mode 100644 block.cpp~ create mode 100644 block.hpp~ diff --git a/Images/texture_test.jpeg b/Images/texture_test.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..804ce84261e76294e49d89513fd01518ac0d1917 GIT binary patch literal 25594 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 literal 0 HcmV?d00001 diff --git a/ball.cpp b/ball.cpp index 614fef1..8abcc56 100644 --- a/ball.cpp +++ b/ball.cpp @@ -1,6 +1,14 @@ #include "ball.hpp" void Ball::draw(sf::RenderWindow& window) { + + //chargement de la texture de test + if (!texture.loadFromFile("./Images/texture_test.jpeg")) + { + //erreur + } + shape.setTexture(&texture); + shape.setPosition(position); window.draw(shape); } diff --git a/ball.cpp~ b/ball.cpp~ new file mode 100644 index 0000000..614fef1 --- /dev/null +++ b/ball.cpp~ @@ -0,0 +1,49 @@ +#include "ball.hpp" + +void Ball::draw(sf::RenderWindow& window) { + shape.setPosition(position); + window.draw(shape); +} + +sf::Vector2f Ball::getForces(State state) { + sf::Vector2f forces = PhysicsObject::getForces(state); + + // déplacement de la balle après appui sur les touches de direction + if (state.goLeftKey) { + forces += sf::Vector2f(-Ball::MOVE, 0); + } + + if (state.goRightKey) { + forces += sf::Vector2f(Ball::MOVE, 0); + } + + // force d'attraction entre les balles et les blocs chargés + if (getCharge() != 0) { + for (unsigned int j = 0; j < state.objects.size(); j++) { + Object *attractive = state.objects[j]; + + if (attractive == this || attractive->getCharge() == 0) { + continue; + } + + // vecteur allant de l'objet attirant vers l'objet considéré + sf::Vector2f attraction(position - attractive->getPosition()); + + // la norme de ce vecteur est la distance entre les objets + float distanceSquared = attraction.x * attraction.x + + attraction.y * attraction.y; + + // normalisation du vecteur direction qui porte + // la force d'attraction, puis application de la norme + attraction /= std::sqrt(distanceSquared); + attraction *= Ball::ATTRACTION * ( + (charge * attractive->getCharge()) / + distanceSquared + ); + + forces += attraction; + } + } + + return forces; +} diff --git a/ball.hpp b/ball.hpp index d774cda..5abb121 100644 --- a/ball.hpp +++ b/ball.hpp @@ -8,6 +8,7 @@ class Ball : public PhysicsObject { protected: + sf::Texture texture; sf::CircleShape shape; /** diff --git a/ball.hpp~ b/ball.hpp~ new file mode 100644 index 0000000..d774cda --- /dev/null +++ b/ball.hpp~ @@ -0,0 +1,40 @@ +#ifndef __PTF_BALL_HPP__ +#define __PTF_BALL_HPP__ + +#include +#include +#include "state.hpp" +#include "physics_object.hpp" + +class Ball : public PhysicsObject { +protected: + sf::CircleShape shape; + + /** + * Calcule les forces appliquées à l'objet + */ + virtual sf::Vector2f getForces(State state); + + static constexpr float ATTRACTION = 25000; + static constexpr float MOVE = 100; + +public: + Ball(float x, float y) : PhysicsObject(x, y), shape(10 * mass) { + shape.setOrigin(sf::Vector2f(10 * mass, 10 * mass)); + shape.setFillColor(sf::Color(255, 245, 131)); + } + + /** + * Dessine la balle dans la fenêtre donnée + */ + void draw(sf::RenderWindow& window); + + /** + * Détermine la couche d'affichage de l'objet + */ + unsigned int getLayer() { + return 1; + } +}; + +#endif diff --git a/block.cpp b/block.cpp index 5ef9ee1..142771a 100644 --- a/block.cpp +++ b/block.cpp @@ -1,16 +1,26 @@ #include "block.hpp" void Block::draw(sf::RenderWindow& window) { + + //chargement de la texture de test + if (!texture.loadFromFile("./Images/texture_test.jpeg")) + { + //erreur + } + shape.setTexture(&texture); + if (charge > 0) { shape.setFillColor(sf::Color(0, 0, 255)); } else if (charge < 0) { shape.setFillColor(sf::Color(255, 0, 0)); } else { - shape.setFillColor(sf::Color(0, 0, 0)); + shape.setFillColor(sf::Color(75, 75, 75)); } shape.setPosition(position); window.draw(shape); + + } void Block::update(State state) { diff --git a/block.cpp~ b/block.cpp~ new file mode 100644 index 0000000..16f14c5 --- /dev/null +++ b/block.cpp~ @@ -0,0 +1,29 @@ +#include "block.hpp" + +void Block::draw(sf::RenderWindow& window) { + + //chargement de la texture de test + if (!texture.loadFromFile("./Images/texture_test.jpeg")) + { + //erreur + } + shape.setTexture(&texture); + shape.setTextureRect(sf::IntRect(5, 5, 10, 10)); + + if (charge > 0) { + shape.setFillColor(sf::Color(0, 0, 255)); + } else if (charge < 0) { + shape.setFillColor(sf::Color(255, 0, 0)); + } else { + shape.setFillColor(sf::Color(75, 75, 75)); + } + + shape.setPosition(position); + window.draw(shape); + + +} + +void Block::update(State state) { + // rien à mettre à jour +} diff --git a/block.hpp b/block.hpp index f359964..35a5de2 100644 --- a/block.hpp +++ b/block.hpp @@ -8,6 +8,7 @@ class Block : public Object { protected: + sf::Texture texture; sf::RectangleShape shape; public: diff --git a/block.hpp~ b/block.hpp~ new file mode 100644 index 0000000..add3927 --- /dev/null +++ b/block.hpp~ @@ -0,0 +1,42 @@ +#ifndef __PTF_BLOCK_HPP__ +#define __PTF_BLOCK_HPP__ + +#include +#include +#include "object.hpp" +#include "state.hpp" + +class Block : public Object { +protected: + sf::Texture texture; + sf::Sprite sprite; + sf::RectangleShape shape; + +public: + static constexpr float GRID = 32; + + Block(float x, float y) : Object(x, y), shape(sf::Vector2f(Block::GRID, Block::GRID)) { + shape.setOrigin(sf::Vector2f(Block::GRID / 2, Block::GRID / 2)); + shape.setFillColor(sf::Color(0, 0, 0)); + } + + /** + * Dessin du bloc dans la fenêtre donnée + */ + void draw(sf::RenderWindow& window); + + /** + * Met à jour l'objet juste avant le dessin d'une frame + * Reçoit l'état actuel du moteur + */ + void update(State state); + + /** + * Détermine la couche d'affichage de l'objet + */ + unsigned int getLayer() { + return 0; + } +}; + +#endif