1. Rules
1.1. impassable cells
1.1.1. zombies
1.1.2. humans
1.1.3. FULL
1.2. passable cells
1.2.1. habitable
1.2.1.1. zombies
1.2.1.2. humans
1.2.2. EMPTY
1.2.3. several humans & zombies can inhabit @ same time
1.3. each step
1.3.1. either
1.3.1.1. update zombies
1.3.1.2. update humans
2. Testing
3. Classes
3.1. Grid
3.1.1. methods
3.1.1.1. __init__
3.1.1.1.1. (grid_height, grid_width)
3.1.1.2. __str__
3.1.1.3. get_grid_height
3.1.1.3.1. INT
3.1.1.4. get_grid_width
3.1.1.4.1. INT
3.1.1.5. clear
3.1.1.6. set_empty
3.1.1.6.1. (row, col)
3.1.1.7. set_full
3.1.1.7.1. (row, col)
3.1.1.8. is_empty
3.1.1.8.1. (row, col)
3.1.1.9. four_neighbors
3.1.1.9.1. (row, col)
3.1.1.10. eight_neighbors
3.1.1.10.1. (row, col)
3.1.1.11. get_index
3.1.1.11.1. (poinit, cell_size)
3.1.2. properties
3.1.2.1. _grid_height
3.1.2.2. _grid_width
3.1.2.3. _cells
3.1.3. constants
3.1.3.1. FULL
3.1.3.1.1. TRUE
3.1.3.2. EMPTY
3.1.3.2.1. FALSE
3.2. Apocolypse
3.2.1. properties
3.2.1.1. optional
3.2.1.1.1. zombie_list
3.2.1.1.2. human_list
3.2.1.1.3. obstacle_list
3.2.2. methods
3.2.2.1. clear
3.2.2.2. add_zombie
3.2.2.2.1. (row, col)
3.2.2.3. num_zombies
3.2.2.3.1. INT
3.2.2.4. zombies
3.2.2.5. add_human
3.2.2.5.1. (row, col)
3.2.2.6. num_humans
3.2.2.6.1. INT
3.2.2.7. humans
3.2.2.8. compute_distance_field
3.2.2.8.1. (entity_type)