2016-06-23 4 views

Antwort

0

Ohne Blick auf den Code, ist meine Interpretation, dass die 8 Richtungen durch

x  y 
-1 -1  left down 
-1 0  left 
-1 1  left up 
0 -1  down 
etc. 

gegeben werden und das ist, was in diesen beiden Arrays codiert wird. Nun, wenn Sie zwei Koordinaten:

int xx,yy; 

können Sie alle benachbarten Koordinaten in einer Schleife erhalten:

for (int i=0;i<8;i++) { 
    nx = xx + x[i]; 
    ny = yy + y[i]; 
} 
0

Würde waaaaay leichter zu lesen hatte dies als Paare beschrieben: {{-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 1}, {1, -1}, {1, 0}, {1, 1}}. Das fügen Sie den Koordinaten hinzu. Erste ist x, zweite ist y. Die acht Richtungen sind NW, N, NE, W, E, SW, S, SE, diese sind als diff aufgelistet. von Koordinaten.

0

So gibt es 8 Richtungen, in denen Sie die umliegenden Buchstaben in der Matrix überprüfen können. Stell dir vor:

NW - N - NE 
| | | 
W -curr-E 
| | | 
SW S SE 

Das sind die 8 Richtungen (Nordwesten, nach unten nach Südosten), sorry für die hässliche Zeichnung. Aber die Zahlen, die in x [] und y [] verwendet werden, erlauben es Ihnen einfach, um 1 nach oben, um 1 nach unten zu navigieren oder für die x- und y-Koordinate in der Matrix gleich zu bleiben.