Wie schneide ich ein Numpy-Array bis zu einer Grenze?

8

Ich verwende Numpy und Python in einem Projekt, in dem eine 2D-Karte durch ndarray :

repräsentiert wird %Vor%

Ein Objekt hat einen Tupel-Ort:

%Vor%

und ein Ansichtsbereich:

%Vor%

Wie schreibe ich die Funktion actor.view_map(map) , so dass die Karte den Bereich um den Ort des Schauspielers bis zu einem Bereich zurückgibt. Zum Beispiel (mit der obigen Karte),

%Vor%

Aber wenn der Bereich des Schauspielers zu weit reicht, möchte ich, dass die Karte mit -1 gefüllt wird:

%Vor%

Der einfachste Fall ist ein Bereich von 0, der das aktuelle Quadrat zurückgibt:

%Vor%

Wie schneide ich meine Karte bis zu einer bestimmten Grenze?

    
sdasdadas 07.04.2013, 20:50
quelle

2 Antworten

4

Also, dank Joe Kington habe ich einen Rahmen um meine Karte hinzugefügt (gefüllt mit -1s).

Hier ist, wie ich es gemacht habe, aber das mag nicht sehr Pythonic sein, da ich gerade mit der Sprache / Bibliothek angefangen habe:

%Vor%     
sdasdadas 07.04.2013, 21:28
quelle
2

Hier ist eine kleine Klasse Box , um die Verwendung von Boxen zu vereinfachen -

%Vor%     
denis 08.04.2013 11:34
quelle

Tags und Links