aboutsummaryrefslogtreecommitdiffstats
path: root/dev/a2-carsoccer/ball.h
diff options
context:
space:
mode:
Diffstat (limited to 'dev/a2-carsoccer/ball.h')
-rw-r--r--dev/a2-carsoccer/ball.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/dev/a2-carsoccer/ball.h b/dev/a2-carsoccer/ball.h
new file mode 100644
index 0000000..65a96a4
--- /dev/null
+++ b/dev/a2-carsoccer/ball.h
@@ -0,0 +1,40 @@
+/** CSci-4611 Assignment 2: Car Soccer
+ */
+
+#ifndef BALL_H_
+#define BALL_H_
+
+#include <mingfx.h>
+
+/// Small data structure for a ball
+class Ball {
+public:
+
+ /// The constructor sets the radius and calls Reset() to start the ball at
+ /// the center of the field
+ Ball() : radius_(2.6f) {
+ Reset();
+ }
+
+ /// Nothing special needed in the constructor
+ virtual ~Ball() {}
+
+
+ void Reset() {
+ position_ = Point3(0, radius_, 0);
+ }
+
+ float radius() { return radius_; }
+
+ Point3 position() { return position_; }
+ void set_position(const Point3 &p) { position_ = p; }
+
+
+private:
+ // You will probably need to store some additional data here, e.g., velocity
+
+ Point3 position_;
+ float radius_;
+};
+
+#endif