#ifndef _HF_SPECIAL_CASES_
#define _HF_SPECIAL_CASES_

typedef struct SpecialCase SpecialCase;
typedef enum SpecialCaseType {
  SPECIAL_CASE_NONE,
  SPECIAL_CASE_ALL_EIGHTS,
  SPECIAL_CASE_DOUBLE_EIGHTS,
  SPECIAL_CASE_SIXTEEN_CHAFF,
} SpecialCaseType;

typedef enum SpecialCaseTarget {
  SPECIAL_CASE_TARGET_NONE,
  SPECIAL_CASE_TARGET_DEALER,
  SPECIAL_CASE_TARGET_PLAYER,
  SPECIAL_CASE_TARGET_RIGHT,
  SPECIAL_CASE_TARGET_LEFT,
} SpecialCaseTarget;

#include "game.h"

struct SpecialCase {
  SpecialCaseType type;
  SpecialCaseTarget target;
  int score;
};

SpecialCase calculate_special_case(Game *g);

#endif