bot_api.graphics package

Submodules

bot_api.graphics.color module

class Color(_value: int)[source]

Bases: object

Represents an RGBA (red, green, blue, alpha) color used in the Tank Royale game.

This graphics Color implementation contains: - Internal 32-bit RGBA value - Factory methods from_rgb(), from_rgba(r,g,b,a), and from_rgba_value(rgba) - Read-only channel properties: red, green, blue, alpha (mapped to R,G,B,A) - to_rgba() for round-trip, to_hex_color() for hex string - Equality/hash based on RGBA value - Many predefined common colors

Note: For compatibility with existing Python code, to_color_schema() is preserved and uses lowercase hex values as before.

classmethod from_rgba_value(rgba: int) Color[source]

Creates a color from a 32-bit RGBA value.

Parameters:

rgba – A 32-bit value specifying the RGBA components.

Returns:

A new Color initialized with the specified RGBA value.

classmethod from_rgba(r: int, g: int, b: int, a: int) Color[source]

Creates a color from the specified red, green, blue, and alpha values.

Parameters:
  • r – The red component value (0-255).

  • g – The green component value (0-255).

  • b – The blue component value (0-255).

  • a – The alpha component value (0-255).

Returns:

A new Color initialized with the specified RGBA values.

classmethod from_rgb(r: int, g: int, b: int) Color[source]

Creates a color from the specified red, green, and blue values with alpha 255 (fully opaque).

Parameters:
  • r – The red component value (0-255).

  • g – The green component value (0-255).

  • b – The blue component value (0-255).

Returns:

A new Color initialized with the specified RGB values and an alpha value of 255.

classmethod from_color_with_alpha(base_color: Color, a: int) Color[source]

Creates a color from the specified base color with a new alpha value.

Parameters:
  • base_color – The Color from which to derive the RGB values.

  • a – The alpha component value (0-255).

Returns:

A new Color with the RGB values from the base color and the specified alpha value.

classmethod from_hex_color(hex_color: str | None) Color | None[source]

Creates a color from a hex color string (#RGB, #RRGGBB, or #RRGGBBAA).

This method works the same as from_hex() except that it requires a hash sign before the hex value. An example of a numeric RGB value is “#09C” or “#0099CC”, which both represent the same color.

Parameters:

hex_color – A string containing a hex color like “#09C”, “#0099CC”, or “#0099CCFF”.

Returns:

A new Color; None if the input is None.

Raises:

ValueError – If the string is not in valid numeric RGB format.

classmethod from_hex(hex_triplet: str) Color[source]

Creates a color from a hex triplet (RGB, RRGGBB, or RRGGBBAA without hash).

A hex triplet is either three, six, or eight hexadecimal digits that represent an RGB or RGBA color. An example of a hex triplet is “09C” or “0099CC”, which both represent the same color.

Parameters:

hex_triplet – A string containing hex digits like “09C”, “0099CC”, or “0099CCFF”.

Returns:

A new Color.

Raises:

ValueError – If the string is not valid hex digits (3, 6, or 8 characters).

property red: int

Gets the red component value of this color.

Returns:

The red component value between 0 and 255.

property green: int

Gets the green component value of this color.

Returns:

The green component value between 0 and 255.

property blue: int

Gets the blue component value of this color.

Returns:

The blue component value between 0 and 255.

property alpha: int

Gets the alpha component value of this color.

Returns:

The alpha component value between 0 and 255.

property r: int
property g: int
property b: int
property a: int
to_rgba() int[source]

Converts this Color to a 32-bit RGBA value.

Returns:

A 32-bit integer containing the RGBA representation of this color.

to_hex_color() str[source]

Converts the color to its hexadecimal representation.

Returns:

  • If alpha is 255 (fully opaque), returns “#RRGGBB”.

  • If alpha is not 255, returns “#RRGGBBAA”.

Return type:

A string representing the color in hexadecimal format

to_color_schema() Color[source]

Converts this color to the schema Color representation used by the API.

Note

The returned hex string uses lowercase letters for compatibility with the Python schema representation.

Returns:

A Color schema object with the hex value set.

ALICE_BLUE = Color(_value=4042850303)
ANTIQUE_WHITE = Color(_value=4209760255)
AQUA = Color(_value=16777215)
AQUAMARINE = Color(_value=2147472639)
AZURE = Color(_value=4043309055)
BEIGE = Color(_value=4126530815)
BISQUE = Color(_value=4293182719)
BLACK = Color(_value=255)
BLANCHED_ALMOND = Color(_value=4293643775)
BLUE = Color(_value=65535)
BLUE_VIOLET = Color(_value=2318131967)
BROWN = Color(_value=2771004159)
BURLY_WOOD = Color(_value=3736635391)
CADET_BLUE = Color(_value=1604231423)
CHARTREUSE = Color(_value=2147418367)
CHOCOLATE = Color(_value=3530104575)
CORAL = Color(_value=4286533887)
CORNFLOWER_BLUE = Color(_value=1687547391)
CORNSILK = Color(_value=4294499583)
CRIMSON = Color(_value=3692313855)
CYAN = Color(_value=16777215)
DARK_BLUE = Color(_value=35839)
DARK_CYAN = Color(_value=9145343)
DARK_GOLDENROD = Color(_value=3095792639)
DARK_GRAY = Color(_value=2846468607)
DARK_GREEN = Color(_value=6553855)
DARK_KHAKI = Color(_value=3182914559)
DARK_MAGENTA = Color(_value=2332068863)
DARK_OLIVE_GREEN = Color(_value=1433087999)
DARK_ORANGE = Color(_value=4287365375)
DARK_ORCHID = Color(_value=2570243327)
DARK_RED = Color(_value=2332033279)
DARK_SALMON = Color(_value=3918953215)
DARK_SEA_GREEN = Color(_value=2411498495)
DARK_SLATE_BLUE = Color(_value=1211993087)
DARK_SLATE_GRAY = Color(_value=793726975)
DARK_TURQUOISE = Color(_value=13554175)
DARK_VIOLET = Color(_value=2483082239)
DEEP_PINK = Color(_value=4279538687)
DEEP_SKY_BLUE = Color(_value=12582911)
DIM_GRAY = Color(_value=1768516095)
DODGER_BLUE = Color(_value=512819199)
FIREBRICK = Color(_value=2988581631)
FLORAL_WHITE = Color(_value=4294635775)
FOREST_GREEN = Color(_value=579543807)
FUCHSIA = Color(_value=4278255615)
GAINSBORO = Color(_value=3705462015)
GHOST_WHITE = Color(_value=4177068031)
GOLD = Color(_value=4292280575)
GOLDENROD = Color(_value=3668254975)
GRAY = Color(_value=2155905279)
GREEN = Color(_value=8388863)
GREEN_YELLOW = Color(_value=2919182335)
HONEYDEW = Color(_value=4043305215)
HOT_PINK = Color(_value=4285117695)
INDIAN_RED = Color(_value=3445382399)
INDIGO = Color(_value=1258324735)
IVORY = Color(_value=4294963455)
KHAKI = Color(_value=4041641215)
LAVENDER = Color(_value=3873897215)
LAVENDER_BLUSH = Color(_value=4293981695)
LAWN_GREEN = Color(_value=2096890111)
LEMON_CHIFFON = Color(_value=4294626815)
LIGHT_BLUE = Color(_value=2916673279)
LIGHT_CORAL = Color(_value=4034953471)
LIGHT_CYAN = Color(_value=3774873599)
LIGHT_GOLDENROD_YELLOW = Color(_value=4210742015)
LIGHT_GRAY = Color(_value=3553874943)
LIGHT_GREEN = Color(_value=2431553791)
LIGHT_PINK = Color(_value=4290167295)
LIGHT_SALMON = Color(_value=4288707327)
LIGHT_SEA_GREEN = Color(_value=548580095)
LIGHT_SKY_BLUE = Color(_value=2278488831)
LIGHT_SLATE_GRAY = Color(_value=2005441023)
LIGHT_STEEL_BLUE = Color(_value=2965692159)
LIGHT_YELLOW = Color(_value=4294959359)
LIME = Color(_value=16711935)
LIME_GREEN = Color(_value=852308735)
LINEN = Color(_value=4210091775)
MAGENTA = Color(_value=4278255615)
MAROON = Color(_value=2147483903)
MEDIUM_AQUAMARINE = Color(_value=1724754687)
MEDIUM_BLUE = Color(_value=52735)
MEDIUM_ORCHID = Color(_value=3126187007)
MEDIUM_PURPLE = Color(_value=2473647103)
MEDIUM_SEA_GREEN = Color(_value=1018393087)
MEDIUM_SLATE_BLUE = Color(_value=2070474495)
MEDIUM_SPRING_GREEN = Color(_value=16423679)
MEDIUM_TURQUOISE = Color(_value=1221709055)
MEDIUM_VIOLET_RED = Color(_value=3340076543)
MIDNIGHT_BLUE = Color(_value=421097727)
MINT_CREAM = Color(_value=4127193855)
MISTY_ROSE = Color(_value=4293190143)
MOCCASIN = Color(_value=4293178879)
NAVAJO_WHITE = Color(_value=4292783615)
NAVY = Color(_value=33023)
OLD_LACE = Color(_value=4260751103)
OLIVE = Color(_value=2155872511)
OLIVE_DRAB = Color(_value=1804477439)
ORANGE = Color(_value=4289003775)
ORANGE_RED = Color(_value=4282712319)
ORCHID = Color(_value=3664828159)
PALE_GOLDENROD = Color(_value=4008225535)
PALE_GREEN = Color(_value=2566625535)
PALE_TURQUOISE = Color(_value=2951671551)
PALE_VIOLET_RED = Color(_value=3681588223)
PAPAYA_WHIP = Color(_value=4293907967)
PEACH_PUFF = Color(_value=4292524543)
PERU = Color(_value=3448061951)
PINK = Color(_value=4290825215)
PLUM = Color(_value=3718307327)
POWDER_BLUE = Color(_value=2967529215)
PURPLE = Color(_value=2147516671)
RED = Color(_value=4278190335)
ROSY_BROWN = Color(_value=3163525119)
ROYAL_BLUE = Color(_value=1097458175)
SADDLE_BROWN = Color(_value=2336560127)
SALMON = Color(_value=4202722047)
SANDY_BROWN = Color(_value=4104413439)
SEA_GREEN = Color(_value=780883967)
SEA_SHELL = Color(_value=4294307583)
SIENNA = Color(_value=2689740287)
SILVER = Color(_value=3233857791)
SKY_BLUE = Color(_value=2278484991)
SLATE_BLUE = Color(_value=1784335871)
SLATE_GRAY = Color(_value=1887473919)
SNOW = Color(_value=4294638335)
SPRING_GREEN = Color(_value=16744447)
STEEL_BLUE = Color(_value=1182971135)
TAN = Color(_value=3535047935)
TEAL = Color(_value=8421631)
THISTLE = Color(_value=3636451583)
TOMATO = Color(_value=4284696575)
TRANSPARENT = Color(_value=4294967040)
TURQUOISE = Color(_value=1088475391)
VIOLET = Color(_value=4001558271)
WHEAT = Color(_value=4125012991)
WHITE = Color(_value=4294967295)
WHITE_SMOKE = Color(_value=4126537215)
YELLOW = Color(_value=4294902015)
YELLOW_GREEN = Color(_value=2597139199)

bot_api.graphics.graphics_abc module

class GraphicsABC[source]

Bases: ABC

Interface for a graphics context that provides methods for drawing graphics primitives.

abstractmethod draw_line(x1: float, y1: float, x2: float, y2: float) None[source]

Draws a line from point (x1, y1) to point (x2, y2).

Parameters:
  • x1 – The x coordinate of the first point.

  • y1 – The y coordinate of the first point.

  • x2 – The x coordinate of the second point.

  • y2 – The y coordinate of the second point.

abstractmethod draw_rectangle(x: float, y: float, width: float, height: float) None[source]

Draws the outline of a rectangle.

Parameters:
  • x – The x coordinate of the upper-left corner of the rectangle.

  • y – The y coordinate of the upper-left corner of the rectangle.

  • width – The width of the rectangle.

  • height – The height of the rectangle.

abstractmethod fill_rectangle(x: float, y: float, width: float, height: float) None[source]

Fills a rectangle with the current fill color.

Parameters:
  • x – The x coordinate of the upper-left corner of the rectangle.

  • y – The y coordinate of the upper-left corner of the rectangle.

  • width – The width of the rectangle.

  • height – The height of the rectangle.

abstractmethod draw_circle(x: float, y: float, radius: float) None[source]

Draws the outline of a circle.

Parameters:
  • x – The x coordinate of the center of the circle.

  • y – The y coordinate of the center of the circle.

  • radius – The radius of the circle.

abstractmethod fill_circle(x: float, y: float, radius: float) None[source]

Fills a circle with the current fill color.

Parameters:
  • x – The x coordinate of the center of the circle.

  • y – The y coordinate of the center of the circle.

  • radius – The radius of the circle.

abstractmethod draw_polygon(points: List[Point]) None[source]

Draws the outline of a polygon defined by a list of points.

Parameters:

points – List of points defining the polygon.

abstractmethod fill_polygon(points: List[Point]) None[source]

Fills a polygon defined by a list of points with the current fill color.

Parameters:

points – List of points defining the polygon.

abstractmethod draw_text(text: str, x: float, y: float) None[source]

Draws text at the specified position.

Parameters:
  • text – The text to draw.

  • x – The x coordinate where to draw the text.

  • y – The y coordinate where to draw the text.

abstractmethod set_stroke_color(color: Color) None[source]

Sets the color used for drawing outlines.

Parameters:

color – The color to use for drawing outlines.

abstractmethod set_fill_color(color: Color) None[source]

Sets the color used for filling shapes.

Parameters:

color – The color to use for filling shapes.

abstractmethod set_stroke_width(width: float) None[source]

Sets the width of the stroke used for drawing outlines.

Parameters:

width – The width of the stroke.

abstractmethod set_font(font_family: str, font_size: float) None[source]

Sets the font used for drawing text.

Parameters:
  • font_family – The font family name.

  • font_size – The font size.

abstractmethod to_svg() str[source]

Generates the SVG representation of all drawing operations.

Returns:

A string containing the SVG representation.

abstractmethod clear() None[source]

Clears all drawing operations.

bot_api.graphics.point module

class Point(x: float, y: float)[source]

Bases: object

Represents an ordered pair of x and y coordinates that define a point in a two-dimensional plane.

x: float
y: float

bot_api.graphics.svg_graphics module

class SvgGraphicsABC[source]

Bases: GraphicsABC

Implementation of a graphics context that generates SVG markup.

This mirrors the Java SvgGraphics implementation and is intended to produce equivalent SVG output for the same drawing operations.

__init__() None[source]

Initializes a new SVG graphics context with default state.

draw_line(x1: float, y1: float, x2: float, y2: float) None[source]

Draws a line from point (x1, y1) to point (x2, y2).

Parameters:
  • x1 – The x coordinate of the first point.

  • y1 – The y coordinate of the first point.

  • x2 – The x coordinate of the second point.

  • y2 – The y coordinate of the second point.

draw_rectangle(x: float, y: float, width: float, height: float) None[source]

Draws the outline of a rectangle.

Parameters:
  • x – The x coordinate of the upper-left corner of the rectangle.

  • y – The y coordinate of the upper-left corner of the rectangle.

  • width – The width of the rectangle.

  • height – The height of the rectangle.

fill_rectangle(x: float, y: float, width: float, height: float) None[source]

Fills a rectangle with the current fill color.

Parameters:
  • x – The x coordinate of the upper-left corner of the rectangle.

  • y – The y coordinate of the upper-left corner of the rectangle.

  • width – The width of the rectangle.

  • height – The height of the rectangle.

draw_circle(x: float, y: float, radius: float) None[source]

Draws the outline of a circle.

Parameters:
  • x – The x coordinate of the center of the circle.

  • y – The y coordinate of the center of the circle.

  • radius – The radius of the circle.

fill_circle(x: float, y: float, radius: float) None[source]

Fills a circle with the current fill color.

Parameters:
  • x – The x coordinate of the center of the circle.

  • y – The y coordinate of the center of the circle.

  • radius – The radius of the circle.

draw_polygon(points: List[Point]) None[source]

Draws the outline of a polygon defined by a list of points.

Parameters:

points – List of points defining the polygon.

fill_polygon(points: List[Point]) None[source]

Fills a polygon defined by a list of points with the current fill color.

Parameters:

points – List of points defining the polygon.

draw_text(text: str, x: float, y: float) None[source]

Draws text at the specified position.

Parameters:
  • text – The text to draw.

  • x – The x coordinate where to draw the text.

  • y – The y coordinate where to draw the text.

set_stroke_color(color: Color) None[source]

Sets the color used for drawing outlines.

Parameters:

color – The color to use for drawing outlines.

set_fill_color(color: Color) None[source]

Sets the color used for filling shapes.

Parameters:

color – The color to use for filling shapes.

set_stroke_width(width: float) None[source]

Sets the width of the stroke used for drawing outlines.

Parameters:

width – The width of the stroke.

set_font(font_family: str, font_size: float) None[source]

Sets the font used for drawing text.

Parameters:
  • font_family – The font family name.

  • font_size – The font size.

to_svg() str[source]

Generates the SVG representation of all drawing operations.

Returns:

A string containing the SVG representation.

clear() None[source]

Clears all drawing operations.

Module contents