                 }
                 break;
             case BUTTON_UP:
-                if (isStair(feetBlock))
+                if (isStair(bottomBlock) || isStair(centerBlock))
                 {
                     player.moveTo( { player.top().x & ~0x07, player.top().y - 1 } );
                     player.setBitmap( &playerFlyingImage[MAN_ANIM_UP][playerAnimation][0] );

    RGB_COLOR8(128,128,128),
};

static inline uint8_t blockIdx(uint8_t x, uint8_t y) { return (x>>3) + (((y - 8)>>3) * 24); }
static inline bool isWalkable(uint8_t type)          { return (type == 0) || (type == 2) || (type == 3) || (type == 4); }
static inline bool isSolid(uint8_t type)             { return (type == 1) || (type == 2) || (type == 5); }
static inline bool isPipe(uint8_t type)              { return type == 3; }
static inline bool isGold(uint8_t type)              { return type == 4; }
static inline bool isStair(uint8_t type)             { return type == 2; }

GameEngine engine;

/**

        if (isGold(centerBlock))
        {
            engine.notify( "GOLD COIN" );
            set_block_at(player.center(), 0);
            goldCollection++;
            showGameInfo();
            engine.refresh(0,0,63,7);
