TableauColumn.h 613 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "utils/Card.h"
  3. #include "utils/List.h"
  4. class TableauColumn {
  5. List<Card> *cards;
  6. public:
  7. TableauColumn();
  8. ~TableauColumn();
  9. void Reset();
  10. void AddCard(Card *c);
  11. void Clear();
  12. void AddRange(List<Card> *hand);
  13. void Merge(TableauColumn *other);
  14. void Render(uint8_t x, uint8_t y, bool selected, uint8_t selection, RenderBuffer *buffer);
  15. Card* TopCard();
  16. Card* LastCard();
  17. int8_t FirstNonFlipped();
  18. uint8_t Count();
  19. Card* Pop();
  20. void Reveal();
  21. bool CanPlace(TableauColumn *other);
  22. List<Card> *splice(uint32_t selection);
  23. };