---
# System prepended metadata

title: Guard.h
tags: [Current Ver.]

---

# Guard.h
###### tags: `Current Ver.`
```
#ifndef MY_GLOBALS_H
#define MY_GLOBALS_H

// This is a declaration of your variable, which tells the linker this value
// is found elsewhere.  Anyone who wishes to use it must include global.h,
// either directly or indirectly.
extern char command_title[20]; 
extern char command_contxt[70];
extern short tothrow;

#endif

short Guard(void);

bool CmdCompare(const char* CmdToCmp); //直接比對command_title
bool StrCompare(char* context, const char* Compare); //比對字串
void SubContxt(char* subArr, char* mainArr, short begin, char target); //從指定位置開始分割字串直到指定字元
short CheckWind(char* wind); // 查看場、局風
void GameReset(void); // 重置紀錄

void HeatProcess(short);
void MuscleProcess(short, short); // 紀錄筋牌影響來源;
short MuscleHeat(short, short);

void InputMethod(void);

short GetType(short tile); // 取得花色
short GetDigit(short title); // 取得數字
short GetID(short title); // 取得同牌id
short RemoveID(short tile); // 取得牌種
bool inRange(short a, short x ,short b);
void arrClear(short *Arraytoclear, short Arraysize, short Clearvalue);

void change_output(short tile);
/**/
void Guard_AskThrow();
void Guard_Throw(short player_ID, short tile);
void Guard_Eat(short player_ID, short *tile);
void Guard_Pong(short player_ID, short *tile);
void Guard_Gong(short player_ID, short *tile, short Gtype);
/**/
void SetHand(const short *tile_arr);
void addHand(short tile);
void RemoveHand (short tile);
void DrawTimePlus(short player);
void DrawTimeZero(short tile, short player); //player = 0 for all player except self
bool TimeCheck(short *t_max, short *t_sum);
bool SumCheck(short *minsum_ptr, const short *reps);

short HeatCalculation(const short *t_max);