+#ifndef AUTONOMOUS_OBJECT_H
+#define AUTONOMOUS_OBJECT_H
+#include "Object.h"
+
+class Autonomous_object
+{
+public:
+ virtual bool collides(Object& other) = 0;
+ virtual void collision(Object& other) = 0;
+ virtual void update() = 0;
+ virtual void render(sf::RenderWindow& window) = 0;
+
+ virtual ~Autonomous_object() = default;
+private:
+ virtual void move(Time) = 0;
+protected:
+ double x_pos;
+ double y_pos;
+ sf::Sprite sprite;
+};
+#endif
\ No newline at end of file
+#ifndef BIKE_ENEMY_H
+#define BIKE_ENEMY_H
+
+#include "Autonomous_object.h"
+
+class Bike_enemy
+{
+public:
+ bool collides(Object& other) override;
+ void collision(Object& other) override;
+ void update() override;
+ void render(sf::RenderWindow& window) override;
+private:
+ void move(Time) override;
+
+protected:
+ double x_pos;
+ double y_pos;
+ sf::Sprite sprite;
+
+};
+
+
+
+#endif
\ No newline at end of file