Actor

class gamegridp.actor.Actor(grid, location: tuple = (0, 0), color: tuple = (0, 0, 255), title: str = 'Actor', img_path: str = None, size: tuple = (40, 40), img_action: str = None)[Quellcode]
Ein Actor ist eine Spielfigur oder ein Objekt in der Welt,
z.B. ein Auto, eine Wand, ein Untergrund.
grid

Grid – Das Spielfeld in dem der Actor sich befindet.

color

(r,g,b) – Die Farbe des Actors (falls dieser über k ein Hintergrundbild verfügt.

title

str – Der Name des Actors

size

(x,y): – Die größe des Actors in Pixeln (x und y)

direction

int – Die Richtung als int-Wert zwischen 0° und 360° 0° bezeichnet dabei einen Blick nach rechts und der Winkel verläuft gegen den Uhrzeigersinn.

is_blocking

bool – Legt fest, ob der Akteur das Feld für andere Akteure blockiert. Wenn die Variable wahr ist, ist es nicht möglich sich über das Feld des Akteurs zu bewegen.

image_rect

Rect – Das Rechteck (Rectangle), welches das Objekt umschließt.

is_rotatable

bool – Wahr, wenn sich das Bild mit der Richtung mitdrehen soll.

class_name

Der Typ des Akteurs - entspricht dem Klassennamen.

actor_id

Jeder Akteur hat eine eindeutige ID.

Methoden
--------
act()[Quellcode]

Überschreibe diese Methode in deinen eigenen Actor-Klassen

add_collision_partner(partner)[Quellcode]

Veraltet ab Version 0.4.0: add_collision_partner wird in GameGrid 0.6 ersetzt werden.

add_image(img_path: str, img_action: str = None, size=None)[Quellcode]

Ergänzt ein einzelnes Bild zu einem Actor. Auf diese Weise können mehrere Bilder hinzugefügt werden. Die Animation kann dann mit animate() gestartet werdeb

Parameter:
  • img_path – Der Pfad des Bildes relativ zum eigenen Dateipfad.
  • img_action – Die Aktion die durchgeführt werden soll: scale, crop, do_nothing
  • size – scale/crop : Die Größe des veränderten Bildes as 2-Tupel
animate()[Quellcode]

Startet eine Animation.

bounding_box_is_in_grid(target: tuple = None) → bool[Quellcode]

Überprüft, ob die Bounding-Box eines Akteurs (komplett) im Grid ist.

Rückgabe:True oder False
delete_images()[Quellcode]

Löscht alle Bilder eines Akteurs. Dies kann z.B. sinnvoll sein, wenn eine neue Animation festgelegt werden soll und dafür die alte Animation zuvor gelöscht werden muss.

direction

int – Legt die Richtung fest, in die der Akteur „schaut“ 0° bezeichnet dabei nach Osten, andere Winkel werden gegen den Uhrzeigersinn angegeben. Die Direction kann alternativ auch als String („left“, „right“, „top“, „bottom“ festgelegt werden.

draw()[Quellcode]

Zeichnet den Akteur auf das Spielfeld.

flip_x()[Quellcode]

Spiegelt das Bild des Akteurs über die y-Achse. Der Akteur selbst wird dabei um 180° gedreht.

get_actor_at_location(class_name, location=None) → list[Quellcode]

Gibt einen Akteur an der Position zurück.

Parameter:
  • class_name – Der Klassenname nachdem gesucht werden soll als String (z.B. alle Akteure vom Typ „Wall“).
  • location – Optional kann eine andere Zellen-Koordinate als Tupel (x,y) angegeben werden.
Rückgabe:

Der erste Akteur vom angegegebenen Typ.

get_actor_in_front(class_name, distance=1) → list[Quellcode]

Gibt einen Akteur in x-Feldern Entfernung vor dem aktuellen Akteur zurück. (Alternativ kann auch eine beliebige Position abgefragt werden).

Parameter:
  • class_name – Der Klassenname nachdem gesucht werden soll als String (z.B. alle Akteure vom Typ „Wall“).
  • distance – Anzahl an Feldern, die nach vorne geschaut werden soll.
Rückgabe:

Eine Liste aller Akteure vom angegebenen Typ

get_all_actors_at_location(class_name, location=None) → list[Quellcode]

Gibt alle Akteure einer bestimmten Klasse an der selben Position wie der aktuelle Akteur zurück (Alternativ kann auch eine beliebige Position abgefragt werden).

Parameter:
  • class_name – Der Klassenname nachdem gesucht werden soll als String (z.B. alle Akteure vom Typ „Wall“).
  • location – Optional kann eine andere Zellen-Koordinate als Tupel (x,y) angegeben werden.
Rückgabe:

Eine Liste aller Akteure vom angegebenen Typ

get_location() → tuple[Quellcode]

Gibt die aktuelle Position des Akteurs zurück

Rückgabe:the location as tuple
get_neighbour_cells() → list[Quellcode]

Gibt alle 8 umgebenen Zellen zurück.

Rückgabe:Alle Nachbarzellen als Liste.
get_x()[Quellcode]

Gibt die x-Koordinate des Akteuers zurück.

Parameter:x – Gibt die x-Koordinate des Akteurs zurück.
get_y()[Quellcode]

Gibt die y-Koordinate des Akteuers zurück.

Parameter:y – Gibt die y-Koordinate des Akteurs zurück
has_image

Checks if actor has an image :return: true if actor has an image, else false

image

Gets the actual image of the actor.

image_rect

return – The surrounding Rectangle used for redrawing and image manipulation

is_at_border() → str[Quellcode]

Überprüft, ob der Akteur an der Grenze zum Rand ist.

Rückgabe:Die zugehörige Grenze als String („left“, „right“, „top“ oder „bottom“)
is_at_bottom_border() → bool[Quellcode]

Überprüft, ob der Akteur an der Grenze zum unteren Rand ist.

Rückgabe:True oder False
is_at_left_border() → bool[Quellcode]

Überprüft, ob der Akteur an der Grenze zum linken Rand ist.

Rückgabe:True oder False
is_at_right_border() → bool[Quellcode]

Überprüft, ob der Akteur an der Grenze zum rechten Rand ist.

Rückgabe:True oder False
is_at_top_border() → bool[Quellcode]

Überprüft, ob der Akteur an der Grenze zum oberen Rand ist.

Rückgabe:True oder False
is_blocking

bool – Legt fest, ob der Akteur das Feld „blockt“, d.h. für andere Akteure unpassierbar macht.

is_in_grid(target: tuple = None) → bool[Quellcode]

Überprüft ob ein Akteur (bzw. eine gegebene Zellen-Koordinate im Grid ist.

:param target Überprüft eine beliebige Zellen-Koordinate, ob diese in Grid liegt (Falls kein Ziel angegeben ist, wird die Zellen-Koordinate des Akteurs selbst verwendet)

is_rotatable

return true if actor-image is rotatable, else false

is_valid_move(move_func=None, distance=1)[Quellcode]

Überprüft, ob ein Zug legal ist.

Parameter:
  • move_func – Eine move-Funktion, z.B. move, move_back, move_left,…
  • distance – Die Anzahl an Schritten, die der move-Funktion als Parameter übergeben werden sollen.
Rückgabe:

True falls Zug legal ist, ansonsten False.

is_valid_target(target: tuple = None)[Quellcode]

Gibt zurück, ob die angegebene Position einen legalen Zug erlaubt.

Parameter:target – Das zu überprüfende Ziel als (x,y)-Tupel Wenn kein Ziel angegeben wird, schaut der Akteur ein Feld nach vorne.

:return True, falls Zug legal ist, ansonsten False

listen(key, data)[Quellcode]

Diese Methode sollte in deiner Kind-Klasse überschrieben werden.

location

returns the location of object

look_back(distance: int = 1) → tuple[Quellcode]

Schaut distance Felder nach hinten und gibt die zugehörige Koordinate zurück.

:param distance : Anzahl an Felder die voraus geschaut wird.

:return location : Zellenkoordinate als Tuple (x,y)

look_down(distance: int = 1) → tuple[Quellcode]

Schaut distance Felder nach unten und gibt die zugehörige Koordinate zurück.

:param distance : Anzahl an Felder die voraus geschaut wird.

:return location : Zellenkoordinate als Tuple (x,y)

look_forward(distance: int = 1) → tuple[Quellcode]

Schaut distance Felder nach vorne und gibt die zugehörige Koordinate zurück.

:param distance : Anzahl an Felder die voraus geschaut wird.

:return location : Zellenkoordinate als Tuple (x,y)

look_left(distance: int = 1) → tuple[Quellcode]

Schaut distance Felder nach links und gibt die zugehörige Koordinate zurück.

:param distance : Anzahl an Felder die voraus geschaut wird.

:return location : Zellenkoordinate als Tuple (x,y)

look_right(distance: int = 1) → tuple[Quellcode]

Schaut distance Felder nach rechts und gibt die zugehörige Koordinate zurück.

:param distance : Anzahl an Felder die voraus geschaut wird.

:return location : Zellenkoordinate als Tuple (x,y)

look_up(distance: int = 1) → tuple[Quellcode]

Schaut distance Felder nach oben und gibt die zugehörige Koordinate zurück.

:param distance : Anzahl an Felder die voraus geschaut wird.

:return location : Zellenkoordinate als Tuple (x,y)

move(distance: int = 1, move: bool = True)[Quellcode]

Bewegt den Akteur distance Schritte vorwärts. Wenn der Zug nicht valide ist, wird er nicht durchgeführt.

Parameter:
  • distance – Die Anzahl an Schritten die der Akteur vorgehen soll
  • move – Wenn der Parameter False ist, wird nur überprüft, ob der Zug legal ist.
Rückgabe:

Ist der Zug ein valider Zug? True/False

move_back(distance: int = 1, move: bool = True)[Quellcode]

Bewegt den Akteur distance Schritte rückwärts. Wenn der Zug nicht valide ist, wird er nicht durchgeführt.

Parameter:
  • distance – Die Anzahl an Schritten die der Akteur vorgehen soll
  • move – Wenn der Parameter False ist, wird nur überprüft, ob der Zug legal ist.
Rückgabe:

Ist der Zug ein valider Zug? True/False

move_down(distance=1, move: bool = True)[Quellcode]

Bewegt den Akteur distance Schritte nach unten. Wenn der Zug nicht valide ist, wird er nicht durchgeführt.

Parameter:
  • distance – Die Anzahl an Schritten die der Akteur vorgehen soll
  • move – Wenn der Parameter False ist, wird nur überprüft, ob der Zug legal ist.
Rückgabe:

Ist der Zug ein valider Zug? True/False

move_left(distance=1, move: bool = True)[Quellcode]

Bewegt den Akteur distance Schritte nach links. Wenn der Zug nicht valide ist, wird er nicht durchgeführt.

Parameter:
  • distance – Die Anzahl an Schritten die der Akteur vorgehen soll
  • move – Wenn der Parameter False ist, wird nur überprüft, ob der Zug legal ist.
Rückgabe:

Ist der Zug ein valider Zug? True/False

move_right(distance=1, move: bool = True)[Quellcode]

Bewegt den Akteur distance Schritte nach rechts. Wenn der Zug nicht valide ist, wird er nicht durchgeführt.

Parameter:
  • distance – Die Anzahl an Schritten die der Akteur vorgehen soll
  • move – Wenn der Parameter False ist, wird nur überprüft, ob der Zug legal ist.
Rückgabe:

Ist der Zug ein valider Zug? True/False

move_to(target: tuple, move: bool = True)[Quellcode]

Bewegt den Akteur an die angegebene Position. Wenn der Zug nicht valide ist wird er nicht durchgeführt.

Parameter:
  • target – Die Ziel Zellenkoordinaten
  • move – Wenn der Parameter False ist, wird nur überprüft, ob der Zug legal ist.
Rückgabe:

Ist der Zug ein valider Zug? True/False

move_up(distance=1, move: bool = True)[Quellcode]

Bewegt den Akteur distance Schritte nach oben. Wenn der Zug nicht valide ist, wird er nicht durchgeführt.

Parameter:
  • distance – Die Anzahl an Schritten die der Akteur vorgehen soll
  • move – Wenn der Parameter False ist, wird nur überprüft, ob der Zug legal ist.
Rückgabe:

Ist der Zug ein valider Zug? True/False

rect

Gibt die umgebene Bounding-Box um den Akteur zurück.

Rückgabe:Die umgebende Bounding-Box.
remove()[Quellcode]

Entfernt den Akteur vom Grid.

set_bounding_box_size(value)[Quellcode]

Legt die Größe der umgebenen Bounding-Box fest.

Parameter:value – Eine Größe (width, height) als Tupel.
set_image(img_path: str, img_action: str = None, size=None)[Quellcode]

Fügt ein einzelnes Bild zu einem Actor hinzu.

Parameter:
  • img_path – Der Pfad des Bildes relativ zum eigenen Dateipfad.
  • img_action – Die Aktion die durchgeführt werden soll: scale, crop, do_nothing
  • size – scale/crop : Die Größe des veränderten Bildes as 2-Tupel
set_rotatable()[Quellcode]

DEPRECATED / VERALTET Achtung: Verwende stattdessen das Attribut: is_rotatable

set_x(x)[Quellcode]

Setzt die x-Koordinate der Akteurs. :param x: Die x-Koordinate die gesetzt werden soll.

set_y(y)[Quellcode]

Setzt die y-Koordinate der Akteurs. :param y: Die y-Koordinate die gesetzt werden soll.

setup()[Quellcode]

Sollte in deiner Kind-Klasse überschrieben werden.

stop()[Quellcode]

Stopt die Animation eines Akteurs.

turn_left(degrees: int = 90)[Quellcode]

Dreht den Akteur um degrees Grad nach links.

Parameter:degrees – Die Gradzahl um die der Akteur gedreht wird.
Rückgabe:Die neue Richtung in Grad.
turn_right(degrees: int = 90)[Quellcode]

Dreht den Akteur um degrees Grad nach links.

Parameter:degrees – Die Gradzahl um die der Akteur gedreht wird.
Rückgabe:Die neue Richtung in Grad.