finishing up my reformatting of the source from November/December following the guidelines that were posted. some extra things I added: * Any empty virtual declarations were kept to one line. * Enums were split up into separate lines to promote uniformity across all headers. ( each header file had a different style for enums)
45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
#ifndef _COUNTERS_H_
|
|
#define _COUNTERS_H_
|
|
#include <string>
|
|
|
|
using std::string;
|
|
class MTGCardInstance;
|
|
|
|
/* One family of counters. Ex : +1/+1 */
|
|
class Counter
|
|
{
|
|
public:
|
|
string name;
|
|
int nb;
|
|
int power, toughness;
|
|
MTGCardInstance * target;
|
|
Counter(MTGCardInstance * _target, int _power, int _toughness);
|
|
Counter(MTGCardInstance * _target, const char * _name, int _power = 0, int _toughness = 0);
|
|
int init(MTGCardInstance * _target, const char * _name, int _power, int _toughness);
|
|
bool sameAs(const char * _name, int _power, int _toughness);
|
|
bool cancels(int _power, int _toughness);
|
|
int added();
|
|
int removed();
|
|
};
|
|
|
|
/* Various families of counters attached to an instance of a card */
|
|
class Counters
|
|
{
|
|
public:
|
|
int mCount;
|
|
Counter * counters[10];
|
|
MTGCardInstance * target;
|
|
Counters(MTGCardInstance * _target);
|
|
~Counters();
|
|
int addCounter(const char * _name, int _power = 0, int _toughness = 0);
|
|
int addCounter(int _power, int _toughness);
|
|
int removeCounter(const char * _name, int _power = 0, int _toughness = 0);
|
|
int removeCounter(int _power, int _toughness);
|
|
Counter * hasCounter(const char * _name, int _power = 0, int _toughness = 0);
|
|
Counter * hasCounter(int _power, int _toughness);
|
|
Counter * getNext(Counter * previous = NULL);
|
|
int init();
|
|
};
|
|
|
|
#endif
|