Pattern Cards+implementation+keys and classes

 A Pattern Class is a certain kind of pattern.  eg. 

  • cards of a certain type  
  • cards with a certain name
  • card plus a certain name
  • plus cards with a certain combination of types. 
  • etc.

A Pattern Key is a string that is an intermediary index between patterns and cards.  Within a pattern class, each key corresponds 1-1 with a pattern, and each card corresponds 1-1 with a key.

 

note: we need assure that no two pattern classes could generate the same key. 

 

challenge: It would be (much) better not to have to know about pattern classes as a hook author or Pattern Card Wagneer.  Thus we face the challenge of taking a pattern definition syntax (which could be a subset of WQL) and figuring out which pattern class it belongs to-  or if none, to declare the pattern invalid.

 

pseudo code:

 

class TypePattern < PatternClass

  def key_for(card)

    "Type:#{card.type}"

  end

end