1. The Cards

As cartas são o elemento central de qualquer jogo de cartas. Elas são a base da maioria das interações e jogabilidade. Então nada mais justo e fundamental do que começarmos por elas.

Na nossa engine, existem 3 tipos de cartas, cada uma com suas próprias características e funções. São elas:

Card, Set Card, e Play Card.


Card

Este é o objeto carta de fato, é onde as informações da mesma estão contidas, como nome, descrição, atributos, etc.

abstract class Card {
    name: Text;
    illustration: Texture;
    effects: [Text];
    keywords: [EKeyword];
};
class MonsterCard extends Card {
    attack: integer;
    defense: integer;
};
class SpellCard extends Card {
    type: ESpellType;
    manaCost: integer;
};
enum EKeyword {
    // Activation
    Activate,
    Permanent,

    // Triggered
    OnPlay,
    OnDiscard,

    // Mechanical
    Flying,
    Trample,
};
enum ESpellType {
    Normal,
    Quick,
    Continuous,
};

Set Card


Play Card