www.pudn.com > back.rar > base.cpp


#include "base.h" 
 
 
HWND		g_hwndList, g_hwndEdit, g_hwndEditNPC,g_hwndEditAdmin, g_hwndEditLimit,g_hwndWait, g_hwndLogin, g_hwndConnect, g_hwndItemUnique, g_hwndChennel; // ¼­¹öÅëÇÕ¼öÁ¤ : ä³ÎÃß°¡  
//	ItemVector	g_ItemVector; 
CItem g_ItemArray[MAX_FIELD_ITEM]; 
int	g_Itemcount; 
SYSTEMTIME	LogTime; 
 
// 1117-LIM 
RandomItem g_RandomItem[MAX_RANDOM_ITEM]; 
 
Teleport_Info g_Teleport[MAX_TELEPORT_INDEX]; 
//Treasure_Index	g_Treasure[ MAX_TREASURE_DUNGEON ];		// 1117-LIM 
char	szError[256][64]; 
 
 
// 2004-3-11 ºÒÀÇ°Ë Äù½ºÆ® º¸»ó°ü·Ã...¿ÀǽñîÁö ÀÛ¾÷¶§¸¸ ÁÖ¼® ¿¬´Ù 
CDungeon		g_UniqueSkillArray[MAX_UNIQUE];	// 1117-LIM 
DWORD		g_dwCurTickTime = 0; 
DWORD		g_dwUserCount = 0; 
DWORD		g_dwAvgTime = 0; 
 
//---------------------------------------------------------------------------------------- 
// 
// µÎÁ¡À» ³Ñ°ÜÁÖ¸é ±× »çÀÌÀÇ °Å¸®°ªÀ» ±¸ÇÑ´Ù 
// 
//---------------------------------------------------------------------------------------- 
int Distance( int sx, int sy, int ex, int ey ) 
{ 
	int distance, delta_x, delta_y;  
	int incx, incy, xerr =0, yerr =0; // t  
 
	delta_x = ex - sx;			// xÀÇ º¯È­ °ª 
	delta_y = ey - sy;			// yÀÇ º¯È­ °ª 
 
	incx = ( delta_x > 0 ) ? 1 : ( ( delta_x == 0 ) ? 0 : -1 ) ;  
	incy = ( delta_y > 0 ) ? 1 : ( ( delta_y == 0 ) ? 0 : -1 );  
 
	delta_x = abs( delta_x );  
	delta_y = abs( delta_y );  
	distance = ( delta_x > delta_y ) ? delta_x : delta_y ;  
 
 
	/* ÃÖÀûÈ­ , ÀÌ°Ç ¹¹ÇÏ´ÂÁþ? 
	for( t = 0; t < distance; t++ )  
	{  
		xerr += delta_x;  
		yerr += delta_y;  
 
		if( xerr > distance )  
		{  
			xerr -= distance;  
			sx += incx;  
		}  
		if( yerr > distance )  
		{  
			yerr -= distance;  
			sy += incy;  
		}  
	}  
	*/ 
 
	return distance; 
} 
 
int Distance2( DWORD pos1, DWORD pos2, int nMapsize ) 
{ 
	int sx,ex,sy,ey; 
	sx = pos1 % nMapsize; 
	sy = pos1 / nMapsize; 
	ex = pos2 % nMapsize; 
	ey = pos2 / nMapsize; 
 
	int distance, delta_x, delta_y;  
	int incx, incy, xerr =0, yerr =0; // t  
 
	delta_x = ex - sx;			// xÀÇ º¯È­ °ª 
	delta_y = ey - sy;			// yÀÇ º¯È­ °ª 
 
	incx = ( delta_x > 0 ) ? 1 : ( ( delta_x == 0 ) ? 0 : -1 ) ;  
	incy = ( delta_y > 0 ) ? 1 : ( ( delta_y == 0 ) ? 0 : -1 );  
 
	delta_x = abs( delta_x );  
	delta_y = abs( delta_y );  
	distance = ( delta_x > delta_y ) ? delta_x : delta_y ;  
 
	/* ÃÖÀûÈ­ , ÀÌ°Ç ¹¹ÇÏ´ÂÁþ? 
	for( t = 0; t < distance; t++ )  
	{  
		xerr += delta_x;  
		yerr += delta_y;  
 
		if( xerr > distance )  
		{  
			xerr -= distance;  
			sx += incx;  
		}  
		if( yerr > distance )  
		{  
			yerr -= distance;  
			sy += incy;  
		}  
	}  
	*/ 
 
	return distance; 
}