Files
SkyPlus/includes/CardMaker.hpp
2026-01-09 13:20:01 +01:00

36 lines
715 B
C++

#include <SFML/Graphics.hpp>
#include <map>
#include <string>
#include <iostream>
#include <cassert>
#include <memory>
#define CARD_BACK -3
#pragma once
class Card {
private:
int value_;
bool flipped_ = false;
bool grabbed_ = false;
std::shared_ptr<sf::Sprite> back_;
std::shared_ptr<sf::Sprite> face_;
public:
Card(int value, std::shared_ptr<sf::Sprite> face, std::shared_ptr<sf::Sprite> back);
~Card();
int getValue();
std::shared_ptr<sf::Sprite> getSprite();
void setPosition(sf::Vector2i pos);
void flip();
};
class CardMaker {
private:
std::map<int, std::shared_ptr<sf::Texture>> textures_;
public:
CardMaker();
~CardMaker();
std::shared_ptr<Card> generate(int value);
};