AlkantarClanX12
Current Path : /usr/lib64/python2.7/Demo/curses/ |
Current File : //usr/lib64/python2.7/Demo/curses/life.pyc |
� Afc @ 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]<