From 7ea1b2c0320d74152d33e74718a39319a7a0e507 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 2 Feb 2021 18:35:09 -0600 Subject: Added worksheet and support code for assignment 2 --- dev/a2-carsoccer/car_soccer.h | 76 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 dev/a2-carsoccer/car_soccer.h (limited to 'dev/a2-carsoccer/car_soccer.h') diff --git a/dev/a2-carsoccer/car_soccer.h b/dev/a2-carsoccer/car_soccer.h new file mode 100644 index 0000000..8cd144f --- /dev/null +++ b/dev/a2-carsoccer/car_soccer.h @@ -0,0 +1,76 @@ +/** CSci-4611 Assignment 2: Car Soccer + */ + +#ifndef CAR_SOCCER_H_ +#define CAR_SOCCER_H_ + +#include +using namespace mingfx; + +#include "ball.h" +#include "car.h" + + +// The main class for the Car Soccer application +class CarSoccer : public GraphicsApp { +public: + CarSoccer(); + virtual ~CarSoccer(); + + /// This is called when special keys like SPACEBAR are pressed + void OnSpecialKeyDown(int key, int scancode, int modifiers); + + /// This is called once each frame. dt is "delta time", the time elapsed + /// since the last call. + void UpdateSimulation(double dt); + + /// This is called when it is time to initialize graphics objects, like + /// texture files. + void InitOpenGL(); + + /// This is called once each frame, and you should draw the scene inside + /// this function. + void DrawUsingOpenGL(); + + /// This is a little utility function that is helpful. It treats the + /// arrow keys like a joystick and returns the direction you are pressing + /// as a 2D vector, taking into account the fact that you might be holding + /// down more than one key at a time. + Vector2 joystick_direction(); + + // Feel free to add more functions here as needed. + + + +private: + + // Simulation objects/parameters: + + // We suggest you start with the Car and Ball objects provided, adding new + // member variables to those classes if you need to. You'll probably want + // to store some other data for the simulation here too, like some value + // for gravity. + Car car_; + Ball ball_; + + + + + // Support for drawing some simple shapes: + QuickShapes quickShapes_; + + // Images to use as textures: + Texture2D fieldTex_; + Texture2D crowdTex_; + + // Control the computer graphics camera (we'll learn about this in a few weeks): + Matrix4 modelMatrix_; + Matrix4 viewMatrix_; + Matrix4 projMatrix_; + + // A list of paths to search for data files (images): + std::vector searchPath_; +}; + + +#endif \ No newline at end of file -- cgit v1.2.3