@@ -1594,6 +1594,25 @@ def set_depth_limit(self):
1594
1594
logging .exception ('Failed to get user depth.' )
1595
1595
1596
1596
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
1597
1616
1598
1617
def play_game (self , window , engine_id_name , board ):
1599
1618
"""
@@ -1633,31 +1652,8 @@ def play_game(self, window, engine_id_name, board):
1633
1652
is_hide_search_info = True
1634
1653
1635
1654
# 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' )
1661
1657
1662
1658
# Game loop
1663
1659
while not board .is_game_over (claim_draw = True ):
0 commit comments