This commit is contained in:
aixianling
2025-01-09 17:45:40 +08:00
commit 5c9f1dae4a
3482 changed files with 1146531 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
#include "stdafx.h"
int CUtility::GetDir(int nSourceX, int nSourceY, int nTargetX, int nTargetY)
{
int nDir = DIR_UP;
int nSelfPosx = nTargetX - nSourceX;
int nSelfPosy = nTargetY - nSourceY;
if(nSelfPosx >0)
{
if( nSelfPosy >0 )
{
nDir =DIR_DOWN_RIGHT ;
}
else if(nSelfPosy ==0)
{
nDir = DIR_RIGHT;
}
else
{
nDir =DIR_UP_RIGHT ;
}
}
else if(nSelfPosx ==0)
{
if( nSelfPosy >0 )
{
nDir =DIR_DOWN ;
}
else if(nSelfPosy ==0)
{
nDir = DIR_STOP;
}
else
{
nDir =DIR_UP ;
}
}
else
{
if( nSelfPosy >0 )
{
nDir = DIR_DOWN_LEFT ;
}
else if(nSelfPosy ==0)
{
nDir = DIR_LEFT;
}
else
{
nDir = DIR_UP_LEFT;
}
}
return nDir;
}

View File

@@ -0,0 +1,67 @@
#pragma once
#include "CommonDef.h"
class CUtility
{
public:
template<size_t size>
static void CopyCharArrayS(TCHAR (&szDestArray)[size], const TCHAR* srcData)
{
size_t nMaxLen = __min(size-1, _tcslen(srcData));
CopyMemory(szDestArray, srcData, nMaxLen * sizeof(TCHAR));
szDestArray[nMaxLen] = _T('\0');
}
template<size_t size>
static void GetDateTimeDesc(TCHAR (&szDestArray)[size], LPCTSTR szFormat = "%Y-%m-%d %H:%M:%S")
{
time_t szClock;
time(&szClock);
struct tm *curTime = localtime(&szClock);
_tcsftime(szDestArray, size-1, szFormat, curTime);
szDestArray[size-1] = _T('\0');
}
// 根据当前位置以及移动步长、方向,计算下个位置坐标
static void NewPosition(INT_PTR& nX,INT_PTR& nY,INT_PTR nDir,INT_PTR nSpeed)
{
switch(nDir)
{
case DIR_UP:
nY = nY - nSpeed;
break;
case DIR_UP_LEFT:
nY = nY - nSpeed;
nX = nX - nSpeed;
break;
case DIR_UP_RIGHT:
nY = nY - nSpeed;
nX = nX + nSpeed;
break;
case DIR_DOWN:
nY = nY + nSpeed;
break;
case DIR_DOWN_LEFT:
nY = nY + nSpeed;
nX = nX - nSpeed;
break;
case DIR_DOWN_RIGHT:
nY = nY + nSpeed;
nX = nX + nSpeed;
break;
case DIR_RIGHT:
nX = nX + nSpeed;
break;
case DIR_LEFT:
nX = nX - nSpeed;
break;
default:
break;
}
}
//获取方向
static int GetDir(int nSourceX, int nSourceY, int nTargetX, int nTargetY);
};