Tetris: use new API

This commit is contained in:
2021-04-29 13:25:55 +02:00
parent b52dee267b
commit 90dc26251b
5 changed files with 37 additions and 37 deletions
+6 -6
View File
@@ -37,9 +37,9 @@ void updateShadow( SDLPP::Scene &scene ) {
for ( auto &col : collisions ) {
// if collision with g_cur_object, ignore
if ( std::find( invalid_objects.begin(), invalid_objects.end(),
col ) != invalid_objects.end() )
col.second ) != invalid_objects.end() )
continue;
auto possible_drop = col->getPos().getY() - curY;
auto possible_drop = col.second->getPos().getY() - curY;
if ( possible_drop < shadow_drop && possible_drop >= 0 )
shadow_drop = possible_drop;
}
@@ -141,7 +141,7 @@ int crashFlags( std::shared_ptr< TetrisPiece > piece,
auto collisions = scene.getCollisions(
*block, { BORDER_LEFT_ID, BORDER_RIGHT_ID, FLOOR_ID } );
for ( auto &col : collisions ) {
switch ( col->getId() ) {
switch ( col.second->getId() ) {
case BORDER_LEFT_ID:
retFlags |= left;
break;
@@ -157,9 +157,9 @@ int crashFlags( std::shared_ptr< TetrisPiece > piece,
collisions = scene.getCollisions( *block, { BRICK_ID } );
if ( collisions.size() > 1 ) {
for ( auto &col : collisions ) {
if ( piece->isLeft( *col ) )
if ( piece->isLeft( *col.second ) )
retFlags |= left;
else if ( piece->isRight( *col ) )
else if ( piece->isRight( *col.second ) )
retFlags |= right;
else
retFlags |= bottom;
@@ -220,7 +220,7 @@ createTetrisBlock( double x, double y, const std::string &color,
ret->setOutlineColor( outline );
ret->addCollision( SDLPP::RectColider( 0.1, 0.1, 0.8, 0.8 ) );
ret->setId( BRICK_ID );
ret->centerX();
ret->setAlignment(SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER);
scene->addObject( ret );
return ret;
}