Initial commit
This commit is contained in:
72
application/source/vector2.c
Executable file
72
application/source/vector2.c
Executable file
@@ -0,0 +1,72 @@
|
||||
|
||||
|
||||
|
||||
|
||||
class vector2{
|
||||
|
||||
float x;
|
||||
|
||||
float y;
|
||||
|
||||
|
||||
constructor( float x, float y ) {
|
||||
|
||||
//printf("constructor has been called.. x: %i, y: %i \n", x, y);
|
||||
|
||||
this->x = x;
|
||||
|
||||
this->y = y;
|
||||
|
||||
// this causes an infinity loop.
|
||||
// vector2 a = new vector2( 0, 0 );
|
||||
|
||||
// this->add( &a );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
vector2 * operator+( vector2 * b ){
|
||||
|
||||
this->add( b );
|
||||
|
||||
return this;
|
||||
|
||||
}
|
||||
|
||||
vector2 * operator+=( struct vector2 * b ) {
|
||||
|
||||
// not proper
|
||||
//strcat( this, b );
|
||||
|
||||
//printf("operator += triggered");
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
add( vector2 * a ) {
|
||||
|
||||
this->x += a->x;
|
||||
|
||||
this->y += a->y;
|
||||
|
||||
}
|
||||
|
||||
subtract( vector2 * a ) {
|
||||
|
||||
this->x -= a->x;
|
||||
|
||||
this->y -= a->y;
|
||||
|
||||
}
|
||||
|
||||
int length() {
|
||||
|
||||
return this->x + this->y;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user