block spawning and drawing

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
master
sigonasr2 2 years ago
parent 0a5ebfd622
commit cf17d444b0
  1. 1
      Block.h
  2. 1
      Board.cpp
  3. 1
      Board.h
  4. BIN
      C++ProjectTemplate
  5. 9
      main.cpp

@ -4,6 +4,7 @@
class Block{
public:
float vspeed;
vf2d pos;
Block(vf2d pos)
:pos(pos){}

@ -6,4 +6,5 @@ extern Meteos*game;
Board::Board(vi2d boardSize,float gravity)
:boardSize(boardSize),gravity(gravity){
drawOffset={(float)game->ScreenWidth()/2-boardSize.x/2*12,(float)game->ScreenHeight()/2-boardSize.y/2*12};
yBottom=(boardSize.y-1)*12;
}

@ -4,6 +4,7 @@
class Board{
public:
float yBottom;
vf2d drawOffset;
vi2d boardSize;
float gravity;

Binary file not shown.

@ -13,7 +13,7 @@ bool Meteos::OnUserCreate()
gen=std::mt19937(rd()); //Standard mersenne_twister_engine seeded with rd()
randBlockPos=std::uniform_int_distribution<>(0, 9);
gameBoard=Board({10,14},0.1f);
gameBoard=Board({10,14},6.f);
return true;
}
@ -35,6 +35,13 @@ bool Meteos::OnUserUpdate(float fElapsedTime)
}
}
for (Block&b:blocks) {
if (b.pos.y<gameBoard.yBottom) {
b.vspeed+=gameBoard.gravity*fElapsedTime;
b.pos.y+=b.vspeed*fElapsedTime;
} else {
b.vspeed=0;
b.pos.y=gameBoard.yBottom;
}
FillRectDecal(b.pos+gameBoard.drawOffset,{12,12},GREEN);
}
return true;

Loading…
Cancel
Save