diff options
| author | miguel <miguel@localhost> | 2017-09-13 11:55:36 +0200 |
|---|---|---|
| committer | miguel <miguel@localhost> | 2017-09-13 11:55:36 +0200 |
| commit | 1555b96b32a919c3e3b9e44ac1d80dab005d9ab8 (patch) | |
| tree | 1e067e6a8915d638509adc2c16229b5ed600209c /World.cpp | |
| parent | e2063047ee1d145dbdf1963a23f183cc9db9bf52 (diff) | |
added coin collecting sounds
Diffstat (limited to 'World.cpp')
| -rw-r--r-- | World.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
@@ -1,8 +1,9 @@ +#include <random> #include "World.h" - World::World(int l):level(l) { + coins=0; level--; next_level(); reset(); @@ -10,6 +11,10 @@ World::World(int l):level(l) void World::reset() { + std::random_device rd; //Will be used to obtain a seed for the random number engine + std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd() + std::uniform_int_distribution<> dis(-5, 10); + player.x2=player.x=0; player.speed=level; player.anim=0; @@ -17,12 +22,13 @@ void World::reset() player.y2=0; player.dead=false; player.win=false; + player.collected_coin=false; coins_pos.clear(); for(int i=0;i<bricks.size();i++) { - coins_pos.push_back(4); + coins_pos.push_back(dis(gen)); } @@ -135,7 +141,21 @@ void World::sim(double time) } if(last_brick==4){player.y--;player.y2=0;} - if(last_brick==3){player.y++;player.y2=0;} + if(last_brick==3) + { + player.y++;player.y2=0; + if(coins_pos[player.x-1]==player.y){ + coins_pos[player.x-1]=99; + coins++; + player.collected_coin=true; + } + } + + if(coins_pos[player.x]==player.y){ + coins_pos[player.x]=99; + coins++; + player.collected_coin=true; + } bool ok=false; for(Brick &brick:bricks[player.x]) |
