📄 utility.h
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : Utility.h// Written by : 辫己刮// Description : // 咯矾 镑俊辑 荤侩登绰 概农肺 棺 埃窜茄 窃荐甫 沥狼茄 颇老捞促.//////////////////////////////////////////////////////////////////////////////#ifndef __UTILITY_H__#define __UTILITY_H__#include "Types.h"//#include "Assert.h"//////////////////////////////////////////////////////////////////////////////// 器牢磐 瘤快扁//////////////////////////////////////////////////////////////////////////////#define SAFE_DELETE(p) { if(p != NULL) { delete p; p = NULL; } }#define SAFE_DELETE_ARRAY(p) { if(p != NULL) { delete [] p; p = NULL; } }#define SWAP(A, B, T) { T = A; A = B; B = T; }//////////////////////////////////////////////////////////////////////////////// 器牢飘 努贰胶//////////////////////////////////////////////////////////////////////////////class POINT {public: POINT(int _x=0, int _y=0) : x(_x), y(_y) {} void set(int _x, int _y) { x = _x; y = _y; } int x; int y;};//////////////////////////////////////////////////////////////////////////////// 器牢飘 努贰胶//////////////////////////////////////////////////////////////////////////////class BPOINT {public: BPOINT(BYTE _x=0, BYTE _y=0) : x(_x), y(_y) {} void set(BYTE _x, BYTE _y) { x = _x; y = _y; } BYTE x; BYTE y;};//////////////////////////////////////////////////////////////////////////////// 荤阿屈 努贰胶//////////////////////////////////////////////////////////////////////////////class VSRect{public: VSRect(int l=0, int t=0, int r=0, int b=0) { //Assert(l <= r && t <= b); left = l; top = t; right = r; bottom = b; } bool ptInRect(const POINT& pt) const { if(left <= pt.x && pt.x <= right && top <= pt.y && pt.y <= bottom) return true; return false; } bool ptInRect(const int x, const int y) const { if(left <= x && x <= right && top <= y && y <= bottom) return true; return false; } void set(int l, int t, int r, int b) { //Assert(l <= r && t <= b); left = l; top = t; right = r; bottom = b; }public: int left; int top; int right; int bottom;};//////////////////////////////////////////////////////////////////////////////// 箭磊甫 巩磊凯肺 官操扁//////////////////////////////////////////////////////////////////////////////string itos(int value);//////////////////////////////////////////////////////////////////////////////// 规氢 备窍扁//////////////////////////////////////////////////////////////////////////////Dir_t computeDirection(int originX, int originY, int destX, int destY);inline Dir_t calcDirection(int originX, int originY, int destX, int destY){ return computeDirection(originX, originY, destX, destY);}inline Dir_t getDirection(int originX, int originY, int destX, int destY){ return computeDirection(originX, originY, destX, destY);}//////////////////////////////////////////////////////////////////////////////// 罚待 箭磊 惶酒郴扁//////////////////////////////////////////////////////////////////////////////inline int Random(int Min, int Max){ if(Max == 0 || Min > Max) return 0; return ((rand() %(int)((Max) -(Min) + 1)) +(Min));}//////////////////////////////////////////////////////////////////////////////// 馆棵覆窍扁//////////////////////////////////////////////////////////////////////////////inline int Round(float f){ return f - 0.5 >(int)f ?(int)f + 1 :(int)f; }//////////////////////////////////////////////////////////////////////////////// 促捞胶 窃荐//////////////////////////////////////////////////////////////////////////////inline uint Dice(uint num, uint dice){ uint result = 0; for(uint i = 0 ; i < num ; i ++) result += rand() % dice + 1; return result;}//////////////////////////////////////////////////////////////////////////////// 变 巩磊凯俊辑 茄 扼牢 啊廉坷扁//////////////////////////////////////////////////////////////////////////////string getline(const string & str, uint & pos) throw();//////////////////////////////////////////////////////////////////////////////// 巩磊凯 菊 第狼 傍归 力芭窍扁//////////////////////////////////////////////////////////////////////////////string trim(const string & str) throw();//////////////////////////////////////////////////////////////////////////////// 泅犁 矫埃 掘绢郴扁//////////////////////////////////////////////////////////////////////////////void getCurrentTimeEx(int& year, int& month, int& day, int& hour, int& minute, int& sec) throw();string getCurrentTimeStringEx(void) throw();//////////////////////////////////////////////////////////////////////////////// 况靛 惑困官捞飘客 窍困 官捞飘肺 盒府矫虐扁//////////////////////////////////////////////////////////////////////////////inline void splitWord(WORD value, int& high, int& low) throw(){ high = value >> 8; low = value & 0xFF;}//////////////////////////////////////////////////////////////////////////////// 0栏肺 檬扁拳矫虐扁//////////////////////////////////////////////////////////////////////////////inline void zerofill(void* pointer, size_t size) throw(){ memset(pointer, 0, size);}//////////////////////////////////////////////////////////////////////////////// range 郴俊 乐绰瘤 八荤窍扁//////////////////////////////////////////////////////////////////////////////inline bool isInRange(int value, int min, int max) throw(){ if(min <= value && value <= max) return true; return false;}//////////////////////////////////////////////////////////////////////////////// 林绢柳 箭磊狼 %蔼 舅酒郴扁//////////////////////////////////////////////////////////////////////////////inline int getPercentValue(int value, int percent){ return value * percent / 100;}//////////////////////////////////////////////////////////////////////////////// 林绢柳 箭磊狼 %蔼 舅酒郴扁 - 家荐 霉犁磊府 焊沥//////////////////////////////////////////////////////////////////////////////int getPercentValueEx( int value, int percent );//////////////////////////////////////////////////////////////////////////////// 颇老俊促 肺弊 巢扁扁//////////////////////////////////////////////////////////////////////////////void filelog(const char* szFilename, const char* fmt, ...) throw();//////////////////////////////////////////////////////////////////////////////// 规氢喊 框流烙阑 困茄 付胶农//////////////////////////////////////////////////////////////////////////////const POINT dirMoveMask[] ={ POINT(-1, 0), // 0 == LEFT POINT(-1, 1), // 1 == LEFTDOWN POINT( 0, 1), // 2 == DOWN POINT( 1, 1), // 3 == RIGHTDOWN POINT( 1, 0), // 4 == RIGHT POINT( 1, -1), // 5 == RIGHTUP POINT( 0, -1), // 6 == UP POINT(-1, -1), // 7 == LEFTUP POINT( 0, 0) // 8 == DIR_MAX, NONE};//////////////////////////////////////////////////////////////////////////////// 2俺狼 WORD 甫 DWORD 肺 官层霖促. HIWORD, LOWORD//////////////////////////////////////////////////////////////////////////////DWORD makeDWORD( WORD hiWord, WORD loWord );//////////////////////////////////////////////////////////////////////////////// DWORD 狼 HIWORD, LOWORD 啊廉坷扁//////////////////////////////////////////////////////////////////////////////WORD getHIWORD( DWORD dwValue );WORD getLOWORD( DWORD dwValue );#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -