| 
				Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /lib64/python2.7/Demo/curses/  | 
Upload File :  | 
�
��Sec           @   s�   d  d l  Z  d  d l Z d  d l Z d  d l Z d d	 d �  �  YZ d �  Z d �  Z d �  Z d �  Z e	 d k r� e j
 e � n  d S(
   i����Nt	   LifeBoardc           B   sP   e  Z d  Z e d � d � Z d �  Z d �  Z d �  Z e d � Z	 d �  Z
 RS(   s�  Encapsulates a Life board
    Attributes:
    X,Y : horizontal and vertical size of the board
    state : dictionary mapping (x,y) to 0 or 1
    Methods:
    display(update_board) -- If update_board is true, compute the
                             next generation.  Then display the state
                             of the board and refresh the screen.
    erase() -- clear the entire board
    makeRandom() -- fill the board randomly
    set(y,x) -- set the given cell to Live; doesn't refresh the screen
    toggle(y,x) -- change the given cell from live to dead, or vice
                   versa, and refresh the screen display
    t   *c         C   s
  i  |  _  | |  _ |  j j �  \ } } | d | d d |  _ |  _ | |  _ |  j j �  d |  j d d } |  j j d d | � |  j j |  j d d | � xU t d |  j � D]A } |  j j d | d d � |  j j d | |  j d d � q� W|  j j	 �  d S(   s�   Create a new LifeBoard instance.
        scr -- curses screen object to use for display
        char -- character used to render live cells (default: '*')
        i   i   t   +t   -i    t   |N(
   t   statet   scrt   getmaxyxt   Xt   Yt   chart   cleart   addstrt   ranget   refresh(   t   selfR   R
   R	   R   t   border_linet   y(    (    s(   /usr/lib64/python2.7/Demo/curses/life.pyt   __init__)   s    			
%c         C   sc   | d k  s6 |  j  | k s6 | d k  s6 |  j | k rL t d | | f � n  d |  j | | f <d S(   s   Set a cell to the live statei    s   Coordinates out of range %i,%ii   N(   R   R	   t
   ValueErrorR   (   R   R   t   x(    (    s(   /usr/lib64/python2.7/Demo/curses/life.pyt   set?   s    6c         C   s�   | d k  s6 |  j  | k s6 | d k  s6 |  j | k rL t d | | f � n  |  j j | | f � r� |  j | | f =|  j j | d | d d � n4 d |  j | | f <|  j j | d | d |  j � |  j j �  d S(   s+   Toggle a cell's state between live and deadi    s   Coordinates out of range %i,%ii   t    N(	   R   R	   R   R   t   has_keyR   t   addchR
   R   (   R   R   R   (    (    s(   /usr/lib64/python2.7/Demo/curses/life.pyt   toggleE   s    6!!c         C   s   i  |  _  |  j d t � d S(   s3   Clear the entire board and update the board displayt   update_boardN(   R   t   displayt   False(   R   (    (    s(   /usr/lib64/python2.7/Demo/curses/life.pyt   eraseQ   s    	c         C   sw  |  j  |  j } } | s� x� t d | � D]z } xq t d | � D]` } |  j j | | f � r� |  j j | d | d |  j � q? |  j j | d | d d � q? Wq) W|  j j �  d Si  } d |  _	 x�t d | � D]�} t t
 d | d � t | | d � � } xPt d | � D]?} d } |  j j | | f � }	 xg t t
 d | d � t | | d � � D]<