From f81fbda65236d649b1e033f0eea010387a2f254d Mon Sep 17 00:00:00 2001 From: churl Date: Thu, 8 Apr 2021 03:17:29 +0200 Subject: [PATCH] implement food --- src/food.cpp | 14 ++++++++++++++ src/food.hpp | 20 ++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/food.cpp create mode 100644 src/food.hpp diff --git a/src/food.cpp b/src/food.cpp new file mode 100644 index 0000000..81776b7 --- /dev/null +++ b/src/food.cpp @@ -0,0 +1,14 @@ +#include "food.hpp" +#include "ant.hpp" + +Food::Food(double x, double y) + : x(x), y(y) { + appearance = sf::CircleShape(15); + appearance.setFillColor(sf::Color::Green); + appearance.setPosition(x - appearance.getRadius(), y - appearance.getRadius()); +} + +bool Food::antHasFood(const Ant &ant) const { + return ant.x > x - appearance.getRadius() && ant.x < x + appearance.getRadius() + && ant.y > y - appearance.getRadius() && ant.y < y + appearance.getRadius(); +} diff --git a/src/food.hpp b/src/food.hpp new file mode 100644 index 0000000..5abfc09 --- /dev/null +++ b/src/food.hpp @@ -0,0 +1,20 @@ +#ifndef __FOOD_H_ +#define __FOOD_H_ + +#include + +class Ant; + +class Food { + double x, y; + +public: + sf::CircleShape appearance; + +public: + Food(double x, double y); + + bool antHasFood(const Ant& ant) const; +}; + +#endif // __FOOD_H_