room

Classes that represent the rooms in the skool and their furniture.

class room.Blackboard(screen, top_left, size, chalk, clean_image)

A blackboard in a classroom.

Parameters:
  • screen (Screen) – The screen.
  • top_left – The coordinates of the top-left of the blackboard.
  • size – The size (width, height) of the blackboard.
  • chalk – The chalk colour to use when writing on the blackboard.
  • clean_image (pygame.Surface) – An image of the blackboard when clean.
beside(character)

Return whether a character is standing beside the blackboard.

Parameter:character (Character) – The character to check.
clear()
Wipe this blackboard and mark it as clean.
get_image()
Return a 3-tuple containing the x- and y-coordinates of the top-left tile of the blackboard, and an image of the blackboard.
is_dirty()
Return whether anything is written on the blackboard.
newline()
Start a new line on the blackboard.
shows(text, in_order=True)

Return whether the blackboard displays all the characters in a given piece of text.

Parameters:
  • text – The text to look for.
  • in_order – If True, return True only if the order of the characters written on the board matches too.
wipe(column, clear)

Wipe a column of the blackboard clean.

Parameters:
  • column – The column to wipe clean.
  • clearTrue if the blackboard will be clean after wiping this column, False otherwise.
write(char)

Write a character on the blackboard.

Parameter:char – The character to write.
class room.Chair(room, x)

A seat in a classroom.

Parameters:
  • room (Room) – The room the chair is in.
  • x – The x-coordinate of the chair.
seat(character)

Mark the chair as being occupied by a character.

Parameter:character (Character) – The character sitting in the chair.
vacate()
Mark this chair as vacant.
class room.Desk(room, x)

A desk (that can be opened) in a classroom.

Parameters:
  • room (Room) – The room the desk is in.
  • x – The x-coordinate of the desk.
empty()
Mark the desk as empty.
insert(item)

Insert an inventory item (water pistol or stinkbombs) into the desk.

Parameter:item – The ID of the item to insert.
class room.NoGoZone(zone_id, min_x, max_x, bottom_y, top_y)

A region of the skool in which Eric is never allowed to be.

Parameters:
  • zone_id – The zone’s unique ID.
  • min_x – The x-coordinate of the left edge of the zone.
  • max_x – The x-coordinate of the right edge of the zone.
  • bottom_y – The y-coordinate of the bottom edge of the zone.
  • top_y – The y-coordinate of the top edge of the zone.
contains(x, y)

Return whether a given location is inside the zone.

Parameters:
  • x – The x-coordinate of the location.
  • y – The y-coordinate of the location.
class room.Room(room_id, name, top_left, bottom_right, get_along)

A classroom or some other region of the skool that Eric is expected to show up in when the timetable demands it.

Parameters:
  • room_id – The unique ID of the room.
  • name – The name of the room (as it should appear in the lesson box).
  • top_left – The coordinates of the top-left corner of the room.
  • bottom_right – The coordinates of the bottom-right corner of the room.
  • get_along – If True, Eric will be told to get along if he’s found in this room when the timetable doesn’t say he should be in it.
add_blackboard(screen, top_left, size, chalk, clean_image)

Add a blackboard to the room.

Parameters:
  • screen (Screen) – The screen.
  • top_left – The coordinates of the top-left of the blackboard.
  • size – The size (width, height) of the blackboard.
  • chalk – The chalk colour to use when writing on the blackboard.
  • clean_image – An image of the blackboard when clean.
add_chair(x)

Add a chair to the room.

Parameter:x – The x-coordinate of the chair.
add_desk(x)

Add a desk (that can be opened) to the room.

Parameter:x – The x-coordinate of the desk.
beside_blackboard(character)

Return whether a character is standing beside the blackboard in this room.

Parameter:character (Character) – The character to check.
blackboard_dirty()
Return True if the room has a blackboard and it is dirty, False otherwise.
chair(character, check_dir=True)

Return the chair in this room that a character is next to, or None if the character is not next to a chair.

Parameters:
  • character (Character) – The character to check.
  • check_dir – If True, return a chair only if the character is beside one and facing the right way to sit in it; otherwise disregard the direction in which the character is facing.
contains(character)

Return whether a character is in this room.

Parameter:character (Character) – The character to check.
desk(character)

Return the desk in this room that a character is sitting at, or None if the character is not sitting at a desk.

Parameter:character (Character) – The character to check.
get_blackboard_image()
Return a 3-tuple containing the x- and y-coordinates of the top-left tile of the blackboard, and an image of the blackboard. If there is no blackboard in the room, return None.
get_blackboard_writer()
Return the character who wrote on the blackboard in this room, or None if either the room has no blackboard, or the blackboard is clean.
get_chair_direction()

Return the direction in which the chairs in this room are facing.

Returns:-1 if the chairs are facing left, 1 if they are facing right, or None if there are no chairs in the room.
get_next_chair(character, move_along, go_to_back)

Return the chair that a character should find and sit in.

Parameters:
  • character (Character) – The character looking for a chair.
  • move_along – If True (and go_to_back is False), return the next seat along if the character is currently beside one; otherwise return the seat closest to the character.
  • go_to_back – If True, return the back seat in the room.
Returns:

A 2-tuple containing the target chair and the direction it faces (-1 or 1).

has_blackboard()
Return whether the room has a blackboard.
wipe_blackboard()
Mark the blackboard in the room (if any) as clean.

Previous topic

plant

Next topic

scoreboard