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

main.cpp

Committer:
agamemaker
Date:
2016-03-11
Revision:
0:16094a49131e
Child:
1:0328ad927150

File content as of revision 0:16094a49131e:

#include "mbed.h"
#include "rtos.h"
#include "uLCD_4DGL.h"

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;
        }
};

int main() {
    Movement player(50, 100, 0, -5, 0, 5);
    Movement asteroid(50, 100, 0, -5, 0, 5);
    while(1) {
        player.move();
        asteroid.move();
        if(player.collision(asteroid)){
            
        }
        
        
    }
}