GGELUA/gastar/Astart.cpp

219 lines
4.7 KiB
C++
Raw Normal View History

2021-02-11 12:20:44 +08:00
#include "Astart.h"
#include <><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.h"
DWORD <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(
POINT <EFBFBD><EFBFBD><EFBFBD><EFBFBD>1,
POINT <EFBFBD><EFBFBD><EFBFBD><EFBFBD>2)
{
DWORD x,y;
x = (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.x><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2.x) ? <EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.x-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2.x:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2.x-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.x;
y = (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.y><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2.y) ? <EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.y-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2.y:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2.y-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.y;
return (x+y)*10;
}
<EFBFBD><EFBFBD>ͼ<EFBFBD>* WINAPI MapCreate(
DWORD <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
DWORD <EFBFBD>߶<EFBFBD>,
BYTE* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
{
<EFBFBD><EFBFBD>ͼ<EFBFBD>* <EFBFBD><EFBFBD>ͼ = (<EFBFBD><EFBFBD>ͼ<EFBFBD>*)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>(sizeof(<EFBFBD><EFBFBD>ͼ<EFBFBD>));
if (!<EFBFBD><EFBFBD>ͼ)
return NULL;
<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
<EFBFBD><EFBFBD>ͼ-><EFBFBD>߶<EFBFBD> = <EFBFBD>߶<EFBFBD>;
<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD>С = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<EFBFBD>߶<EFBFBD>;
if (!(<EFBFBD><EFBFBD>ͼ-><EFBFBD>ڵ<EFBFBD> = (<EFBFBD>ڵ<EFBFBD><EFBFBD>*)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>(<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD>С*sizeof(<EFBFBD>ڵ<EFBFBD><EFBFBD>))))
{
<EFBFBD>ͷ<EFBFBD><EFBFBD>ڴ<EFBFBD>(<EFBFBD><EFBFBD>ͼ);
<EFBFBD><EFBFBD>ͼ = NULL;
}
return <EFBFBD><EFBFBD>ͼ;
}
VOID WINAPI MapDestroy(
<EFBFBD><EFBFBD>ͼ<EFBFBD>* <EFBFBD><EFBFBD>ͼ)
{
<EFBFBD>ͷ<EFBFBD><EFBFBD>ڴ<EFBFBD>(<EFBFBD><EFBFBD>ͼ-><EFBFBD>ڵ<EFBFBD>);
<EFBFBD>ͷ<EFBFBD><EFBFBD>ڴ<EFBFBD>(<EFBFBD><EFBFBD>ͼ);
}
<EFBFBD><EFBFBD>ͼ<EFBFBD>* WINAPI MapCreate2(
<EFBFBD><EFBFBD>ͼ<EFBFBD>* <EFBFBD><EFBFBD>ͼ,
DWORD <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
DWORD <EFBFBD>߶<EFBFBD>,
BYTE* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
{
<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
<EFBFBD><EFBFBD>ͼ-><EFBFBD>߶<EFBFBD> = <EFBFBD>߶<EFBFBD>;
<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD>С = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<EFBFBD>߶<EFBFBD>;
if (!(<EFBFBD><EFBFBD>ͼ-><EFBFBD>ڵ<EFBFBD> = (<EFBFBD>ڵ<EFBFBD><EFBFBD>*)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>(<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD>С*sizeof(<EFBFBD>ڵ<EFBFBD><EFBFBD>))))
return NULL;
return <EFBFBD><EFBFBD>ͼ;
}
VOID WINAPI MapDestroy2(
<EFBFBD><EFBFBD>ͼ<EFBFBD>* <EFBFBD><EFBFBD>ͼ)
{
<EFBFBD>ͷ<EFBFBD><EFBFBD>ڴ<EFBFBD>(<EFBFBD><EFBFBD>ͼ-><EFBFBD>ڵ<EFBFBD>);
}
BOOL WINAPI FindPath(
<EFBFBD><EFBFBD>ͼ<EFBFBD>* <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
POINT* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
POINT* <EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
BOOL <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ)
{
/* <20>յ㿪ʼ<E3BFAA><CABC><EFBFBD><EFBFBD> */
POINT <EFBFBD><EFBFBD><EFBFBD><EFBFBD> = *<EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
POINT <EFBFBD>յ<EFBFBD> = *<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
BYTE* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
DWORD <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
DWORD <EFBFBD><EFBFBD>ͼ<EFBFBD>߶<EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><EFBFBD>߶<EFBFBD>;
DWORD <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>С = <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><EFBFBD><EFBFBD>С;
˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>С);
BOOLEAN <EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD> = FALSE;
static int x[] = {-1,-1,0,1,1,1,0,-1};
static int y[] = {0,-1,-1,-1,0,1,1,1};
<EFBFBD>ڵ<EFBFBD><EFBFBD>* <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><EFBFBD>ڵ<EFBFBD>;
<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>,<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>С*sizeof(<EFBFBD>ڵ<EFBFBD><EFBFBD>));
DWORD <EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.y+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.x;
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>>=<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>С)
return FALSE;
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].״̬ = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD> = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>յ<EFBFBD>);
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>;
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>((LPVOID)<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD>);
while (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.ȡ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>() != 0 && <EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD> == FALSE)
{
/* <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1> F(<28>ܾ<EFBFBD><DCBE><EFBFBD>) <20><>С<EFBFBD>Ľڵ<C4BD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡΪ<D1A1><CEAA>ǰ<EFBFBD><C7B0> */
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD>β<EFBFBD>ڵ<EFBFBD>();
DWORD <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = (DWORD)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.ȡ<EFBFBD>ڵ<EFBFBD>ֵ();
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.ɾ<EFBFBD><EFBFBD>();
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].״̬ = <EFBFBD>ر<EFBFBD>;
POINT <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> =
{
<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>İ˸<C4B0><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
for (int i=0;i<8;i++)
{
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ && i%2)
continue;
POINT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =
{
<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.x + x[i],
<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.y + y[i]
};
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7> */
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.x<0 || (DWORD)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.x>=<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|| <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.y<0 || (DWORD)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.y>=<EFBFBD><EFBFBD>ͼ<EFBFBD>߶<EFBFBD>)
continue;
DWORD <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.y+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.x;
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> ||<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+1>=<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>С||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>>=<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>С||<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<0||<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><0)
continue;
switch (i)
{
case 1:
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+1] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> || <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>)
continue;
case 3:
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> || <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>)
continue;
case 5:
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> || <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>)
continue;
case 7:
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+1] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> || <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] != <EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>)
continue;
}
/* <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ѵ<EFBFBD><D1B5><EFBFBD><EFBFBD>յ<EFBFBD> */
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.x == <EFBFBD>յ<EFBFBD>.x && <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.y == <EFBFBD>յ<EFBFBD>.y)
{
<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD> = TRUE;
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
break;
}
DWORD g = ((i%2) ? 14:10) + abs(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]);
if (<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].״̬ == δ֪)
{
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].״̬ = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + g;
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD> = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>յ<EFBFBD>);
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>;
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
DWORD <EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD>;
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.ȡ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>() == 0 )
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>((LPVOID)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD>);
else
{
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD>β<EFBFBD>ڵ<EFBFBD>();
while (TRUE)
{
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.ȡ<EFBFBD><EFBFBD>ֵ()>=<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD>)
{
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>((LPVOID)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD>);
break;
}
if (!<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>())
{
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>((LPVOID)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD>,˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>::<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>);
break;
}
}
}
}
else if (<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].״̬ == <EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
{
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA> G(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) ֵ<>Ƿ<EFBFBD><C7B7><EFBFBD>С */
if (<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> > <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + g)
{
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + g;
<EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <EFBFBD><EFBFBD>ͼ<EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>;
}
}
}
}
return <EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>;
}
BOOL WINAPI NextPath(
<EFBFBD><EFBFBD>ͼ<EFBFBD>* <EFBFBD><EFBFBD>ͼ,
POINT* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
{
DWORD <EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD><EFBFBD><EFBFBD>->y*<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>->x;
if (<EFBFBD><EFBFBD><EFBFBD><EFBFBD>>=0 && <EFBFBD><EFBFBD><EFBFBD><EFBFBD><<EFBFBD><EFBFBD>ͼ-><EFBFBD><EFBFBD>С)
{
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <EFBFBD><EFBFBD>ͼ-><EFBFBD>ڵ<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>].<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
return TRUE;
}
return FALSE;
}