47 lines
976 B
Plaintext
47 lines
976 B
Plaintext
class Test {
|
|
function : Main(args : String[]) ~ Nil {
|
|
Vec2->New(5, 7)->Add(Vec2->New(2, 3))->ToString()->PrintLine();
|
|
Vec2->New(5, 7)->Sub(Vec2->New(2, 3))->ToString()->PrintLine();
|
|
Vec2->New(5, 7)->Mult(11)->ToString()->PrintLine();
|
|
Vec2->New(5, 7)->Div(2)->ToString()->PrintLine();
|
|
}
|
|
}
|
|
|
|
class Vec2 {
|
|
@x : Float;
|
|
@y : Float;
|
|
|
|
New(x : Float, y : Float) {
|
|
@x := x;
|
|
@y := y;
|
|
}
|
|
|
|
method : GetX() ~ Float {
|
|
return @x;
|
|
}
|
|
|
|
method : GetY() ~ Float {
|
|
return @y;
|
|
}
|
|
|
|
method : public : Add(v : Vec2) ~ Vec2 {
|
|
return Vec2->New(@x + v->GetX(), @y + v->GetY());
|
|
}
|
|
|
|
method : public : Sub(v : Vec2) ~ Vec2 {
|
|
return Vec2->New(@x - v->GetX(), @y - v->GetY());
|
|
}
|
|
|
|
method : public : Div(val : Float) ~ Vec2 {
|
|
return Vec2->New(@x / val, @y / val);
|
|
}
|
|
|
|
method : public : Mult(val : Float) ~ Vec2 {
|
|
return Vec2->New(@x * val, @y * val);
|
|
}
|
|
|
|
method : public : ToString() ~ String {
|
|
return "[{$@x}, {$@y}]";
|
|
}
|
|
}
|