| | purge persistent reading cache (see section 14.2.5 Persistent Reading Cache)
make_worms() (see section 10.1 Worms):
build_worms() finds and identifies the worms
compute effective size of each worm
unconditional_life()
find_worm_attacks_and_defenses():
for each attackable worm:
set worm.attack
add_attack_move()
find_attack_patterns() to find a few more attacks
for each defensible worm
set worm.defend
add_defense_move
if point of attack is not adjacent to worm see if it defends
find_defense_patterns() to find a few more defenses
for each attackable worm try each liberty
if it attacks add_attack_move
if it defends add_defense_move
find kos.
for each worm
find higher order liberties
find cutting points (worm.cutstone)
for each worm compute the genus (see section 10.1 Worms)
small_semeai()
try to improve values of worm.attack and worm.defend
try to repair situations where adjacent worms can be
both attacked and defended
find worm lunches
find worm threats
compute_initial_influence() (see section 16. Influence Function)
compute_influence()
find_influence_patterns()
at each intersection accumulate_influence()
segment_influence()
make_dragons() (see section 10.7 Dragons)
initialize dragon data
find the inessential worms
make_domains()
initialize eye data
compute_primary_domains()
fill out arrays black_eye and white_eye
describing eyeshapes
find_cuts()
for every eyespace
originate_eye()
count_neighbors()
find_connections()
amalgamate dragons sharing an eyespace
initialize_supplementary_dragon_data()
find adjacent worms which can be captured (dragon lunches)
find topological half eyes and false eyes
modify_eye_spaces()
for each eye space
compute_eyes()
store the results in black_eye, white_eye arrays
compute the genus of each dragon
for each dragon
compute_escape()
resegment_initial_influence()
for each dragon
influence_get_moyo_size()
for each dragon
compute_dragon_status()
find_neighbor_dragons()
purge_persistent_owl_cache()
for each dragon which seems surrounded
try owl_attack() and owl_defend()
if appropriate find owl threats
for each dragon
set dragon.matcher_status
for each dragon
set dragon2.safety
semeai()
revise opinion of which worms are inessential
count non-dead dragons of each color
owl_reasons() (see section 15.1 The Owl Code)
compute_initial_influence() again (see section 16. Influence Function)
|