X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=examples%2Fbassteroids%2Fsource%2Fgamecontroller.cpp;h=d39b3434e702a4290ef2f8c6563d754f79c3ba20;hb=391f1ab3c7ca52a9990f516f4cdd7094f60350df;hp=eae5e2d3cf27e8560c187c38cb227cd773f24d2c;hpb=cf97839fff9ecb0783cecc9510994fb4a13f2dbe;p=libs%2Fgame.git diff --git a/examples/bassteroids/source/gamecontroller.cpp b/examples/bassteroids/source/gamecontroller.cpp index eae5e2d..d39b343 100644 --- a/examples/bassteroids/source/gamecontroller.cpp +++ b/examples/bassteroids/source/gamecontroller.cpp @@ -19,11 +19,14 @@ void GameController::tick(Time::TimeDelta) case LEVEL_START: defer([this]{ uniform_real_distribution sdist(-1, 1); + uniform_real_distribution udist(0, 1); for(unsigned i=0; iget_transform()->set_position({ sdist(rng)*32, sdist(rng)*18, 0.0f }); - asteroids.back()->get_body()->set_velocity(asteroids.back()->get_transform()->get_position().slice<2>(0)*-0.1f); + Geometry::Angle angle = Geometry::Angle::from_turns(udist(rng)); + float speed = udist(rng)*7; + asteroids.back()->get_body()->set_velocity({ cos(angle)*speed, sin(angle)*speed }); } state = PLAYING; });