diff options
Diffstat (limited to 'src/helper.cpp')
-rw-r--r-- | src/helper.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/helper.cpp b/src/helper.cpp index d0a349a..3d44bc6 100644 --- a/src/helper.cpp +++ b/src/helper.cpp @@ -240,6 +240,22 @@ createPassSprites(std::shared_ptr<std::vector<sf::Texture>> textures) } std::shared_ptr<std::vector<sf::Sprite>> +createWinSprites(int player_id, + std::shared_ptr<std::vector<sf::Texture>> textures) +{ + auto sprites = std::make_shared<std::vector<sf::Sprite>>(); + auto tile_ids = player_id == P1_ID ? P1_WIN_TILES : P2_WIN_TILES; + auto x = 4; + auto y = 4; + for (int i = 0; i < 5; i++) { + auto s = sf::Sprite((*textures)[tile_ids[i]]); + s.setPosition(pos(x + i, y)); + sprites->push_back(s); + } + return sprites; +} + +std::shared_ptr<std::vector<sf::Sprite>> createStartSprites(std::shared_ptr<std::vector<sf::Texture>> textures) { auto sprites = std::make_shared<std::vector<sf::Sprite>>(); @@ -397,3 +413,9 @@ clearPiece(std::shared_ptr<std::vector<struct piece_t>> pieces, } } } + +bool +hasWon(std::shared_ptr<struct player_t> player) +{ + return player->pieces->size() == 0; +} |