@@ -1594,6 +1594,25 @@ def set_depth_limit(self):
15941594 logging .exception ('Failed to get user depth.' )
15951595
15961596 self .max_depth = min (MAX_DEPTH , max (MIN_DEPTH , user_depth ))
1597+
1598+ def define_timer (self , window , name = 'human' ):
1599+ """
1600+ Returns Timer object for either human or engine.
1601+ """
1602+ if name == 'human' :
1603+ timer = Timer (self .human_tc_type , self .human_base_time_ms ,
1604+ self .human_inc_time_ms , self .human_period_moves )
1605+ else :
1606+ timer = Timer (self .engine_tc_type , self .engine_base_time_ms ,
1607+ self .engine_inc_time_ms , self .engine_period_moves )
1608+
1609+ elapse_str = self .get_time_h_mm_ss (timer .base )
1610+ is_white_base = self .is_user_white and name == 'human' or \
1611+ not self .is_user_white and name != 'human'
1612+ window .Element ('w_base_time_k' if is_white_base else 'b_base_time_k' ).Update (
1613+ elapse_str )
1614+
1615+ return timer
15971616
15981617 def play_game (self , window , engine_id_name , board ):
15991618 """
@@ -1633,31 +1652,8 @@ def play_game(self, window, engine_id_name, board):
16331652 is_hide_search_info = True
16341653
16351654 # Init timer
1636- if self .is_user_white :
1637- human_timer = Timer (self .human_tc_type , self .human_base_time_ms ,
1638- self .human_inc_time_ms , self .human_period_moves )
1639- elapse_str = self .get_time_h_mm_ss (human_timer .base )
1640- window .Element ('w_base_time_k' ).Update (elapse_str )
1641-
1642- engine_timer = Timer (self .engine_tc_type ,
1643- self .engine_base_time_ms ,
1644- self .engine_inc_time_ms ,
1645- self .engine_period_moves )
1646- elapse_str = self .get_time_h_mm_ss (engine_timer .base )
1647- window .Element ('b_base_time_k' ).Update (elapse_str )
1648- else :
1649- engine_timer = Timer (self .engine_tc_type ,
1650- self .engine_base_time_ms ,
1651- self .engine_inc_time_ms ,
1652- self .engine_period_moves )
1653- elapse_str = self .get_time_h_mm_ss (engine_timer .base )
1654- window .Element ('w_base_time_k' ).Update (elapse_str )
1655-
1656- human_timer = Timer (self .human_tc_type , self .human_base_time_ms ,
1657- self .human_inc_time_ms ,
1658- self .human_period_moves )
1659- elapse_str = self .get_time_h_mm_ss (human_timer .base )
1660- window .Element ('b_base_time_k' ).Update (elapse_str )
1655+ human_timer = self .define_timer (window )
1656+ engine_timer = self .define_timer (window , 'engine' )
16611657
16621658 # Game loop
16631659 while not board .is_game_over (claim_draw = True ):
0 commit comments