Asteroids for MBED game with Bluetooth LE UART Friend Controller, uLCD, speaker, and uSD.

Dependencies:   4DGL-uLCD-SE mbed-rtos mbed

Asteroids for MBED game with Bluetooth LE UART Friend Controller

Revision:
1:0328ad927150
Parent:
0:16094a49131e
Child:
2:332ca4f1a3e3
--- a/main.cpp	Fri Mar 11 17:43:25 2016 +0000
+++ b/main.cpp	Sat Mar 12 01:23:40 2016 +0000
@@ -1,59 +1,82 @@
 #include "mbed.h"
 #include "rtos.h"
 #include "uLCD_4DGL.h"
+#include <math.h>
+#include <list>
+using namespace std;
 
 DigitalOut myled(LED1);
 uLCD_4DGL uLCD(p28,p27,p29);
 
 class Movement
 {
-    public:
-        double x_pos;   // x position of object
-        double y_pos;   // 
-        double x_vel;   // x velocity of object
-        double y_vel;   // 
-        double angle;   // angle of object
-        double hit_rad  // hit box radius of object
-        
-        Movement(double xp,yp,xv,yv,a,r){
-            x_pos = xp;
-            y_pos = yp;   
-            x_vel = xv;
-            y_vel = yv;
-            angle = a;   
-            hit_rad = r;
-        }
-        
-        void move(){
-            p.x_pos = (p.x_pos + p.x_vel)%144;
-            p.y_pos = (p.x_pos + p.y_vel)%144;
-            
-        }
-         
-        void accelerate(){
-            p.x_vel += cos(angle);
-            p.y_vel += sin(angle);
-            if(sqrt(p.x_vel^2 + p.y_vel^2) > 10)
-                x_vel = p.x_vel * 10 / sqrt(x_vel^2 + y_vel^2);
-                y_vel = p.y_vel * 10 / sqrt(x_vel^2 + y_vel^2);
-        
-        bool collision(&Movent p2){
-            rad = hit_rad + p2.hitrad;
-            dist = sqrt((x_pos - p2.x_pos)^2 + (y_pos - p2.y_pos);
-            return dist < rad;
-        }
+public:
+    double x_pos;   // x position of object
+    double y_pos;   //
+    double x_vel;   // x velocity of object
+    double y_vel;   //
+    double angle;   // angle of object
+    int hit_rad;     // hit box radius of object
+    bool wrap;
+    Movement(double xp,double yp,double xv,double yv,double a,double r,double w);
+    void move();
+    void accelerate();
+
 };
 
-int main() {
-    Movement player(50, 100, 0, -5, 0, 5);
-    Movement asteroid(50, 100, 0, -5, 0, 5);
+Movement::Movement(double xp,double yp,double xv,double yv,double a,double r,double w)
+{
+    x_pos = xp;
+    y_pos = yp;
+    x_vel = xv;
+    y_vel = yv;
+    angle = a;
+    hit_rad = r;
+    wrap = w;
+}
+
+
+void Movement::move()
+{
+    x_pos += x_vel;
+    y_pos += y_vel;
+    
+}
+
+void Movement::accelerate()
+{
+    x_vel += cos(angle);
+    y_vel += sin(angle);
+    if(sqrt(pow(x_vel,2) + pow(y_vel,2)) > 10){
+        x_vel = x_vel * 10 / sqrt(pow(x_vel,2) + pow(y_vel,2));
+        y_vel = y_vel * 10 / sqrt(pow(x_vel,2) + pow(y_vel,2));
+    }
+}
+
+
+bool collision(Movement p1, Movement p2)
+{
+    int rad = p1.hit_rad + p2.hit_rad;
+    double dist = sqrt(pow((p1.x_pos - p2.x_pos),2) + pow((p1.y_pos - p2.y_pos),2));
+    return dist < rad;
+}
+
+void calc_collisions(){
+}
+
+void draw_objs(Movement player, list<Movement> asteroids, list<Movement> bullets){
+    
+}    
+
+int main()
+{
+    Movement player(50, 100, 0, -5, 0, 5, 1);
+    list<Movement> asteroids();
+    list<Movement> bullets();
     while(1) {
         player.move();
-        asteroid.move();
-        if(player.collision(asteroid)){
-            
-        }
-        
-        
+        calc_collisions();
+        //draw_objs(player, asteroids, bullets);
+
     }
 }