---
title: "Bear-Fish Simulation"
format: revealjs
---

```{mermaid}
classDiagram
    class World{
        max_x: int
        max_y: int
        thing_list: List[thing]
        grid: List[List[thing]]
        screen: TurtleScreen
        pen: Turtle
        add_thing()
        del_thing()
        move_thing()
        live_one_step()
        get_neighbor_locations(x, y)
        count_items_of_kind(kind)
    }
    class Bear{
        world
        x
        y
        starve_tick
        breed_tick
        move(new_x, new_y)
        live_one_step()
        try_to_eat()
        try_to_breed()
        try_to_move()
    }
    class Fish{
        world
        x
        y
        breed_tick
        move(new_x, new_y)
        live_one_step()
        try_to_breed()
        try_to_move()
    }

```